輕量級 PHP 開發框架,CrossPHP 1.5.5 發布
CrossPHP Framework, PHP5.3+ 開發框架
MMVC,Layer,PSR,composer,注釋配置,智能路由別名
程序需求
PHP5.3以上版本。
功能簡介
支持PSR標準,composer包管理工具。MMVC,支持注釋配置。 Layer布局支持,更換模板更簡單。路由別名(先寫代碼,后定義,比如rul:/Controoooooller/Actiooooon/5,可以通過別名指定為:/d/5)。 全局的異常處理系統及錯誤展示,在開發中可以快速定位到具體的代碼行數。默認使用PDO, 更安全, 更簡單易用的Mysql查詢。
使用場景
可以用于快速的網站, API, REST, 及命令行工具開發。
獲取框架
從http://www.crossphp.com/download下載框架完整版并解壓到本地目錄。 使用admin前需要修改數據庫配置config/db.config.php,并導入sql/admin/back.sql文件到指定的數據庫。
1.5.5 更新說明你也可以單獨下載skeleton, 從命令行進入到skeleton的根目錄, 使用composer install來安裝框架
一. 增強注釋配置
@cp_params所有類型的url風格下生效
增強@cp_cache, 可以在入口文件中通過注入匿名函數容器來改變行為
$app = Cross\Delegate::loadApp('web'); $app->on('cpCache', function(&$cache_config) { $cache_config['key'] = 'abc'; return true; }); $app->run();
此時匿名函數返回值作為請求緩存是否生效的開關.
@cp_before,@cp_after支持直接使用$self->方法名稱()來調用控制器的內部方法.
二. 增強視圖控制器
基本方法
視圖控制器和模板中增加以下方法, 用于處理HTML標簽, 基本方法如下:
a()方法用于生成超鏈接
img()方法用于生成圖片連接
input()處理表單中輸入框
radio(),checkbox(),select處理單/復選/下拉
htmlTag()輸出單獨的html標簽
wrap()用于生成復雜的html
$this->wrap('div') ->wrap('span') ->a('crossphp', 'http://www.crossphp.com');
生成的html代碼為
<div> <span> <a >crossphp</a> </span> </div>
更多使用方法請查看文檔或在官方群內討論
block()輸出帶wrap()的塊級元素
buildForm(表單模板名稱), 把模板當表單載入, 可以在入口注冊匿名函數buildForm來改變框架生成表單的行為
$this->on('buildForm', function(){ .... });
html()用于安全的輸出html內容
布局相關
section(模板名稱, 模板數據, array 包裹的屬性, 包裹器名稱)在視圖控制器和模板中, 根據不同邏輯渲染不同模板.
三. 其他優化
規范了一些變量命名
在控制器中調用to()方法, 會終止執行, 不用在前加return
生成連接連接前先判斷控制器和參數是否為空
更新了文檔
來自: http://www.oschina.net//news/71029/crossphp-1-5-5