博主信息
博文 15
粉丝 0
评论 0
访问量 15002
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
composer安装、项目创建、composer自动加载
乐作人生
原创
1530人浏览过

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"
    }
    }
    }

```

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:命名空间太重要了, php是web开发语言,它的空间与其它语言又有不同
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学