首頁  >  文章  >  php框架  >  詳解swoole框架快速入門

詳解swoole框架快速入門

coldplay.xixi
coldplay.xixi轉載
2021-04-12 17:19:093635瀏覽

 詳解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-> 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->query('select * from test_table'); //执行SQL语句,得到一个查询的结果,查询结果,可以获取数据 $res->fetch(); //获取单条数据。是字段-值,组成的关联数组。 $res->fetchall(); //获取全部 $data = array(); 
$data['title'] = 'hello wolrd!'; 
$data['author'] = 'me'; 
$php->db->insert($data,'test_table'); //将关联数组按照键值对应转为字段-值对应,插入到数据库表test_table中。 
//insert into test_table(title,author) values('hello wolrd!','me') /* $php->db->delete() 删除数据 
$php->db->update() 更新数据 
具体请参考Database类 
*//* 模板操作,内置smarty模板引擎 
*/$php->tpl->assign('title','hello world!'); 
$php->tpl->display('index.html'); 
?>

目錄規格

假設根目錄為$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##########
$php->db # 資料庫介面
## $php->cache 快取系統介面

以上是詳解swoole框架快速入門的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除