需求背景:以前的tp5.0项目中没有使用过composer,现在要装一个 firebase/php-jwt

1、获取一个composer.json文件

require里面就是需要安装的插件

  1. {
  2. "name": "topthink/think",
  3. "description": "the new thinkphp framework",
  4. "type": "project",
  5. "keywords": [
  6. "framework",
  7. "thinkphp",
  8. "ORM"
  9. ],
  10. "homepage": "http://thinkphp.cn/",
  11. "license": "Apache-2.0",
  12. "authors": [
  13. {
  14. "name": "liu21st",
  15. "email": "liu21st@gmail.com"
  16. }
  17. ],
  18. "require": {
  19. "php": ">=5.4.0",
  20. "topthink/framework": "^5.0",
  21. "paragonie/sodium_compat": "^1.17",
  22. "firebase/php-jwt": "^6.0"
  23. },
  24. "extra": {
  25. "think-path": "thinkphp"
  26. },
  27. "config": {
  28. "preferred-install": "dist"
  29. }
  30. }

2、执行命令安装json中的所有插件内容

新建test文件夹把composer.json文件放进去
打开shell窗口执行 composer install
image.png
安装完成
image.png

3、安装好以后把需要的插件考入到自己项目的vendor文件夹中

插件目录tests1/vendor/firebase (我这里只需要这个)

image.png

4、直接复制过去是不能使用的需要修改vendor/composer/autoload_psr4.php

test1中的autoload_psr4.php文件内容是这样的:

  1. <?php
  2. // autoload_psr4.php @generated by Composer
  3. $vendorDir = dirname(dirname(__FILE__));
  4. $baseDir = dirname($vendorDir);
  5. return array(
  6. 'think\\composer\\' => array($vendorDir . '/topthink/think-installer/src'),
  7. 'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'),
  8. );

需要把这一句复制到自己项目的autoload_psr4.php文件中

  1. 'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'),

5、项目中去试试引入,如果可以用IDE追踪到就证明可以了

  1. use Firebase\JWT\JWT;
  2. use Firebase\JWT\Key;

注:现在只试试了tp5.0, 接手的别人的项目尽量小的改动,其它的以后再说!!