THINKPHP5.1依赖注入学习

依赖注入允许向类中的方法传递对象

其实依赖注入就是类型约束,可以参考官网文档,被写在方法参数中的类会被自动实例化,这就是依赖注入

公用类Temp

<?php
namespace app\common;
class Temp
{
    // 公用属性,可以在URL中访问,protected和private不可以在外部访问
    public $name;
    // 构造方法,调用类时自动运行
    public function __construct($name = '默认名称')
    {
        $this->name = $name;
    }
    public function set($name)
    {
        $this->name = $name;
    }
    public function get()
    {
        return '当前方法为:'.__METHOD__.'当前属性为:'.$this->name;
    }
}

 在Demo类中使用依赖注入,为当前方法传入一个自动实例化的类,实例化后赋值给$temp变量

<?php
namespace app\demo\controller;
class Demo
{
    // 使用了依赖注入,给setName方法注入了一个对象,同时这个对象中需要传入一个name属性
    public function setName(\app\common\Temp $temp,$name)
    {
        // 这里的\app\common\Temp $temp相当于$temp = \app\common\Temp;
        $temp->set($name);
        return $temp->get();
    }
    public function getInfo(\app\common\Temp $temp)
    {
        return $temp->get();
    }
    public function getName(\app\common\Temp $temp)
    {
        return $temp->name;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值