zoukankan      html  css  js  c++  java
  • laravel5.5入口文件分析

    入口文件 public/index.php

    1、加载composer的自动加载器

    require __DIR__.'/../vendor/autoload.php';
    

    自动加载,不用再各种require了,更重要的是可以使用composer管理包,管理依赖,可以参考下composer的使用。

    2、bootstrap/app.php 得到laravel应用程序实例

    $app = require_once __DIR__.'/../bootstrap/app.php';
    

    bootstrap/app.php文件很简单,实例化并注册一些服务

    //创建app实例,一切都是由此容器而起,包括服务提供者等等
    $app = new IlluminateFoundationApplication(
        realpath(__DIR__.'/../')
    );
    
    //注册HTTP内核,web端的请求处理,查看下apphttpKernal父类
    $app->singleton(
        IlluminateContractsHttpKernel::class,
        AppHttpKernel::class
    );
    
    //注册控制台内核,cli的请求处理
    $app->singleton(
        IlluminateContractsConsoleKernel::class,
        AppConsoleKernel::class
    );
    
    //错误处理
    $app->singleton(
        IlluminateContractsDebugExceptionHandler::class,
        AppExceptionsHandler::class
    );
    
    
    return $app;
    

    3、HTTP/控制器内核

    //上面注册过此服务,这里调用
    $kernel = $app->make(IlluminateContractsHttpKernel::class);
    
    //服务提供者的handle方法
    $response = $kernel->handle(
        $request = IlluminateHttpRequest::capture()
    );
    
    $response->send();
    
    $kernel->terminate($request, $response);
    
  • 相关阅读:
    调用微信扫一扫接口
    Http错误代码解释
    php goto的用法
    Yii2.0-生成二维码实例
    飞鹅WiFi打印机配置,php调用接口
    HTML5 为什么只需要写 <!DOCTYPE HTML>?
    VueJs之 v-bind
    react 组件导出
    前端代码规范
    git与github的文件推送
  • 原文地址:https://www.cnblogs.com/redirect/p/8435756.html
Copyright © 2011-2022 走看看