KanaPHP框架介紹

KanaPHP

關于

KanaPHP是一個輕量級快速開發(fā)框架??蚣芴峁┝艘恢碌腁PI接口,使得使用接口盡可能流暢;由于框架本身不依賴其他庫,這使得框架本身運行速度非???;框架希望使用最簡單的方式make thing done,減少開發(fā)者的開發(fā)成本。

安裝

0.環(huán)境要求

  • 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以適配當前環(huán)境;

cd config
cp app.ini.example app.ini

修改runtime文件夾權限

chmod -R 777 runtime/

3.運行

使用PHP內(nèi)置Server啟動App

cd public
php -S localhost:9090

4.驗證

在瀏覽器打開http://localhost:9090驗證頁面是否出現(xiàn)用戶注冊表單頁面,點擊表單提交是否出現(xiàn)錯誤信息顯示;如均能顯示則表示安裝成功。

目錄結構

app                             # App命名空間目錄
    Console                     # 包含命令行Action
        Blog/DailyUpdate.php    # ./kana blog:dailyUpdate
    Exception                   # 包含用戶自定義異常
    Http                        # 包含Http Action
        Home/Index.php          # http://localhost/home/index
    Middleware                  # 中間件文件夾
    Model                       # 存放業(yè)務Model
    view                        # 包含普通視圖和布局視圖
bootstrap                       # bootstrap
    app.php                     # app.php
config                          # 包含應用配置信息
    app.ini                     # 配置映射文件
    app.php                     # app配置文件
    database.php                # 數(shù)據(jù)庫配置文件
    middleware.php              # 中間件配置文件
    redis.php                   # Redis配置文件
    route.php                   # 路由配置文件
    session.php                 # Session配置文件
public                          # 應用web root, 包含公開訪問的內(nèi)容
    index.php                   # 應用http入口
runtime                         # runtime目錄,包含程序運行期間生成的文件
    compiled                    # 編譯文件目錄
    log                         # 日志目錄
    session                     # 文件session目錄
vendor                          # composer vender

代碼生成工具

為了減少新建類時代碼復制等重復工作,KanaPHP使用命令行簡化創(chuàng)建Model、中間件、Action的工作;

# 創(chuàng)建User Model
./kana make:model User

# 創(chuàng)建CheckToken中間件
./kana make:middleware CheckToken

# 創(chuàng)建接口為order/info的HTTP接口
./kana make:http order/info

# 創(chuàng)建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); # 業(yè)務日志打點

# cookie
app()->cookie->set(); # 默認加密,防止客戶端修改
app()->cookie->get();

# session
app()->session->set();
app()->session->get();

# 數(shù)據(jù)庫
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:內(nèi)容',
    'mobile' => 'required|mobile|name:手機號碼',
    'email' => 'required|email|name:郵箱地址',
];
app()->validator->validate($post, $rules);

文檔

詳細文檔編寫中

貢獻

https://github.com/kanaphp/kanaphp
https://github.com/kanaphp/framework
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,109評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,586評論 19 139
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,408評論 4 61
  • 說比較容易,做到卻比較困難。年少時我們有很多夢想,長大了以后發(fā)現(xiàn)好多都很難實現(xiàn),有的已經(jīng)消失不見,有的還在苦苦掙扎...
    墨高訂閱號閱讀 710評論 0 1
  • S小妖閱讀 447評論 0 0

友情鏈接更多精彩內(nèi)容