• 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);
    
  • 相关阅读:
    Git 简介
    Web开发——jQuery基础
    VueJS教程4
    VueJS教程3
    VueJS教程2
    linux命令,系统安全相关命令--改变文件属性与权限(chgrp,chwon,chmod)
    linux命令,系统安全相关命令--su
    linux命令,系统安全相关命令--passwd
    git常用命令整理
    vi常用按键
  • 原文地址:https://www.cnblogs.com/redirect/p/8435756.html
Copyright © 2020-2023  润新知