博客列表 >composer安装、项目创建、composer自动加载

composer安装、项目创建、composer自动加载

乐作人生
乐作人生原创
2020年11月02日 17:57:351225浏览

1. composer的安装

  • 登录composer官网:https://www.phpcomposer.com/ ,点击下载安装
  • 安装前确保已经正确安装了PHP。打开命令行窗口执行php -v查看是否正确输出php版本号
  • 运行composer下载命令:php -r “copy(‘https://install.phpcomposer.com/installer‘, ‘composer-setup.php’);”
  • 执行安装脚本命令:php composer-setup.php
  • 删除安装脚本命令:php -r “unlink(‘composer-setup.php’);”
  • composer全局安装,将composer.phar文件放到PHP安装目录下,和php.exe在同一级目录中
  • 在PHP安装目录下新建composer.bat文件,将代码( @php “%~dp0composer.phar” %*)保存到文件中
  • 打开命令行执行composer —version查看是否正确输出版本号
  • Windows环境下若因无CA证书安装失败,可访问:https://curl.haxx.se/docs/caextract.html ,下载cacert.pem证书;将证书移动到php环境中,打开与php版本对应的php.ini文件,从中找到“openssl.cafile=”项,去掉最前面的“;”,并在后面填写cacert.pem的安装路径,如:D:/phpstudy_pro/cacert.pem
  • 设置阿里云的composer镜像地址:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

2. compser的包与项目的创建

  • 在组件官网中查找组件:https://packagist.org/explore/ ,点击进入里面会有安装命令代码
  • 如安装jquery组件,在相应目录下执行命令:composer require components/jquery
  • 如创建一个项目,在相应目录下执行命令:composer create-project topthink/think ;下载完成后是以think为命名的文件夹。若想自定义项目名称,可在命令行后面直接填写项目名称tp6,如:composer create-project topthink/think tp6
  • 包和项目创建成功后会自动生成composer.json(依赖关系的声明文件)和composer.lock两个文件
  • 执行命令:composer install即可安装依赖包

3. composer自动加载

  • User文件
    1. <?php
    2. // 实现类文件的自动加载需要满足2个条件:1、类的命名空间必须与类文件的路径完全一致;2、类名称必须与文件名一致
    3. namespace app\controller;// 满足条件1
    4. class User // 满足条件2
    5. {
    6. public static function hello(){
    7. return __METHOD__;
    8. }
    9. }
    10. // echo (new User)->hello();
    11. ?>
  • Goods文件
    1. <?php
    2. // 命名空间与路径不需要一一对应
    3. namespace phpcn;
    4. class Goods
    5. {
    6. public static function hello()
    7. {
    8. return __METHOD__ . '666666666666666';
    9. }
    10. }
    11. ?>
  • Ord文件
    1. <?php
    2. namespace phpcn;
    3. class Ord
    4. {
    5. public static function hello()
    6. {
    7. return __METHOD__ . '订单号........';
    8. }
    9. }
    10. ?>
  • files
    1. {
    2. "autoload": {
    3. "files": [
    4. "app/controller/User.php",
    5. "lib/index/Goods.php"
    6. ]
    7. }
    8. }
  • classmap
    1. {
    2. "autoload": {
    3. "classmap": [
    4. "app/controller",
    5. "lib/index"
    6. ]
    7. }
    8. }
  • psr-4
    ```json
    {
    “autoload”: {
    “psr-4”: {
    1. "app\\controller\\": "app/controller"
    }
    }
    }

```

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议