0
点赞
收藏
分享

微信扫一扫

使用Composer构建Swoole项目


我们打算构建一个将SwooleApp的项目,使用Composer来构建。

首先创建项目目录结构:

swooleApp
|----src
|----App
|----public

很显然,​​src/​​​目录是我们的源代码程序文件目录,​​public/​​​目录是对外公共目录,我们允许​​web​​可以直接访问到这个目录。

进入到​​swooleApp​​​项目目录下,打开命令行工具,运行​​composer init​​初始化项目,根据提示依次输入项目信息,内容根据情况自定义,最后会在项目目录下生成一个composer.json文件,打开这个文件,它应该长这样:

{
"name": "shanhubei/swoole-app",
"description": "A swoole app.",
"type": "project",
"authors": [
{
"name": "shanhubei",
"email": "xxxxx@qq.com"
}
],
"require": {}
}

项目中我们会用到MVC架构、自动加载等,我们会用composer安装第三方组件,为了更好的加载这些依赖组件以及有效的结合项目,我们使用​​PSR-4​​规范自动加载。

我们在composer.json的autoload字段中增加本项目的autoloader。

{
"autoload": {
"psr-4": {"Shanhubei\\Swoole\\": "src/app"}
}
}

这样的话,什么可以使用autoload将命名空间为Shanhubei\Swoole的src/app/目录下的文件自动加载。

好了,现在我们试着用​​composer​​​来安装一个我们需要用到的发邮件组件:​​phpmailer​​。

运行命令:​​composer require phpmailer/phpmailer​

执行完毕后,你会发现项目目录下多了个​​vendor/​​​目录,对,没错,这个目录就是需要自动加载的依赖组件目录,是不是类似前端的npm安装依赖后的​​node_modules/​​目录哈。

好了,现在你打开composer.json,完整的结构应该是这样的:

{
"name": "shanhubei/swoole-app",
"description": "a swoole app",
"authors": [
{
"name": "shanhube",
"email": "2823175272@qq.com"
}
],
"require": {
"phpmailer/phpmailer": "^6.1"
},
"autoload":{
"psr-4":{"Shanhubei\\Swoole\\":"src/app"}
},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
}

其中:

"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}

是更换更换源,改到国内来,命令是如下,会自动写入composer.json

composer config repo.packagist composer https://packagist.phpcomposer.com

现在我们的项目算是已经构建好了。
喜欢swoole的可以看看后面的文章swoole项目示例。

举报

相关推荐

0 条评论