美文网首页
composer init

composer init

作者: 周晓钏 | 来源:发表于2020-09-02 22:05 被阅读0次

    以下是个人理解,可能会又冲突,如果有错误的地方请指点
    本来想写很多东西来对composer初始化进行介绍的, 但是写的太多连我自己都看不完,索性删除,直入主题
    使用composer初始化对自己写的类进行管理,composer初始化时, 进入到要写的文件夹中。使用composer init进行初始化进行管理

    $ composer init
                                                
      Welcome to the Composer config generator                                            
    
    This command will guide you through creating your composer.json config.
    
    # 包的名字 vendor代表生产商,也是识别包的标识
    # 包的名字, 当报名相同时,通过vendor来区分
    # 系统会默认获取当前登录的用户来做vendor,所在文件夹做包的名字
    Package name (<vendor>/<name>) [zxc/frame]: zxc/frame
    # 这个是对包的描述
    Description []: 这个是包的描述
    # 这个是作者的个人信息, 使用git时设置的user.name 和user.email
    # 如果没有设置的话,会使用系统给默认的用户名和邮箱
    Author [周小川 <zxc_4567@123.com>, n to skip]: 张三 <zxc_1234@123.com>
    # 版本 dev, alpha, rc, stable, beta
    Minimum Stability []: dev
    # 类型
    Package Type (e.g. library, project, metapackage, composer-plugin) []: library
    # 许可协议
    License []:
    
    Define your dependencies.
    
    # 这个是在需要使用到的依赖
    Would you like to define your dependencies (require) interactively [yes]? yes
    # 这里会根据你输入的关键字对包进行搜索
    Search for a package:  dump
    #这里会有其他的操作, 自己实验一下哦
    
    # 安装开发扩展, 这个在项目部署的时候不安装不会影响项目的运行
    Would you like to define your dev dependencies (require-dev) interactively [yes]?
    Search for a package:
    
    {
        "name": "zxc/frame",
        "type": "library",
        "authors": [
            {
                "name": "张三",
                "email": "zxc_1234@123.com"
            }
        ],
        "minimum-stability": "dev",
        "require": {}
    }
    # 是否生成composer.json
    Do you confirm generation [yes]?
    # 是否现在安装依赖
    Would you like the vendor directory added to your .gitignore [yes]
    

    经过上面的操作后, 会在当前目录下生成一个composer.json文件。
    在composer.json文件所在的位置创建一个文件夹,名字随意,但是规范是起名为src。在composer.json文件中添加autoload属性,定义命名空间(这里定义为Frame),规定加载文件所在的位置

    {
        "name": "zxc/frame",
        "type": "library",
        "authors": [
            {
                "name": "张三",
                "email": "zxc_1234@123.com"
            }
        ],
        "minimum-stability": "dev",
        "require": {},
        "autoload":{
            "psr-4":{
                "Frame\\":"./src/"
            }
        }
    }
    

    添加完属性后, 使用composer install安装依赖,以后要定义的文件定义到src文件夹里面, composer都会为你自动加载的
    可以在composer.json文件的地方创建index.php文件进行测试

    <?php
    
    require "./vendor/autoload.php"
    
    // 这个文件我没有写, 测试的时候注意自己加上哦
    // 写在src文件夹下, 注意命名空间要与composer.json里面的相同哦
    use Frame\Appliaction
    
    $app = new Appliaction();
    echo $app->getName();
    

    如果加载不成功的话请执行命令 composer dump-autoload

    相关文章

      网友评论

          本文标题:composer init

          本文链接:https://www.haomeiwen.com/subject/omdgsktx.html