首頁  >  文章  >  php框架  >  帶你三分鐘學會swoole框架

帶你三分鐘學會swoole框架

coldplay.xixi
coldplay.xixi轉載
2021-04-29 18:02:295029瀏覽

帶你三分鐘學會swoole框架

前言

最近在學習swoole這個東西,就寫點心得吧。基於swoole的開源框架很多,優缺點自己百度,凡是有用到websocket和消費隊​​列選擇基於swoole的框架是不錯的選擇。好吧話不多說,吳大仙就介紹一下swoole的一個簡單入門吧

推薦(免費):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框架。

 

框架採用唯一介面物件機制。

呼叫框架的第一步,require('config.php');首先要包含config.php ,然後會產生$php物件。如果在Controller、Model、View中,透過$this->swoole來呼叫。如果在函數,或是其他被include的程式中,透過global $php來引用。

 

$php->db#資料庫介面##$php- >cache$php->tpl$php->model#$php->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'); 
?>
##目錄規格:
快取系統介面
Smarty範本引擎介面
呼叫Model物件介面
MVC結構資料
外掛系統介面

假設根目錄為$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中文網其他相關文章!

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