zoukankan      html  css  js  c++  java
  • 如何用composer来构建自己的MVC项目

    如何使用composer来构建项目

         概述

         Composer是PHP的一个依赖管理工具,不是一个包管理器。它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西

         因此,这仅仅是一个依赖管理

         

         这篇文章的目的是用来记录:如何使用composer,逐步构建自己的PHP项目。

         1、cd 项目目录,创建composer.json

          有两种方式:可以在自己的项目下创建composer.json,以便定义项目的依赖包。也可以通过composer init交互式的创建composer.json。

          说明:如果使用composer init,接下来就会自动提示填写项目相关信息,当然每一项都有默认值,不填的话也可以,一路回车即可

          最后在项目目录下面会自动生成一个composer.json文件

          

          下面是我使用composer init,一路回车,最后自动生成的composer.json中的内容:

          

          2、执行命令:composer install

         composer install : 从当前目录读取 composer.json 文件,处理依赖关系,并把依赖安装到 vendor 目录下。

          

          此时,项目下面,会生成一个vendor文件夹以及composer.lock文件

          

          说明:composer.lock这个文件主要是解决在协同开发中组件及其依赖的版本记录,防止不同人使用的组件及依赖版本不同。

          我们看下composer目录中的内容:

          

       

    3、构建新的项目

         接着我们手动创建几个目录,如下图

         

         然后我们再创建两个文件,分别是app/Helpers/functions.php、utils/log.php。

         现在有一个问题:app是我们本地自定义的目录,functions.php、log.php这两个文件也是我们自定义的,这些目录和文件并不是在vendor中,那就说明还没用到composer的自动加载。

         有没有办法,让这些自定义的目录或者文件也通过composer自动加载进去呢?答案是肯定有的!

         

         按照上面的配置,在composer.json中增加autoload相应的配置

         然后,执行命令 composer dump_autoload

         

         看到上面的显示,就表示成功了。凑是这么简单!可能有盆友表示,我这都还没看明白了,就能自动加载进去啦?

         下一篇文章,我们尝试着对composer源码进行分析,来看看 composer 是如何实现 PSR4标准的自动加载功能。

     

  • 相关阅读:
    Subsequence
    【模板】AC自动机(加强版)
    1563: hzwer的跳跳棋(hop)
    P2469 [SDOI2010]星际竞速
    P2746 [USACO5.3]校园网Network of Schools
    Blocks
    Training little cats
    Period
    UVA-3942 Remember the Word
    初学线段树(poj3264+poj2777)
  • 原文地址:https://www.cnblogs.com/hld123/p/14272023.html
Copyright © 2011-2022 走看看