PHP OOP:对象属性的值可以是函数吗?

基督教

我的问题很简单:在PHP OOP我想要的值对象属性由函数返回具体来说:我希望将字符串与gettext一起翻译。但是似乎属性的值必须是字符串,数字或数组,而不是函数。

  1. 为什么?
  2. 我是否需要一种解决方案来转换价值?

我的代码与此类似:

<?php
class Bar extends Foo {
  public $baz = array('lorem' => __('ipsum'));

  // other code
?>
耶罗恩

如果您查看有关的手册properties,则会看到:

该声明可以包括一个初始化,但是此初始化必须是一个常量值-也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估。

因此,在声明属性时不能使用函数。

但是,可以在其他位置设置该值,因此在您的情况下,可以在构造函数中进行设置:

<?php
class Bar extends Foo {
  public $baz;

  function __construct()
  {
     $this->baz = array('lorem' => __('ipsum'));
  }

  // other code
?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章