doq13207 2014-09-10 15:59
浏览 27
已采纳

在Laravel 4中访问作为依赖对象的对象

I need help figuring something out please. This is with Laravel 4.2 and it is from a blog and there is no way to contact the author or make comments..

http://vegibit.com/what-is-the-ioc-container-in-laravel/

Can someone give me an example of how to access the dependent objects in his example using object literal notation.

$myCar = App::make('Car');

So I would like to access the tread property of the Bridgestone object.

echo $myCar->Tire->Bridgestone()->tread; 

This isn't working but this illustrates what I'm trying to do. I'm trying to print "Performance"

Thank you....

  • 写回答

1条回答 默认 最新

  • droe9376 2014-09-10 16:18
    关注

    The variables are protected, so try adding public functions that return the injected objects:

    class Car {
        protected $tire;
        protected $engine;
        public function __construct(Tire $tire, Engine $engine) {
            $this->tire = $tire;
            $this->engine = $engine;
        }
    
        public function tire()
        {
            return $this->tire;
        }
    }
    
    class Tire {
        protected $bridgestone;
        public function __construct(Bridgestone $bridgestone) {
            $this->bridgestone = $bridgestone;
        }
    
        public function bridgestone()
        {
            return $this->bridgestone;
        }
    }
    

    Your call for the tread would then be:

    echo $car->tire()->bridgestone()->tread;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?