美文网首页
composer项目自身的自动加载

composer项目自身的自动加载

作者: 半打真心 | 来源:发表于2019-03-18 18:57 被阅读0次
140周年

入门阅读

    如果你没有使用composer的习惯,那么你可能还没有走进开发者道路的正轨,至于理由在这里不说太多了。一般开发者的成长道路我分为这样两个层次:写业务/写接口->写服务、架构。

    当我们需要为一个项目架构时,如果你走在正确的道路上你一定会遇到自动加载的问题。如果说项目中的业务代码是项目的肉体,自动加载就是连接肉体的血管。composer就是解决这个问题的专家,而你也不必手动去写自动加载的代码,而且composer解决的问题远不止于此。由于composer的重要性,主流的php框架已原生支持composer的使用,你是不是也该熟悉熟悉它。

    架构项目时我们遇到的自动加载问题分为两类,一个是加载第三方插件库、一个是加载项目自身项目依赖。在这里我已经默认你已经有使用命名空间的习惯、并百度了psr-4的含义。而这篇文章描述的就是如何使用composer解决项目自身的依赖加载问题。

action

    百度一个composer安装包,按照相关博文的介绍安装好全局的composer。安装好之后在项目根目录下创建composer.json文件。

    然后打开cmd,进入项目目录下执行composer update命令,接着你可以注意一下你的项目结构中发生的一点变化。接下来就是这篇文章主要想说的地方,对“autoload”属性的配置。

    如上所示,“autoload”包括“classmap”、"files"、"psr-4",当然还有“psr-0”已经被废弃不用管了。这三个属性实际上的功能是一样的都是根据传入的数值加载对应的文件,当时是要适应不同的场景来使用不同的属性配置加载。这是本文的重点。

    psr-4方式:

    在你百度了解psr-4的概念后,填入如下配置

    这里表示将加载Src目录下的所有符合psr-4规范的php文件,在这里通俗的理解就是除了Src这个目录跟顶级命名规范App的名称不同外,该目录下级所有类名、命名空间、目录名都是一致的。这里的配置就是为了倡导使用psr-4规范的项目架构,如果我们都遵循这个规范我们就不必使用classmap属性了。

    files方式:

    有时候我们需要直接加载某个php文件,这段代码可能写着全局使用的函数,一般来说我们叫助手函数。这样的文件我们配置在files属性里就可以实现自动加载。

    classmap方式

    这种方式说白了就是不用管是否符合psr规范的情况下加载指定目录下所有php函数的类。具体的细节待测试。

    再执行composer dump-autoload

    根据以上三种方式我们就能解决各种架构的的自动加载问题,同时也理解了composer自动加载的正确使用方式,我们也就离架构师更进一步了。

相关文章

  • composer项目自身的自动加载

    入门阅读 如果你没有使用composer的习惯,那么你可能还没有走进开发者道路的正轨,至于理由在这里不说太多了...

  • composer

    composer composer命令 包的版本号 composer自动加载composer提供了以下几种自动加载...

  • 【Composer】自动加载 autoload

    PHP类库的自动加载主要是由composer来实现的。 项目安装composer之后(composer insta...

  • PHP Composer详解

    PHP composer php composer的作用 composer是如何实现类的自动加载 composer...

  • Laravel5.4 启动探索

    index.php 入口文件 自动加载初窥 自动加载最主要代码(来自vendor/composer目录下的自动加载...

  • laravel生命周期

    简介 一、Composer 自动加载项目依赖 二、创建应用实例 创建容器 绑定内核 HTTP 内核类 Consol...

  • composer 自动加载原理分析

    composer install 或 update 生成一个 vender 目录,结构如下 使用自动加载 自动加载...

  • Composer 自动加载配置

    在 composer.json 中加入以下内容 解析: 表示自动加载项目根目录/core 目录下的 functio...

  • composer 的常用命令

    更新composer self-update 自动加载文件composer dump-autoload 使用阿里云...

  • composer自动加载

    理解自动加载函数的原理 在实例话一个类时,如有全局的自动加载函数,则会将类的命名空间及类名传入到加载函数,然后由加...

网友评论

      本文标题:composer项目自身的自动加载

      本文链接:https://www.haomeiwen.com/subject/qkpbmqtx.html