- 在 CompilerBase.php 中添加对类常量数组类型的判断和处理逻辑 - 在 extension.cc.php 模板中增加类数组常量的声明、初始化和清理代码生成 - 修改 Translator.php 中的类常量解析逻辑以支持类型推断 - 添加对未明确声明类型的类常量进行自动类型检测 - 为类数组常量生成对应的外部变量声明 - 移除不再需要的字面字符串数组外部声明pull/1/head
parent
26682179d4
commit
f2647ccbba
4 changed files with 101 additions and 5 deletions
@ -0,0 +1,38 @@ |
|||||||
|
--TEST-- |
||||||
|
class const 001 |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
class Worker |
||||||
|
{ |
||||||
|
public const FOO = [ |
||||||
|
'php', |
||||||
|
'java', |
||||||
|
'c++', |
||||||
|
'golang', |
||||||
|
]; |
||||||
|
public const BAR = "string constant"; |
||||||
|
public const BAZ = 123; |
||||||
|
} |
||||||
|
|
||||||
|
function main() |
||||||
|
{ |
||||||
|
var_dump(Worker::FOO); |
||||||
|
var_dump(Worker::FOO[2]); |
||||||
|
var_dump(WOrker::BAR); |
||||||
|
var_dump(Worker::BAZ); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
array(4) { |
||||||
|
[0]=> |
||||||
|
string(3) "php" |
||||||
|
[1]=> |
||||||
|
string(4) "java" |
||||||
|
[2]=> |
||||||
|
string(3) "c++" |
||||||
|
[3]=> |
||||||
|
string(6) "golang" |
||||||
|
} |
||||||
|
string(3) "c++" |
||||||
|
string(15) "string constant" |
||||||
|
int(123) |
||||||
Loading…
Reference in new issue