search

Home  >  Q&A  >  body text

oop - PHP有段写法不懂意思,求指教

今天看laravel框架代码一个类中有一段代码

public function isLocal()
{
    return $this['env'] == 'local';
}

从来没见过这样的写法$this['env']这样有什么作用?

ringa_leeringa_lee2818 days ago374

reply all(3)I'll reply

  • 阿神

    阿神2017-04-10 15:07:41

    Application类继承了Container 类 Container类实现了ArrayAccess,
    所以Container的实例是支持数组式访问的: $object['key'];
    数组式访问在Container里的实现:https://github.com/laravel/framework/blob/4.2/src/Illuminate/Container/Container.php#L814行到末尾
    PHP的数组式访问接口:http://php.net/manual/zh/class.arrayaccess.php

    @安正超 为你解答 => http://wenda.golaravel.com/question/5

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 15:07:41

    是不是有一个名为__get的方法譬如:

    public function __get($key) {
        return $this->var[$key];
    }
    

    reply
    0
  • PHPz

    PHPz2017-04-10 15:07:41

    这是PHP类集合的实现 具体看demo http://blog.sina.com.cn/s/blog_7550abf30101ajda.html

    reply
    0
  • Cancelreply