访问依赖注入的类变量

时间:2014-03-05 19:02:14

标签: php laravel laravel-4

我目前正在我的控制器中注入我的雄辩模型,如下所示:

class ComputerController extends BaseController {

    public function __construct(User $user, Machine $machine, MachineType $machineType){
        $this->user = $user;
        $this->machine = $machine;
        $this->machineType = $machineType;
}

所以我可以快速访问模型:

$this->machine->get();

但是如何访问属性,例如存储在类中的验证规则?

我以前用过

Machine::$rules;

但是使用这种方法

$this->machine->$rules

不起作用。有没有办法检索存储在eloquent模型中的规则数组?

这是我的班级的一个例子:

class Machine extends Eloquent {

protected $table = 'machines';
public $timestamps = true;
protected $softDelete = true;

public static $rules = array(
    'computer_name' => 'required|min:2',
    'computer_user' => 'required',
    'computer_ip'   => 'ip'
);

非常感谢!

编辑::根据安东尼奥试试这个,只是为了测试,但仍无济于事,我跑的时候会出错。   enter image description here

错误:   enter image description here

1 个答案:

答案 0 :(得分:0)

对于静态变量,这应该可以正常工作:

$this->machine::$rules

编辑:

不知何故以这种方式使用对象它不起作用,但这是一个解决方法:

$machine = $this->machine;
dd($machine::$rules);