以下是个人理解,可能会又冲突,如果有错误的地方请指点
本来想写很多东西来对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
网友评论