parent
bdea6f77cc
commit
f8100988c4
11 changed files with 201 additions and 34 deletions
@ -0,0 +1,23 @@ |
||||
<?php |
||||
|
||||
namespace PhpAot\Php; |
||||
|
||||
class ClassLikeDef |
||||
{ |
||||
public string $name; |
||||
public string $namespace = ''; |
||||
|
||||
public function __construct(string $name, string $namespace = '') |
||||
{ |
||||
$this->name = $name; |
||||
$this->namespace = $namespace; |
||||
} |
||||
|
||||
public function getNamespacedName(): string |
||||
{ |
||||
if ($this->namespace === '') { |
||||
return $this->name; |
||||
} |
||||
return str_replace('\\', '_', $this->namespace . '_' . $this->name); |
||||
} |
||||
} |
||||
@ -0,0 +1,7 @@ |
||||
<?php |
||||
|
||||
namespace PhpAot\Php; |
||||
|
||||
class InterfaceDef extends ClassLikeDef |
||||
{ |
||||
} |
||||
@ -0,0 +1,19 @@ |
||||
--TEST-- |
||||
for statement |
||||
--FILE-- |
||||
<?php |
||||
function main() |
||||
{ |
||||
$i = 100; |
||||
$arr = []; |
||||
for($i = 0; $i < 100; $i++) { |
||||
$arr[] = $i; |
||||
} |
||||
var_dump(count($arr)); |
||||
echo $arr[49]; |
||||
echo "\n"; |
||||
} |
||||
?> |
||||
--EXPECT-- |
||||
int(100) |
||||
49 |
||||
@ -0,0 +1,19 @@ |
||||
--TEST-- |
||||
foreach statement |
||||
--FILE-- |
||||
<?php |
||||
function main() |
||||
{ |
||||
$v = 199; |
||||
$arr = range(0, 99); |
||||
$c = 0; |
||||
foreach ($arr as $v) { |
||||
$c += $v; |
||||
} |
||||
var_dump($c); |
||||
var_dump($v); |
||||
} |
||||
?> |
||||
--EXPECT-- |
||||
int(4950) |
||||
int(199) |
||||
@ -0,0 +1,58 @@ |
||||
--TEST-- |
||||
Classes inheritance test |
||||
--FILE-- |
||||
<?php |
||||
|
||||
/* Inheritance test. Pretty nifty if I do say so myself! */ |
||||
|
||||
class foo { |
||||
public $a; |
||||
public $b; |
||||
function display() { |
||||
echo "This is class foo\n"; |
||||
echo "a = ".$this->a."\n"; |
||||
echo "b = ".$this->b."\n"; |
||||
} |
||||
function mul() { |
||||
return $this->a*$this->b; |
||||
} |
||||
}; |
||||
|
||||
class bar extends foo { |
||||
public $c; |
||||
function display() { /* alternative display function for class bar */ |
||||
echo "This is class bar\n"; |
||||
echo "a = ".$this->a."\n"; |
||||
echo "b = ".$this->b."\n"; |
||||
echo "c = ".$this->c."\n"; |
||||
} |
||||
}; |
||||
|
||||
function main() { |
||||
$foo1 = new foo; |
||||
$foo1->a = 2; |
||||
$foo1->b = 5; |
||||
$foo1->display(); |
||||
echo $foo1->mul()."\n"; |
||||
|
||||
echo "-----\n"; |
||||
|
||||
$bar1 = new bar; |
||||
$bar1->a = 4; |
||||
$bar1->b = 3; |
||||
$bar1->c = 12; |
||||
$bar1->display(); |
||||
echo $bar1->mul()."\n"; |
||||
} |
||||
?> |
||||
--EXPECT-- |
||||
This is class foo |
||||
a = 2 |
||||
b = 5 |
||||
10 |
||||
----- |
||||
This is class bar |
||||
a = 4 |
||||
b = 3 |
||||
c = 12 |
||||
12 |
||||
Loading…
Reference in new issue