composer init使用composer初始

composer init

使用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 list:获取帮助信息; composer init:以交互方式填写composer.json文件信息; composer search:在当前项目中搜索依赖包; composer show:列举所有可用的资源包; composer validate:检测composer.json文件是否有效; composer create-project:基于composer创建一个新的项目; composer dump-autoload:在添加新的类和目录映射是更新autoloader composer remove laravel/ui :删除依赖后还需要去vender文件夹里,手动删除

展开/收起文章目录