yaf-lib 基于yaf的應用PHP開發框架

jopen 8年前發布 | 27K 次閱讀 PHP開發

yaf-lib 基于 yaf 的應用開發框架, 簡單的mvc中間層繼承補充, 常用緩存、數據庫等驅動類, 添加widget組件模塊,及layout插件, rpc服務化,支持hprose、yar等, 支持xhprof性能調試。

requirement

  • php 5.3+

  • php-yaf 2.3.3

  • phpredis 2.2.7

  • memcache 2.2.7

  • zmq 1.1.2

  • xapian-bindings 1.2.21

  • scws 1.2.2

  • swoole 1.7.17

  • hprose-php 1.5.4

  • php-yar 1.2.4

  • xhprof 0.9.4

src/controllers

Madclient

http://localhost/madclient Madclient是php實現的MadzMQ消息隊列的客戶端,通過msg協議與madbroker通信,異步發送消息。

src/bootstrap

bootstrap是yaf的引導程序,這里進行拆分,如果工作的web進入cgi模式,如果工作在命令行進入cli模式。

src/library

Controller

Controller類繼承Yaf_Controller_Abstract,控制器可以選擇性的繼承這個類,在類中實現了,layout、widget等初始化。

Sontroller

Sontroller類繼承Yaf_Controller_Abstract,工作在cli模式下。

Model

Model類是數據層的抽象類,所有數據對象都可以繼承它,Model可以從不同的data_center分發數據。

Widget

Widget類是組件的基類,widgets目錄下的組件類都繼承它,widgets/views目錄是相應組件的view。 views中通過$widget方法調用組件

$widget('IndexWidget',
    array('class_key'=>'item_condition',
        'output'=>'html',
        'query'=>array(),
        'assist_data'=>array(
            'one'=>'one'
        )
    )
);

Zmq_Msg

Zmq_Msg是基于ZeroMQ的一種簡單msg消息協議的php實現

Zmq_Kvmsg

Zmq_Kvmsg是基于ZeroMQ的一種簡單key-value消息協議的php實現

Core_Processpool

Core_Processpool類封裝了一個進程池。

System_Mongo

System_Mongo類封裝了mongodb的客戶端接口。

  • conn 用于連接mongo

  • selectDB 選擇數據庫

  • selectCollection 選擇文檔

  • findOne 獲取一條數據

  • find 獲取數據列表

  • select 選擇數據可以排序或區間

  • insert 添加數據

  • update 更新數據

  • close()關閉連接

System_Socket

System_Socket類對網絡socket進行封裝

System_Memcache

System_Memcache類封裝了Memcached的客戶端接口

  • ::set 設置緩存

  • ::get 獲取緩存

  • ::delete 刪除緩存

  • ::flush 清空

  • ::increment 原子計數加

  • ::decrement 原子計數減

System_Redis

System_Redis類封裝redis客戶端驅動

System_Mysqlpdo

System_Mysqlpdo類封裝了pdo_mysql的操作接口

  • ::bind

  • ::bindmore

  • ::query

  • ::lastInsertId

  • ::column

  • ::row

  • ::single

System_Log

System_Log類封裝了日志處理類

System_Sort

System_Sort類封裝了一些經典得排序算法

  • ::insertion 插入排序

  • ::selection 選擇排序

  • ::bubble    冒泡排序

  • ::merge     歸并排序

Search_Segment

Search_Segment類 中文分詞

  • init         分詞器初始化

  • close        關閉

  • query        獲取原數據列表

  • queryOne     獲取單個原數據

  • cutQuery     切分原數據

  • cutString    切分字符串

Search_Index

Search_Index類 用于添加索引

  • setIdPrefix

  • add         建立索引數據

  • alert       更新索引數據

  • delete      刪除索引數據

Search_Match

Search_Match類用于匹配搜索結果

  • call    執行匹配

Search_Database

Search_Database類 用于查詢索引數據庫中的原數據

  • get_doccount    獲取文檔總數

  • get_data        獲取單個文檔原數據

  • get_termlist    獲取單個文檔語詞

  • select          獲取數據列表

Search_Config

Search_Config類 可以根據配置處理搜索結果

  • getApp       獲取app

  • getAppName   獲取app名稱

  • getTableName 獲取標名稱

  • formatTitle  格式化標題

  • formatDetail 格式化詳情

  • formatUrl    格式化地址欄

  • formatImage  格式化圖片

bin

main

服務端程序,根據入口文件名稱找到MainController,然后執行mainAction方法; yaf的CLI模式的入口文件,在CLI模式下可以開發強大的服務端程序

./bin/main

madserver

madserver是php實現的MadzMQ消息隊列的服務端,其作為訂閱者訂閱來自madbroker的,協議為kvmsg.

./bin/madserver

hprose_swoole_tcp.php

rpc服務,tcp協議,支持方法、對象方法、異步等調用 對象方法調用:

//服務端代碼$server->add(new TestModel(),'','test');//客戶端調用$client->test->one();

src/tools

xapian

  • xapian-bindings 1.2.21

xhprof

  • xhprof-0.9.4

hprose-php

  • hprose-php 1.5.4

官方網站:http://www.baiduhome.net/lib/view/home/1451381728995

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!