当前位置: 首页 > news >正文

旅游建设网站目的及功能定位wordpress 申请

旅游建设网站目的及功能定位,wordpress 申请,企业展厅设计专业的公司,丰都网站建设报价本节课我们来学习一下依赖注入的用法,以及容器的用法。 一.依赖注入 1. 手册对依赖注入比较严谨的说明,具体如下: 依赖注入其实本质上是指对类的依赖通过构造器完成自动注入,例如在控制器架构方法和操作 方法中一旦对参…
本节课我们来学习一下依赖注入的用法,以及容器的用法。
一.依赖注入
1. 手册对依赖注入比较严谨的说明,具体如下:
依赖注入其实本质上是指对类的依赖通过构造器完成自动注入,例如在控制器架构方法和操作
方法中一旦对参数进行对象类型约束则会自动触发依赖注入,由于访问控制器的参数都来自于 URL
请求,普通变量就是通过参数绑定自动获取,对象变量则是通过依赖注入生成。
2. 先看一个小例子,了解一下依赖注入的写法,创建一个模型;
namespace app\model;
use think\Model;
class One extends Model
{
public $username = 'Mr.Lee';
}

3. 创建一个控制器 Inject,通过依赖注入将模型 One 对象引入其内;
namespace app\controller;
use app\model\One;
class Inject
{
protected $one;
public function __construct(One $one)
{
$this->one = $one;
}
public function index()
{
return $this->one->username;
}
}

4. 依赖注入:即允许通过类的方法传递对象的能力,并且限制了对象的类型(约束)
5. 而传递的对象背后的那个类被自动绑定并且实例化了,这就是依赖注入;
二.容器
1. 依赖注入的类统一由容器管理的,大多数情况下是自动绑定和自动实例化的;
2. 如果想手动来完成绑定和实例化,可以使用 bind()app()助手函数来实现;
class Inject
{
public function bind()
{
bind('one', 'app\model\One');
return app('one')->username;
}
}

6. bind('one','...')绑定类库标识,这个标识具有唯一性,以便快速调用;
7. app('one')快速调用,并自动实例化对象,标识严格保持一致包括大小写;
8. 自动实例化对象的方式,是采用单例模式实现,如果想重新实例化一个对象,则:
//每次调用总是会重新实例化
$one = app('one',[], true);
return $one->name;

9. app('one',[])中第二参数,方法实例化对象的时候,传递参数;
bind('one', 'app\model\One');
$one = app('one', [['file']], true);
return $one->username;

10. 当然,你也可以直接通过 app()绑定一个类到容器中并自动实例化;
return app('app\model\One')->username;

11. 使用 bind([])可以实现批量绑定,只不过系统有专门提供批量绑定的文件;
bind([
'one'
=>
'app\model\One',
'user'
=>
'app\model\User'
]);
return app('one')->username;
bind([
'one'
=>
\app\model\One::class,
'user'
=>
\app\model\User::class
]);
return app('user')->username;

12. ::class 模式,不需要单引号,而且需要在最前面加上\,之前的加不加都行;
13. 系统提供了 provider.php 文件,用于批量绑定类到容器中,这里不加不报错;
return [
'one'
=>
app\model\One::class,
//这里加不加\都正常
'user'
=>
app\model\User::class
];

14. 系统内置了很多常用的类库,以便开发者快速调用,具体如下:
15. 也就是说,实现同一个效果可以由容器的 bind()app()实现,也可以使用依赖
注入实现,还有 Facade(下节课重点探讨)实现,以及助手函数实现;
http://www.yayakq.cn/news/666818/

相关文章:

  • 虚拟主机可以建设网站吗网站建设与运营未来发展
  • 网站建设佰金手指科杰二七徐州网站建设网络推广
  • 知名个人网站晋城龙采网站建设
  • 辽宁省建设工程质量监督总站网站黄金网站软件app大全下载
  • 网站开发语言查询 蔡学镛网站建设代码下载大全
  • 如何设计网站logo了解宿迁建设网站
  • 想做一个自己的网站 怎么做专业的免费网站建设
  • 深圳 福田网站建设深圳建站费用
  • 永泰建设工程网站html5做网站
  • 四川省住建厅官方网站比较有名的建筑公司
  • 肇庆做网站网站建设app
  • 东莞h5网站制作长沙门户网站建设
  • 色弱可以做网站开发吗网站关键词做标签
  • 平凉热度网站建设南宁seo收费
  • 网站建设关键词布局菏泽网站建设价位
  • 怎么建设国外免费网站余姚网站建设62752762
  • 家居企业网站建设资讯培训前端网站开发
  • 哪个网站做二微码山西物价局建设工程检测网站首页
  • 帝国网站后台认证码错误什么网站可以做字体效果
  • 网站开发用了哪些知识要点百度推广登录平台官网
  • 做本地网站要服务器吗建设银行企业年金
  • 织梦网站数据库备份文件夹克旗网站制作5229998
  • 做关键词优化需要修改网站标题怎么看待网站开发
  • 织梦网站如何备份教程wordpress 建站 搜索
  • 网站建设要咨询哪些百度推广官网网站
  • 西安网站开发工程师网站的做代理商
  • 义乌企业网站设计彩票网站做代理
  • dz做网站网站进度条
  • 网站开发的软件支持网站免费seo
  • 网站优化种类ui设计规范包括哪些内容