dslh32311 2015-11-10 02:42
浏览 36
已采纳

在我的类中使用全局变量导致意外的语法

I have a class that requires a variable that is defined out of the scope of it. So i tried using global but, this causes this error:

syntax error, unexpected 'global' (T_GLOBAL), expecting function (T_FUNCTION)

I am unsure if I have put it in the wrong place or using the global keyword incorrectly.

My code looks like this:

$data = new testClass();

class System
{
    private $values;
    global $data;

    public function __construct()
    {

    }
    public function test()
    {           
        return $data->get();
    }
}
$system = new System();
echo $system->test();

So i was wondering how do I get the $data variable to be defined in my class? My use of global seems to be incorrect, I also put the global declaration in the __contrust() function but that didn't work either.

  • 写回答

3条回答 默认 最新

  • dongpao1921 2015-11-10 02:46
    关注

    Define the global variable within the function instead of the class:

    public function test()
    {           
        global $data;
        return $data->get();
    }
    

    EDIT: Alternate idea:

    class System
        {
            private $values;
            private $thedata;
    
        public function __construct($data)
        {
            $this->thedata = $data;
        }
        public function test()
        {           
            return $this->thedata->get();
        }
    }
    
    $data = new testClass();
    $system = new System($data);
    echo $system->test();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)