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('config.php');
$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##########
以上是詳解swoole框架快速入門的詳細內容。更多資訊請關注PHP中文網其他相關文章!