登录  /  注册
首页 > php框架 > Swoole > 正文

详解swoole框架快速入门

coldplay.xixi
发布: 2021-04-12 17:19:09
转载
3267人浏览过

 详解swoole框架快速入门

swoole有两个部分。 一个是PHP扩展,用C开发的,这是核心。 另一个是框架,像yii、TP、Laravel一样,是PHP代码写的。

swoole扩展本身提供了web服务器功能,可以替代php-fpm。 而如果仅仅用swoole框架,可以像其它php框架一样,运行在nignx、apache等web服务器中。

swoole框架像PHP框架一样,适用于web开发。 而swoole扩展是提供了更底层的服务器通信机制,可以使用UDP、TCP等协议,而不仅仅是http。

安装方式上也不一样,swoole扩展像其它PHP扩展一样安装,可以用pecl,也可以编译安装。而swoole框架用composer引入之后安装即可,或者下载源码后手动include/require。

另外,swoole框架依赖swoole扩展,是swoole扩展的应用实例。

框架-Swoole扩展-Swoole文档中心 http://wiki.swoole.com/wiki/page/p-framework.html

swoole扩展是基础,基于swoole扩展,可以做出多种框架,而不仅仅是web框架。

 推荐(免费):swoole

框架采用唯一接口对象机制。

调用框架的第一步,require('config.php');首先要包含config.php ,然后会生成$php对象。 如果在Controller、Model、View中,通过$this->swoole来调用。如果在函数,或者是其他被include的程序中,通过global $php来引用。

$php->db 数据库接口
$php->cache 缓存系统接口
$php->tpl Smarty模板引擎接口
$php->model 调用Model对象接口
$php->mvc MVC结构数据
$php->plugin 插件系统接口
<?php  
/* 导入config.php文件,这是调用框架必须的第一步 
config.php会载入基本配置选项,和基本函数,并生成全局接口变量$php 
在代码的任何位置处,都可以通过global $php来引用全局接口对象 
*/require(&#39;config.php&#39;); 
$res = $php->db-&gt;query('select * from test_table'); //执行SQL语句,得到一个查询的结果,查询结果,可以获取数据 $res-&gt;fetch(); //获取单条数据。是字段-值,组成的关联数组。 $res-&gt;fetchall(); //获取全部 $data = array(); 
$data['title'] = 'hello wolrd!'; 
$data['author'] = 'me'; 
$php-&gt;db-&gt;insert($data,'test_table'); //将关联数组按照键值对应转为字段-值对应,插入到数据库表test_table中。 
//insert into test_table(title,author) values('hello wolrd!','me') /* $php-&gt;db-&gt;delete() 删除数据 
$php-&gt;db-&gt;update() 更新数据 
具体请参考Database类 
*//* 模板操作,内置smarty模板引擎 
*/$php-&gt;tpl-&gt;assign('title','hello world!'); 
$php-&gt;tpl-&gt;display('index.html'); 
?&gt;
登录后复制

目录规范

假设根目录为$ROOT。

$ROOT/apps

$ROOT /apps:应用程序代码,此目录中的代码是公用的,包括类,配置,模板,控制器,Model等。此目录不得放置静态文件,如js, css, jpg, html等,必须全部为.php文件。此目录不允许http直接访问。

Ø  $ROOT/apps/controllers Web应用的控制器类代码

Ø  $ROOT/apps/models 数据模型封装类代码

Ø  $ROOT/apps/configs 配置文件,通过$php->config['db']['master']这样来访问

Ø  ROOT/apps/classes 类库,这里存放所有用户定义的类,必须符合psr-0规范,文件名必须为 {类名}.php,顶层命名空间必须为App

Ø  $ROOT/apps/templates 模板文件目录

 

²  命名空间:如 new App\Hello\Test 类,会映射到 $ROOT/apps/classes/Hello/Test.php

²  配置文件:如 $php->config['db']['master'] 或 Swoole::getInstance()->config['db']['master'] 会映射到$ROOT/apps/configs/db.php文件,db.php中必须返回数组,key为master。

²  数据模型:model('UserInfo')或者$php->model->UserInfo 会映射到$ROOT/apps/models/UserInfo.php

$ROOT/static

静态文件目录,比如js, css, jpg, html等。

$ROOT/index.php

web网站单一入口文件,可直接放到根目录,或者单独建立目录存放,如$ROOT/webroot/index.php

$ROOT/server.php

服务器程序启动入口。

控制器Controller

使用swoole的MVC管理,控制器类必须符合下列规范

²  代码放置到apps\controllers目录下

²  类名首字母必须为大写

²  必须继承自Swoole\Controller

以上就是详解swoole框架快速入门的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号