- 在 Translator 类中新增 ignoreExtensions 属性用于存储忽略的扩展 - 修改构造函数逻辑,将 main 函数从内部函数列表中移除 - 更新属性初始化代码,修复命名空间获取方式 - 在项目配置解析中添加对 ext-* 格式扩展的识别和忽略处理 - 添加测试用例验证对象构造器数组属性默认值功能 - 添加引用操作相关测试用例 - 新增项目配置文件示例pull/1/head
parent
84b9340998
commit
ee3dbc9717
5 changed files with 105 additions and 1 deletions
@ -0,0 +1,9 @@ |
|||||||
|
name: test |
||||||
|
type: ext |
||||||
|
version: 0.0.1 |
||||||
|
ignore: |
||||||
|
- ext-redis |
||||||
|
- ext-POD_MYSQL |
||||||
|
sources: |
||||||
|
- call.php |
||||||
|
- main.php |
||||||
@ -0,0 +1,52 @@ |
|||||||
|
--TEST-- |
||||||
|
default array property |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
|
||||||
|
namespace App{ |
||||||
|
class Test { |
||||||
|
public const string TYPE_BOOL = 'php::Bool'; |
||||||
|
public const string TYPE_INT = 'php::Int'; |
||||||
|
public const string TYPE_FLOAT = 'php::Float'; |
||||||
|
|
||||||
|
protected array $array1 = [ |
||||||
|
'int' => self::TYPE_INT, |
||||||
|
'float' => self::TYPE_FLOAT, |
||||||
|
'bool' => self::TYPE_BOOL, |
||||||
|
]; |
||||||
|
|
||||||
|
protected $array2; |
||||||
|
|
||||||
|
function __construct() { |
||||||
|
$this->array2 = ['php', 'java',]; |
||||||
|
} |
||||||
|
|
||||||
|
function bar() { |
||||||
|
var_dump($this->array1); |
||||||
|
var_dump($this->array2); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
namespace { |
||||||
|
function main() { |
||||||
|
$obj = new App\Test; |
||||||
|
$obj->bar(); |
||||||
|
} |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
array(3) { |
||||||
|
["int"]=> |
||||||
|
string(8) "php::Int" |
||||||
|
["float"]=> |
||||||
|
string(10) "php::Float" |
||||||
|
["bool"]=> |
||||||
|
string(9) "php::Bool" |
||||||
|
} |
||||||
|
array(2) { |
||||||
|
[0]=> |
||||||
|
string(3) "php" |
||||||
|
[1]=> |
||||||
|
string(4) "java" |
||||||
|
} |
||||||
@ -0,0 +1,35 @@ |
|||||||
|
--TEST-- |
||||||
|
class const 001 |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
class WorkerA |
||||||
|
{ |
||||||
|
public function foo(): array { |
||||||
|
$list = [377, 64, 688, 2]; |
||||||
|
$ref = &$list; |
||||||
|
$this->sort($ref); |
||||||
|
return $list; |
||||||
|
} |
||||||
|
|
||||||
|
public function sort(array &$list) { |
||||||
|
sort($list); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function main() |
||||||
|
{ |
||||||
|
$o = new WorkerA; |
||||||
|
var_dump($o->foo()); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
array(4) { |
||||||
|
[0]=> |
||||||
|
int(2) |
||||||
|
[1]=> |
||||||
|
int(64) |
||||||
|
[2]=> |
||||||
|
int(377) |
||||||
|
[3]=> |
||||||
|
int(688) |
||||||
|
} |
||||||
Loading…
Reference in new issue