yaf-lib 基于yaf的應用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