Swoole实验室:1-使用Composer构建项目
2018年09月01日 21:11 helloweba.net 作者:月光光 标签:PHP Swoole
Swoole是一个异步通信引擎,它让我们看到了不一样的PHP。本节开始我们会安排系列有关Swoole的实际应用文章,暂时定个名字:Swoole实验室。目的是通过系列文章讲解让大家了解Swoole在我们项目开发中的真正应用场景。
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发送邮件,敬请关注。
声明: 本文为原创文章,helloweba.net和作者拥有版权,如需转载,请注明来源于helloweba.net并保留原文链接:https://www.helloweba.net/php/580.html
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 区块链研究实验室 | 如何使用Oraclize基于原子互换技术构建分布式交易所
- 达摩院以色列实验室引入世界级AI科学家,构建机器智能全球研发网络
- Ceph实验室:第四课:Ceph监控
- Ceph实验室:第四课:Ceph监控
- 2018Android实验室CV培训总结
- 复旦NLP实验室NLP上手教程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构C++语言描述
William Ford,William Topp / 刘卫东 沈官林 / 清华大学出版社 / 1999-09-01 / 58.00
一起来看看 《数据结构C++语言描述》 这本书的介绍吧!