当前位置: 首页 > 面试题库 >

将数组定义为类的属性时出现语法错误

诸葛令
2023-03-14
问题内容
...

public $aSettings = array(
  'BindHost' => "127.0.0.1",
  'Port' => 9123,
  'MaxFileSize' => (5 * (1024 * 1024)), // unexpected "(" here
  'UploadedURL' => "http://localhost",
  'UploadPath' => dirname(__FILE__) . "/upload",
  'UploadMap' => dirname(__FILE__) . "/uploads.object",
  'RegisterMode' => false
);

...

这是我的代码,直接来自一个类。我的问题是第"unexpected ( on line 22"22行在MaxFileSize

我看不到问题,这是Zend Engine的限制吗?还是我瞎了。


问题答案:

在5.6之前的PHP版本中初始化类属性时,不能使用 非常量值
这些是在编译时初始化的,在编译时PHP将不进行任何计算或执行任何代码。(5 * (1024 * 1024))是需要评估的表达式,您不能在那里进行评估。可以将其替换为常数,5242880也可以在中进行计算__construct

2014年推出的PHP 5.6 允许“常量标量表达式”,其中标量常量或类属性可以通过类定义中的求值表达式而不是构造函数进行初始化。



 类似资料:
  • 当通过mysqli使用php连接数据库时,页面底部显示错误 我在此附上代码 错误来了 注意:未定义的属性:mysqli::$connection\u C:\xampp\htdocs\work\Cs\Admin Panel\dbConnect\u考试中出现错误。php第9行 请帮忙!!!!

  • 我使用Spring Data Neo4j 4 GraphRepository来保存和检索数据。使用GraphRepository保存()和findAll()方法。 当我将现有实体属性更新为null时,所做的更改似乎不会反映在返回的数据中。 如果将属性更新为任何其他非空值,则更改将正确反映。 我可以看到null属性更新是在DB服务器上执行的。但是findAll()方法不反映更改并保留旧值。 这是已知

  • 问题内容: 我正在用babel和webpack编写React应用程序。一直到我尝试在类上添加属性之前,它一直运行得很好-特别是尝试使用React- Toolbox(http://react-toolbox.com/#/components/dropdown)中的Dropdown 并暂时数据连接后,我直接复制了此内容: 这是我的稍作修改的版本: 添加对象后,在webpack:中,在“ state =

  • 我的代码: 错误: 未处理PromisejectionWarning:TypeError:无法读取未定义的未处理PromisejectionWarning:未处理的promise拒绝的属性“forEach”。此错误源于在没有catch块的情况下抛出异步函数的内部,或者拒绝使用未处理的promise。catch()。(拒绝id:1)(节点:7188)[DEP0018]弃用警告:未处理的promise

  • 问题内容: 我已经根据numpy文档创建了numpy ndarray的子​​类。特别是,我通过修改提供的代码添加了自定义属性。 我正在使用Python在并行循环中处理此类的实例。据我了解,将范围本质上“复制”到多个线程的方法是使用。 我现在要面对的问题与numpy数组的腌制方式有关。我找不到关于此的任何综合文档,但是莳萝开发人员之间的一些讨论建议我应该专注于该方法,该方法在腌制时被调用。 谁能进一

  • 我正在尝试使用Spring Boot 1.5.9在Spring数据存储库中实现自定义方法。释放我创建了存储库: 提供了自定义存储库: 以及实施: 此外,我还提供了一个调用: 只是由spring初始值设定项生成的普通xml: 在Spring Boot 1.5.9上运行项目时。RELEASE我在容器创建时遇到了一个问题: 将Spring Boot版本更改为2.1.9。发布效果很好,给了我预期的结果。