doq13207 2014-09-10 23: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-11 00: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;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误