每天laravel-20160803| Container -6

   /**
    * Add a contextual binding to the container.
    *
    * @param  string  $concrete
    * @param  string  $abstract
    * @param  \Closure|string  $implementation
    * @return void
    */
   public function addContextualBinding($concrete, $abstract, $implementation)
   {
       $this->contextual[$this->normalize($concrete)][$this->normalize($abstract)] = $this->normalize($implementation);
   }// Add a contextual binding to the container.
// a Two dimensional array used to save the implementation value.

   /**
    * Register a binding if it hasn‘t already been registered.
    *
    * @param  string  $abstract
    * @param  \Closure|string|null  $concrete
    * @param  bool  $shared
    * @return void
    */
   public function bindIf($abstract, $concrete = null, $shared = false)
   {
       if (! $this->bound($abstract)) {// this->bound
           $this->bind($abstract, $concrete, $shared);// bind the parameter
       }
   }// check binding , if not has binding it.

   /**
    * Register a shared binding in the container.
    *
    * @param  string|array  $abstract
    * @param  \Closure|string|null  $concrete
    * @return void
    */
   public function singleton($abstract, $concrete = null)
   {
       $this->bind($abstract, $concrete, true);// bind the parameter
   }// Register a shared binding in the container.
时间: 2024-10-08 09:57:46

每天laravel-20160803| Container -6的相关文章

laravel容器container 阅读记录

今天抽时间又仔细看了一下laravel的container,记录一下. 所谓容器,听名字就知道,是一个仓库,装东西用的,所以,container所有的功能,都围绕一个主题:管理装. 类名称:Illuminate\Container\Container 首先,生成一个数组绑定列表,用自定义名称作为主键,然后键值是闭包(输入的可能是闭包或者实体类,但是,在存储的时候,都统一转化成了闭包存储). 其次,根据绑定列表,生成对应的类的实例,供用户使用,调用的时候,发现如果已经生成,不需要重新生成使用,实际

[转载]Laravel Container (容器) 深入理解 (下)

本文大部分翻译自 DAVE JAMES MILLER 的 <Laravel's Dependency Injection Container in Depth> . 上文介绍了 Dependency Injection Containers (容器) 的基本概念,现在接着深入讲解 Laravel 的 Container. Laravel 中实现的 Inversion of Control (IoC) / Dependency Injection (DI) Container 非常强悍,但文档中

From Apprentice To Artisan 翻译 03

The IoC Container 控制反转容器 Basic Binding 基础绑定 Now that we've learned about dependency injection, let's explore inversion of control containers. IoC containers make managing your class dependencies much more convenient, and Laravel ships with a very pow

From Apprentice To Artisan 翻译 04

Reflect Resolution 反射解决方案 One of the most powerful features of the Laravel container is its ability to automatically resolve dependencies via reflection. Reflection is the ability to inspect a classes and methods. For example, the PHP ReflectionClass

Laravel5.1 启动详解

借鉴:http://www.cnblogs.com/wish123/p/4756669.html Laravel所有请求的入口文件是:/public/index.php,代码如下 <?php /* |-------------------------------------------------------------------------- | Register The Auto Loader |-----------------------------------------------

Laravel5.1学习笔记8 Blade模板

简介 模板继承 定义一个页面布局模板 扩展一个页面布局模板 展示数据 控制语法的结构 Service Injection 扩展 Blade   简介 Blade 是 Laravel 提供的一个既简单又强大的模板引擎.和其他流行的 PHP 模板引擎不一样,Blade 并不限制你在视图(view)中使用原生 PHP 代码.所有 Blade 视图页面都将被编译成原生 PHP 代码并缓存起来,除非你的模板文件被修改了,否则不会重新编译,这就意味着 Blade 基本上不会给你的应用增加任何额外负担.Bla

Laravel Container分析

在分析Laravel流程具体细节之前我们先来了解一下它的Container容器,容器的作用简单的说就是用来存储对象(类名称或者实例),包括提供一些生成对象实例的方法. 我们查看Illuminate\Container\Container,发现里面有很多数组类型的属性,这些属性就是用来存储对象的. 此文未完,由于我也是刚刚开始接触Laravel,所以待后续分析遇到了于Container有关的内容时再来补成

Laravel源码学习之Container

Ioc模式 Ioc(Inversion of Control)模式又称依赖注入(Dependency Injection)模式.控制反转就是将组件之间的依赖关系从程序的内部转移到程序外部,而依赖注入是指组件的依赖关系通过外部参数或其他形式注入,两种说法从本质上是一样的. 下面是一个简单的依赖注入实例: <?php interface Visit { public function go(); } class Leg implements Visit { public function go()

Laravel 5系列教程六:表单 Forms

免费视频教程地址https://laravist.com/series/laravel-5-basic 在开始之前,我们把界面先美化一点点先: 首先到https://github.com/JellyBool/blog-css-js得到静态文件,然后分别修改下面三个文件: 1. app.blade.php 2. articles/index.blade.php 3. articles/show.blade.php 下面的视图代码的修改部分,如果你偷懒,你可以使用ctrl+c大法. 在app.bla

Laravel 5 系列教程三:视图变量传递和Blade

免费视频教程地址https://laravist.com/series/laravel-5-basic 上一篇我们简单地说了Router,Views和Controllers的工作流程,这一次我就按照上一篇的计划,来说说下面几个内容: 向视图中传递变量 Blade模板的用法 向视图中传递变量 我们在开发web应用当中,通常都不是为了写静态页面而生的,我们需要跟数据打交道,那么这个时候,问题就来了,在一个MVC的框架中,怎么将数据传给视图呢?比如我们要在 ArticleController 的 in