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