目錄
前言
使用swoole的MVC管理,控制器類別必須符合下列規格
首頁 php框架 Swoole 帶你三分鐘學會swoole框架

帶你三分鐘學會swoole框架

Apr 29, 2021 pm 06:02 PM
swoole框架

帶你三分鐘學會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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)