Laravel学习之

来源:互联网 发布:家庭网络布线多少米 编辑:程序博客网 时间:2024/06/06 01:43

目录

  • 目录
    • 入口文件
    • appphp
    • 服务提供者

laravel的文件目录如下图。

其中public文件夹下的index.php 是我们项目的入口文件,我们就从这个文件开始研究。

入口文件

index.php里面的代码并不多。

composer自动加载需要的类:
require __DIR__.'/../bootstrap/autoload.php';

这里引入了bootstrap文件夹下的app.php:
$app = require_once __DIR__.'/../bootstrap/app.php';

app.php

我们继续看app.php

$app = new Illuminate\Foundation\Application(    realpath(__DIR__.'/../'));

这里实例化了一个Application类,从官方手册我们知道这是laravel的一个应用实例,我们找到这个类的构造函数:

public function __construct($basePath = null)    {        $this->registerBaseBindings();        $this->registerBaseServiceProviders();        $this->registerCoreContainerAliases();        if ($basePath) {            $this->setBasePath($basePath);        }    }

Application通过构造函数注册了基础绑定,服务提供者等。

服务提供者负责启动框架的所有各种各样的组件,比如数据库、队列、验证器,以及路由组件等,正是因为他们启动并配置了框架提供的所有特性,服务提供者是整个 Laravel 启动过程中最重要的部分。

服务提供者

服务提供者是启动 Laravel 应用中最关键的部分,应用实例被创建后,服务提供者被注册,请求被交给启动后的应用进行处理,整个过程就是这么简单!

对 Laravel 应用如何通过服务提供者构建和启动有一个牢固的掌握非常有价值,当然,应用默认的服务提供者存放在 app/Providers 目录下。

默认情况下,AppServiceProvider 是空的,这里是添加自定义启动和服务容器绑定的最佳位置,当然,对大型应用,你可能希望创建多个服务提供者,每一个都有着更加细粒度的启动。

原创粉丝点击