PHP 项目中,通过 Composer 来管理各种依赖包,类似 Java 中的 Maven,或 Node 中的 npm。CodeIgniter 框架要想通过 Composer 自动加载包也很简单,步骤如下:
参考这里
安装后,记得设置仓库源为国内镜像,否则下载速度太慢。
假设项目名为 test,切换到合适目录后,执行命令:
composer create-project codeigniter/framework test在当前目录下会创建 test 目录,CodeIgniter 项目安装到这个 test 目录下。
切换到项目根目录,通过 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 ...要想使用 Composer,需要修改 application/config/config.php:
$config['composer_autoload'] = 'vendor/autoload.php';官方建议将 vendor 目录放在 application 目录中,项目迁移时复制整个 application 目录即可,比较方便。这时可以直接将上面的选项设置为 TRUE,CodeIgniter 框架会使用 application/vendor/autoload.php 这个默认路径。
但我们刚才通过 Composer 命令将依赖包安装在了项目根目录下,所以要自行填入路径 vendor/autoload.php。
参考每个包的文档,写几个测试方法即可。
转载于:https://www.cnblogs.com/kika/p/10851620.html
相关资源:codeigniter-starter:codeigniter-starter-源码