zoukankan      html  css  js  c++  java
  • laravel 服务提供者

    每一个框架都集成了无数人的精华,在现实中我们所使用工具的最优方式就是了解他的原理,只有了解了原理之后才能得心应手。下面简述下自己的看法仅代表个人看法

    laravel框架是我在实际工作中使用的比较频繁的,而且现在的tp5.0个人认为其实就是laravel的复制版,laravel启动分为以下几步,一、创建服务容器实例,二、请求发送至内核(Http/Console),启动内核在启动内核时加载服务提供者

    一、laravel采用的是单一的入口模式,所有的应用请求都是通过public/index.php文件,index.php文件载入了composer生成的自动加载机制,并以此进行依赖管理,所以laravel的请求通过public/index.php入口文件触发到composer的加载机制,然后从 bootstrap/app.php 脚本获取 Laravel 应用实例,由此完成第一个动作创建服务容器的实例,由此取得实例$app

    二、启动内核的重要动作之一就是加载服务提供者,所有的服务提供者都被配置在了config/app.php的providers的大数组中,在这里我们同样的可以配置自定义的类或者第三方的类库,以服务提供者的方式进行加载,(这一步我的理解是声明服务提供者的关系,也就是说该提供者是谁,在什么位置),当我们想以此方式为自己的项目带来便利的时候,就涉及到创建服务提供者

    创建服务提供者,默认的服务提供者存放在app/providers文件价下,服务提供者可以自己命名但是该注意的命名空间、类关系等应当检查是否存在问题,在服务提供者这中涉及两个方法分别是register和boot方法具体含义可参考官方文档,而register(则是将服务提供者注册到服务容器),由此个人理解的顺序为,框架由入口文件index.php出发composer自动加载机制,然后从bootstrap/app.php获取laravel服务容器的实例,然后内核启动加载服务提供者。

    以下是我自己编写的服务提供者

    在config/app.php->providers数组中进行声明如下

  • 相关阅读:
    Xen虚拟机的创建和启动
    Linux Shell编程基础
    虚拟化的概念
    Android XML解析
    Android数据存储之文件存储
    Android GPRS开关软件(APN开关)
    数据中心
    debian下dos2unix的安装
    linux Shell重定向
    GPRS开关软件一些问题的解决方法
  • 原文地址:https://www.cnblogs.com/mzli/p/10383218.html
Copyright © 2011-2022 走看看