搜索

首页  >  问答  >  正文

在PHP7怎样在声明变量时赋值而不报错

这是全局变量:

<?php

use Symfony\Component\HttpFoundation\Response;

class Controller
{
    private $Response = new Response();
    // Other code...
}

这样写会报错:
PHP Fatal Error: Constant expression contains invalid operations
分开写也不行,应该怎样写才对?

伊谢尔伦伊谢尔伦2774 天前495

全部回复(2)我来回复

  • 大家讲道理

    大家讲道理2017-04-11 09:18:31

    属性声明是由关键字 public,protected 或者 private 开头,然后跟一个普通的变量声明来组成。属性中的变量可以初始化,但是初始化的值必须是常数,这里的常数是指 PHP 脚本在编译阶段时就可以得到其值,而不依赖于运行时的信息才能求值。

    use Symfony\Component\HttpFoundation\Response;
    
    class Controller
    {
        private $Response;
        public function __construct(){
            $this->Response = new Response();
        
        }
    }
    

    回复
    0
  • PHP中文网

    PHP中文网2017-04-11 09:18:31

    题主对PHP语法掌握得不是很熟练,类(对象)的属性是不能用非常量来初始化的!非常量是指变量,或函数返回值等

    回复
    0
  • 取消回复