swoole运行php项目,Swoole实验室:1-使用Composer构建项目

华坚成
2023-12-01

Swoole实验室系列文章关注Swoole的实际应用,不讲解基础知识,因此我们假设读者具备以下知识技能:

了解Web页面基础,不限于HTML5,CSS3,Javascript;

熟悉PHP基础,基本语法,了解MVC,PHP7等;

了解Linux基础,系统基本操作命令,Nginx配置基础;

熟悉MySQL、Redis等数据相关操作。

Swoole实验室系列文章计划以实际项目开发,讲解有关Swoole的应用:

使用Swoole发送邮件

使用Swoole批量发送邮件

Swoole服务管理

使用Swoole实现即时聊天

使用Swoole实现定时任务

Swoole在秒杀与抢购中的应用

使用Swoole控制设备,如重启设备

...

系统运行环境

Swoole实验室系列文章中的DEMO示例代码运行环境是在CentOS7.x,PHP7.2,Swoole2.2上。

构建项目

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

首先创建项目目录结构:

swooleApp

|----src

|----App

|----public

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

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

{

"name": "helloweba/swoole-app",

"description": "A swoole app.",

"type": "project",

"authors": [

{

"name": "helloweba",

"email": "13966913@qq.com"

}

],

"require": {}

}

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

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

{

"autoload": {

"psr-4": {"Helloweba\\Swoole\\": "src/App"}

}

}

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

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

运行命令:composer require phpmailer/phpmailer

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

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

{

"name": "helloweba/swoole-app",

"description": "A swoole app.",

"type": "project",

"authors": [

{

"name": "helloweba",

"email": "13966913@qq.com"

}

],

"require": {

"phpmailer/phpmailer": "^6.0"

},

"autoload": {

"psr-4": {

"Helloweba\\Swoole\\": "src/App"

}

}

}

现在我们的项目算是已经构建好了,本节只是为Swoole实验室系列文章作铺垫,接下来我们会进入下一节swoole实战:使用Swoole发送邮件,敬请关注。

 类似资料: