輕量級 PHP 開發框架,CrossPHP 1.5.5 發布

jopen 8年前發布 | 10K 次閱讀

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文件到指定的數據庫。

你也可以單獨下載skeleton, 從命令行進入到skeleton的根目錄, 使用composer install來安裝框架

1.5.5 更新說明


一. 增強注釋配置

  1. @cp_params所有類型的url風格下生效

  2. 增強@cp_cache, 可以在入口文件中通過注入匿名函數容器來改變行為

    $app = Cross\Delegate::loadApp('web');
    $app->on('cpCache', function(&$cache_config) {
        $cache_config['key'] = 'abc';
        return true;
    });
    $app->run();

    此時匿名函數返回值作為請求緩存是否生效的開關.

  3. @cp_before,@cp_after支持直接使用$self->方法名稱()來調用控制器的內部方法.

二. 增強視圖控制器

基本方法

視圖控制器和模板中增加以下方法, 用于處理HTML標簽, 基本方法如下:

  1. a()方法用于生成超鏈接

  2. img()方法用于生成圖片連接

  3. input()處理表單中輸入框

  4. radio(),checkbox(),select處理單/復選/下拉

  5. htmlTag()輸出單獨的html標簽

  6. wrap()用于生成復雜的html

    $this->wrap('div')
         ->wrap('span')
         ->a('crossphp', 'http://www.crossphp.com');

    生成的html代碼為

    <div>
        <span>
            <a >crossphp</a>
        </span>
    </div>

    更多使用方法請查看文檔或在官方群內討論

  7. block()輸出帶wrap()的塊級元素

  8. buildForm(表單模板名稱), 把模板當表單載入, 可以在入口注冊匿名函數buildForm來改變框架生成表單的行為

    $this->on('buildForm', function(){  
        ....  
    });
  9. html()用于安全的輸出html內容

布局相關

section(模板名稱, 模板數據, array 包裹的屬性, 包裹器名稱)在視圖控制器和模板中, 根據不同邏輯渲染不同模板.

三. 其他優化

  1. 規范了一些變量命名

  2. 在控制器中調用to()方法, 會終止執行, 不用在前加return

  3. 生成連接連接前先判斷控制器和參數是否為空

  4. 更新了文檔

來自: http://www.oschina.net//news/71029/crossphp-1-5-5

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