TypePHP 编译器
https://swoole.com/aot/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
1.4 KiB
93 lines
1.4 KiB
--TEST--
|
|
Universal method call on native typed variables
|
|
--FILE--
|
|
<?php
|
|
use native_types;
|
|
|
|
function main()
|
|
{
|
|
// Int methods
|
|
$a = 100;
|
|
$a->add(50);
|
|
var_dump($a);
|
|
|
|
$a->sub(30);
|
|
var_dump($a);
|
|
|
|
$a->mul(2);
|
|
var_dump($a);
|
|
|
|
$a->div(4);
|
|
var_dump($a);
|
|
|
|
$b = $a->add(10);
|
|
var_dump($b);
|
|
var_dump($a);
|
|
|
|
// Int conversion
|
|
var_dump($a->toString());
|
|
var_dump($a->toFloat());
|
|
|
|
// String methods
|
|
$s = "hello world";
|
|
var_dump($s->length());
|
|
var_dump($s->upper());
|
|
var_dump($s->substr(0, 5));
|
|
$words = $s->split(" ");
|
|
var_dump($words->count());
|
|
|
|
// Array methods
|
|
$arr = [];
|
|
$arr->push(100);
|
|
$arr->push(200);
|
|
$arr->push(300);
|
|
var_dump($arr->count());
|
|
var_dump($arr->get(0));
|
|
var_dump($arr->get(1));
|
|
var_dump($arr->keyExists(0));
|
|
var_dump($arr->isEmpty());
|
|
var_dump($arr->isList());
|
|
|
|
// Array pop
|
|
$last = $arr->pop();
|
|
var_dump($last);
|
|
var_dump($arr->count());
|
|
|
|
// Array clean
|
|
$arr->clean();
|
|
var_dump($arr->isEmpty());
|
|
|
|
// Float methods
|
|
$f = 3.14;
|
|
$f->add(1.0);
|
|
var_dump($f);
|
|
var_dump($f->toInt());
|
|
|
|
echo "done\n";
|
|
}
|
|
?>
|
|
--EXPECT--
|
|
int(100)
|
|
int(100)
|
|
int(100)
|
|
int(100)
|
|
int(110)
|
|
int(100)
|
|
string(3) "100"
|
|
float(100)
|
|
int(11)
|
|
string(11) "HELLO WORLD"
|
|
string(5) "hello"
|
|
int(2)
|
|
int(3)
|
|
int(100)
|
|
int(200)
|
|
bool(true)
|
|
bool(false)
|
|
bool(true)
|
|
int(300)
|
|
int(2)
|
|
bool(true)
|
|
float(3.14)
|
|
int(3)
|
|
done
|
|
|