CodeIgniter 技巧 - 通过 Composer 安装 CodeIgniter 框架并安装依赖包

PHP 项目中,通过 Composer 来管理各种依赖包,类似 Java 中的 Maven,或 Node 中的 npm。CodeIgniter 框架要想通过 Composer 自动加载包也很简单,步骤如下:

1. 安装 Composer

参考这里

安装后,记得设置仓库源为国内镜像,否则下载速度太慢。

2. 安装 CodeIgniter

假设项目名为 test,切换到合适目录后,执行命令:

composer create-project codeigniter/framework test

在当前目录下会创建 test 目录,CodeIgniter 项目安装到这个 test 目录下。

3. 安装依赖包

切换到项目根目录,通过 composer require 命令安装所需包:

D:\lihongfeng\workspace\test> composer require lcobucci/jwt
Using version ^3.2 for lcobucci/jwt
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing phpunit/phpunit (5.7.27): Loading from cache
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
phpunit/phpunit suggests installing ext-xdebug (*)
Writing lock file
Generating autoload files

安装后,Composer 会在当前目录中创建 vendor 目录及 composer.lock 文件:

D:\lihongfeng\workspace\jwt> tree .
文件夹 PATH 列表
卷序列号为 00000028 B233:DAE9
D:\LIHONGFENG\WORKSPACE\JWT
│  .editorconfig.gitignore
│  composer.json
│  composer.lock
│  contributing.md
│  index.php
│  license.txt
│  readme.rst
├─.idea
├─application
├─system
└─vendor

其中 vendor 目录结构如下

├─bin
├─composer
├─doctrine
├─lcobucci
│  └─jwt
├─myclabs
│  └─deep-copy
│      ├─doc
│      └─src
│          └─DeepCopy
│              ├─Exception
│              ├─Filter
│              │  └─Doctrine
│              ├─Matcher
│              │  └─Doctrine
│              ├─Reflection
│              ├─TypeFilter
│              │  ├─Date
│              │  └─Spl
│              └─TypeMatcher
├─phpdocumentor
...

4. 设置 CodeIgniter

要想使用 Composer,需要修改 application/config/config.php

$config['composer_autoload'] = 'vendor/autoload.php';

官方建议将 vendor 目录放在 application 目录中,项目迁移时复制整个 application 目录即可,比较方便。这时可以直接将上面的选项设置为 TRUE,CodeIgniter 框架会使用 application/vendor/autoload.php 这个默认路径。

但我们刚才通过 Composer 命令将依赖包安装在了项目根目录下,所以要自行填入路径 vendor/autoload.php

扫描二维码关注公众号,回复: 1036491 查看本文章

5. 测试能否自动加载安装的包

参考每个包的文档,写几个测试方法即可。

猜你喜欢

转载自blog.csdn.net/kikajack/article/details/80270827
今日推荐