laravel服务容器

\public\index.php

 1 <?php
 2 define(‘LARAVEL_START‘, microtime(true));
 3 //注册自动加载文件
 4 require __DIR__.‘/../vendor/autoload.php‘;
 5 /**
 6  * 服务容器的生成
 7  * 主要实现了服务容器的实例化和基本注册
 8  *包括服务容器本身的注册,基础服务提供者注册,核心类别名注册和基本路径注册
 9  *
10 */
11 $app = require_once __DIR__.‘/../bootstrap/app.php‘;
12 $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
13 //处理请求
14 $response = $kernel->handle(
15     //请求实例的创建
16     $request = Illuminate\Http\Request::capture()
17 );
18 //发送http响应头和内容
19 $response->send();
20
21 //程序的终止
22 $kernel->terminate($request, $response);
//用来实现服务容器的实例化过程
$app = new Illuminate\Foundation\Application(
    realpath(__DIR__.‘/../‘)
);

//下面代码向服务容器中绑定核心类服务,并返回核心类服务
$app->singleton(
    Illuminate\Contracts\Http\Kernel::class,
    App\Http\Kernel::class
);
$app->singleton(
    Illuminate\Contracts\Console\Kernel::class,
    App\Console\Kernel::class
);
$app->singleton(
    Illuminate\Contracts\Debug\ExceptionHandler::class,
    App\Exceptions\Handler::class
);

return $app;

  

原文地址:https://www.cnblogs.com/sunlong88/p/9366774.html

时间: 2024-11-29 07:04:02

laravel服务容器的相关文章

Laravel 服务容器 IoC(控制反转) 和 DI(依赖注入)

Laravel 服务容器 IoC(控制反转) 和 DI(依赖注入) IoC 容器, laravel 的核心 Laravel 的核心就是一个 IoC 容器,根据文档,称其为“服务容器”,顾名思义,该容器提供了整个框架中需要的一系列服务.作为初学者,很多人会在这一个概念上犯难,因此,我打算从一些基础的内容开始讲解,通过理解面向对象开发中依赖的产生和解决方法,来逐渐揭开“依赖注入”的面纱,逐渐理解这一神奇的设计理念. 本文一大半内容都是通过举例来让读者去理解什么是 IoC(控制反转) 和 DI(依赖注

laravel 服务容器实现原理

前言 通过实现laravel 框架功能,以便深入理解laravel框架的先进思想. 什么是服务容器 服务容器是用来管理类依赖与运行依赖注入的工具.Laravel框架中就是使用服务容器来实现 ** 控制反转 ** 和 ** 依赖注入 **. 什么是控制反转(IoC)和依赖注入(DI) 控制反转(IoC) 就是说把创建对象的** 控制权 进行转移,以前创建对象的主动权和创建时机是由自己把控的,而现在这种权力转移到第三方,也就是 Laravel ** 中的容器. 依赖注入(DI)则是帮助容器实现在运行

laravel 服务容器的由来 代码展示

1 <?php 2 /** 3 * 目的:代码的完善来说明从 基础类的调用到 工厂类的使用 再到容器的出现的原因 4 * (首先要明白工厂类和容器的关系 可以理解:容器就是工厂类的升级版(为了解决类的依赖)) 5 * 如果不明白工厂类的往下看看,对比一下这几个例子,相信你就明白了. 6 * 下面举个例子: 7 * 简单模拟一个超人 8 * 1.一个超人 具备超人的能力(就是超人技能:如飞行 射击 扔炸弹 暴力攻击等能力) 9 * 2.从面向对象设计:首先分析应该分为超人类(Superman) 和

laravel 服务容器的用法

建立一个服务 <?php namespace App\Services; class FooService { public function __construct(){ } public function doSomething(){ echo "some"; } } 绑定服务 $this->app->bind('\App\Services\FooService'); 在控制器里调用$fooService = app()->make('\App\Servic

laravel 学习笔记 —— 神奇的服务容器

转载自:https://www.insp.top/learn-laravel-container 容器,字面上理解就是装东西的东西.常见的变量.对象属性等都可以算是容器.一个容器能够装什么,全部取决于你对该容器的定义.当然,有这样一种容器,它存放的不是文本.数值,而是对象.对象的描述(类.接口)或者是提供对象的回调,通过这种容器,我们得以实现许多高级的功能,其中最常提到的,就是 “解耦” .“依赖注入(DI)”.本文就从这里开始. IoC 容器, laravel 的核心 Laravel 的核心就

laravel框架总结(四) -- 服务容器

1.依赖 我们定义两个类:class Supperman 和 class Power,现在我们要使用Supperman ,而Supperman 依赖了Power class Supperman { private $power; public function __construct(){ $this->power = new Power; } } 一旦Power发生了变化,Supperman 不得不修改,这种就叫耦合程度太高,所以面临的问题是解耦,就需要用到控制反转. 2.依赖注入 只要不是由

Laravel服务/服务提供者/容器/契约和门面

1.服务是什么? 服务是提供了一些功能的类,比如发送邮件,写日志. 2.Laravel服务提供者是什么? 服务提供者中指明了这个提供者可以提供哪些服务(注册服务),以及服务注册后默认调用一些方法(boot). 3.能否不用服务提供者,直接调用服务? 可以,依靠Laravel的依赖注入,你可以方便的调用任何一个服务,而不用服务提供者. 4.既然3成立,那么服务提供者有什么存在的必要? a.利用服务提供者的boot方法,可以做一些全局性的设置,如在boot中对view的composerb.服务提供者

laravel框架容器管理的一些要点

本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. 1. laravel容器基本认识 laravel框架是有一个容器框架,框架应用程序的实例就是一个超大的容器,这个实例在bootstrap/app.php内进行初始化: 这个文件在每一次请求到达laravel框架都会执行,所创建的$app即是laravel框架的应用程序实例,它在整个请求生命周期都是唯

[php]laravel框架容器管理的一些要点

本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. 1. laravel容器基本认识 laravel框架是有一个容器框架,框架应用程序的实例就是一个超大的容器,这个实例在bootstrap/app.php内进行初始化: 这个文件在每一次请求到达laravel框架都会执行,所创建的$app即是laravel框架的应用程序实例,它在整个请求生命周期都是唯