PHP 框架:Gaeaphp

jopen 9年前發布 | 13K 次閱讀 Gaeaphp PHP開發

Gaeaphp 是一個基于 flightphp 的 PHP 框架

基礎

環境要求

php 5.4+

安裝

結構設計

項目目錄結構

|-app/
|   ?|-configs/    配置文件夾
|   ?|-bootstrap.php   引導文件
|-src/      代碼目錄
|   ?|-libs/       類庫方法庫
|   ?| ?|-classes/
|   ?| ?|-functions/
|   ?|-modules/    模塊文件夾
|   ?| ?|-xxxmodules/
|   ?| ?| ?|-controller/
|   ?| ?| ?|-libs/
|   ?| ?| ?|-model/
|   ?|-templates/
|   ?| ?|-default/
|-temp/     臨時目錄
|   ?|-caches/
|   ?|-compiled/
|   ?|-logs/

url訪問

框架采用mvc設計模式開發,采用單一入口方式部署和訪問。訪問示例

http://yourdomain.com/module/controller/action/param1/param2

其中將會訪問

/src/module/controller.php下的action方法

引導文件

/app/bootstrap.php引導文件完成了命名空間的注冊,擴展模版引擎,以及路由的注冊。
其中常量定義:
ROOT_PATH?系統根目錄
APP_PATH?app目錄
TEMP_PATH?臨時目錄
SSRC_PATH   ? 系統代碼目錄
WEB_PATH    ? 系統WEB資源目錄


系統配置

所有的配置文件均已數組形式返回。具體配置文件項在/app/configs下
|-db.php    數據庫(Mysql)配置文件
|-memcache.php       緩存(Memcache)配置文件
|-route.php     路由配置文件
|-smarty.php    模版引擎配置文件
|-system.php    系統配置文件

系統配置

結構為一維數組,各項參數見注釋

return  array(
    'theme'     =>      'default',   //主題
    'debug'     =>      true,       //是否調試信息
    'log_level' =>      'DEBUG',    //日志打印級別EMERGENCY|ALERT|CRITICAL|ERROR|WARNING|NOTICE|INFO|DEBUG
    'cache_expire'  =>  3600,       //緩存時間,單位秒
    'prefix'  =>  'sobey_',   //存儲鍵值前綴,包含db和cache
);

數據庫配置

結構為二維數組,默認使用default,可參考default結構配置多個數據庫配置如test

return  array(
    'default'   =>  array(
            'database_type'=>'mysql',
            'database_name'=>'ecshop',
            'server'=>'127.0.0.1',
            'username'=>'root',
            'password'=>'123456',
            //其他可選參數參見php手冊
            //http://www.php.net/manual/en/pdo.setattribute.php
            'port'=>3306
    ),
    //test配置非系統默認
    'test'      =>  array(
        //.........
    ),
);

Memcached配置

結構為二維數組,默認使用default,可參考default結構配置多個數據庫配置如test

return array(
    'servers'=>array(
        //array('域名','端口','權重')
     array('127.0.0.1','11211'),
    ),
    //options為Memcached::setOptions參數
    'options'=>array(
        //Memcached::OPT_HASH => Memcached::HASH_MURMUR,
        //Memcached::OPT_PREFIX_KEY => "widgets"
    ),
);

smarty配置

結構為二維數組,默認使用default,可參考default結構配置多個數據庫配置如test

return array(
    'servers'=>array(
        //array('域名','端口','權重')
     array('127.0.0.1','11211'),
    ),
    'options'=>array(
        //Memcached::OPT_HASH => Memcached::HASH_MURMUR,
        //Memcached::OPT_PREFIX_KEY => "widgets"
    ),
);

模塊modules

一個模塊的基本結構為,請遵循以下的規則:
|-src/      代碼目錄
|   ?|-modules/    模塊文件夾
|   ?| ?|-xxxmodules/         模塊根目錄
|   ?| ?| ?|-api/    接口文件目錄
|   ?| ?| ?|-controller/     控制器文件夾 |   ?| ?| ?|-libs/       工具類庫
|   ?| ?| ?|-model/     模型類庫


項目


開發技巧

Core文件

  • Core::config($file,[$key,[$dafault = false,[$reload = false]]])   獲取配置文件

  • Core::load_func($func,[$path= '']) 加載函數

  • Core::log($module,$level,$message,[$context = array()]) 日志記錄

  • Core::db([$key='default',[$option=array()]]) 獲取db實例

  • Core::memcached([$key='default',[$servers=array(),[$options=array()]]]) 獲取memcached實例

項目函數庫

一些項目的全局函數位于/src/libs/functions/global.php,該文件會被自動加載。自己可新建模塊的函數庫并使用Core::load_func()引入使用

模版

模版文件位于: /src/teplate/{風格}/sso(模塊)下,為smarty語法文件。

項目主頁:http://www.baiduhome.net/lib/view/home/1429273546408

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