KanaPHP框架介紹
關於
KanaPHP是一個輕量級快速開發框架。框架提供了一致的API介面,使得使用介面儘可能流暢;由於框架本身不依賴其他庫,這使得框架本身執行速度非常快;框架希望使用最簡單的方式make thing done,減少開發者的開發成本。
安裝
0.環境要求
- PHP >= 5.4.0
- PDO擴充套件
- OpenSSL擴充套件
- MbString擴充套件
1.安裝
下載release包安裝
開啟下面其中一個release包下載頁面,選擇最新release包下載:
https://github.com/kanaphp/kanaphp-release/releases
https://coding.net/u/eccozhou/p/kanaphp/git/tags
解壓zip包,進入專案根目錄(下文未特殊註明,目錄起始位置均為此根目錄)
cd kanaphp-xxx #進入專案根目錄
2.配置
建立app.ini配置檔案
按如下操作複製app.ini.example來新建app.ini,然後編輯app.ini以適配當前環境;
cd config
cp app.ini.example app.ini
修改runtime資料夾許可權
chmod -R 777 runtime/
3.執行
使用PHP內建Server啟動App
cd public
php -S localhost:9090
4.驗證
在瀏覽器開啟http://localhost:9090
驗證頁面是否出現使用者登錄檔單頁面,點選表單提交是否出現錯誤資訊顯示;如均能顯示則表示安裝成功。
目錄結構
app # App名稱空間目錄
Console # 包含命令列Action
Blog/DailyUpdate.php # ./kana blog:dailyUpdate
Exception # 包含使用者自定義異常
Http # 包含Http Action
Home/Index.php # http://localhost/home/index
Middleware # 中介軟體資料夾
Model # 存放業務Model
view # 包含普通檢視和佈局檢視
bootstrap # bootstrap
app.php # app.php
config # 包含應用配置資訊
app.ini # 配置對映檔案
app.php # app配置檔案
database.php # 資料庫配置檔案
middleware.php # 中介軟體配置檔案
redis.php # Redis配置檔案
route.php # 路由配置檔案
session.php # Session配置檔案
public # 應用web root, 包含公開訪問的內容
index.php # 應用http入口
runtime # runtime目錄,包含程式執行期間生成的檔案
compiled # 編譯檔案目錄
log # 日誌目錄
session # 檔案session目錄
vendor # composer vender
程式碼生成工具
為了減少新建類時程式碼複製等重複工作,KanaPHP使用命令列簡化建立Model、中介軟體、Action的工作;
# 建立User Model
./kana make:model User
# 建立CheckToken中介軟體
./kana make:middleware CheckToken
# 建立介面為order/info的HTTP介面
./kana make:http order/info
# 建立order:dailyUpdate定時任務
./kana make:console order:dailyUpdate
介面預覽
雖然KanaPHP將名稱空間儘量簡化,使用一個類時還是需要知道類位於哪個名稱空間。因此引入應用component,將常用功能封裝成一個個的元件,然後通過app()
作為入口訪問,常用元件及API如下:
# log
app()->log->info(`some thing hanppen`, $extraInfo);
app()->log->notice();
app()->log->warning();
app()->log->error();
app()->log->data(`event_name`, $data); # 業務日誌打點
# cookie
app()->cookie->set(); # 預設加密,防止客戶端修改
app()->cookie->get();
# session
app()->session->set();
app()->session->get();
# 資料庫
app()->db->table(`user`)->where(`id`, 1)->first();
app()->db->table(`order`)->where(`type`, `=` 1)->all();
# 加密
app()->encrypter->encrypt($data);
app()->encrypter->decrypt($data);
# Redis
app()->redis->set();
app()->redis->get();
# 驗證
$post = $request->post();
$rules = [
`title` => `required|string|between:5,50|name:標題`,
`content` => `required|string|name:內容`,
`mobile` => `required|mobile|name:手機號碼`,
`email` => `required|email|name:郵箱地址`,
];
app()->validator->validate($post, $rules);
文件
詳細文件編寫中
貢獻
https://github.com/kanaphp/kanaphp
https://github.com/kanaphp/framework
相關文章
- TPHP框架介紹PHP框架
- .NET框架介紹框架
- Python 框架介紹Python框架
- JAVA SSH 框架介紹Java框架
- 搜尋引擎框架介紹框架
- spring框架的介紹Spring框架
- Gin框架介紹及使用框架
- Retrofit網路框架介紹框架
- java常用的框架介紹Java框架
- JAVA SSH 框架介紹(轉)Java框架
- Scrapy框架的使用之Scrapy框架介紹框架
- 瀏覽器fuzz框架介紹瀏覽器框架
- Scrapy 框架介紹之 Puppeteer 渲染框架
- MyBatis框架介紹及其實操MyBatis框架
- Android模組化框架介紹Android框架
- Net6 EFcore框架介紹框架
- Recon-NG(框架介紹)框架
- spring框架結構介紹Spring框架
- EWeb4J框架介紹Web框架
- 【轉載】spring框架介紹Spring框架
- MyBatis框架介紹及實戰操作MyBatis框架
- lms微服務框架主機介紹微服務框架
- Java常用的5大框架介紹!Java框架
- Android系統介紹與框架Android框架
- 手寫開源ORM框架介紹ORM框架
- RPC通訊框架——RCF介紹RPC框架
- 自動化測試框架介紹框架
- .NET開發框架(一)-框架介紹與視訊演示框架
- Flask框架(一):介紹與環境搭建Flask框架
- 小程式web開發框架-weweb介紹Web框架
- Android Transition框架介紹及使用教程Android框架
- Android系統Audio框架介紹Android框架
- 介紹一個QTP基礎框架 - SIFLQT框架
- Java 微服務框架 Redkale 入門介紹Java微服務框架
- 四.unittest介面自動化框架介紹框架
- Selenium Part1:框架搭建與selenium框架介紹框架
- redis框架介紹與安裝(mac 和 windows)Redis框架MacWindows
- 曉黑板 go-zero 微服務框架介紹Go微服務框架