Yod Framework 用戶手冊(一)

1.1 關於Yod

Yod是一個C語言編寫的PHP框架,Yod同時支持單入口和多入口模式,應用靈活,形式自由php


1.2 Yod安裝/配置

Yod只支持PHP5.2及以上的版本html

1.2.1 編譯Yod數據庫

$PHP_BIN/phpize
./configure --with-php-config=$PHP_BIN/php-config
make
make install

1.2.2 以debug模式編譯Yodapp

$PHP_BIN/phpize
./configure --enable-yod-debug --with-php-config=$PHP_BIN/php-config
make
make install


1.3 Yod定義的常量

YOD_VERSION	Yod框架的三位版本信息
YOD_RUNTIME	Yod框架的開始運行時間
YOD_FORWARD	forward最大嵌套深度
YOD_RUNMODE	Yod框架的運行模式(按位標記:1 自動運行,2 記錄錯誤日誌,4 顯示Debug信息(僅在debug模式下有效),8 記錄Debug信息(僅在debug模式下有效))
YOD_CHARSET	輸出的字符編碼方式
YOD_VIEWEXT	視圖文件的擴展名(默認:.php)
YOD_PATHVAR	獲取uri路由信息的變量名
YOD_EXTPATH	Yod框架的擴展文件(數據庫驅動等)的路徑
YOD_LOGPATH	Yod框架的日誌存儲目錄
YOD_RUNPATH	APP的運行目錄(定義了此常量後自動運行模式纔會生效)


1.4 Hello World!

這是一個簡單的模式,只有兩個文件框架

hello.phpfetch

<?php 
//set_time_limit(0); 
error_reporting(E_ALL); 
date_default_timezone_set('Asia/Shanghai'); 

defined('YOD_VIEWEXT') or define('YOD_VIEWEXT''.tpl'); 
defined('YOD_RUNPATH') or define('YOD_RUNPATH'dirname(__FILE__)); 

class 
HelloController extends Yod_Controller 

    public function 
init() 
    { 
        
$this->_name ''
        
$this->_view['tpl_path'] = YOD_RUNPATH
    } 

    public function 
indexAction() 
    { 
        
$this->assign($content'Hello World!'); 
        
$this->display('hello'); 
    } 

    public function 
errorAction() 
    { 
        echo 
'<pre>'
        
print_r($this); 
    } 


ui

hello.tplthis

<html> 
  <head> 
    <title>Hello World!</title> 
  </head> 
  <body> 
    <?php echo $content?> 
  </body> 
</html>
編碼


1.5 Yod目錄結構

Yod的目錄結構比較靈活spa

1.5.1 標準目錄結構

- index.php // APP 入口
+ public
+ yodphp
    + drivers   // 數據庫驅動
+ app
    + actions   // Other actions
    + configs
        - config.php    // 配置文件
    + controllers
        - IndexController.php   // 控制器
    + extends   // APP擴展
    + models    // 模型
        - DemoModel.php
    + views
        + index // 視圖
            - index.php

1.5.2 多入口目錄結構

- index.php // index 入口(通常狀況控制器會寫在入口文件裏,參考Hello World!)
- hello.php // hello 入口
+ public
+ app

1.5.3 精簡目錄結構

- index.php // index 入口(require configs.php, controllers.php, models.php)
+ public
+ app
    - configs.php
    - controllers.php
    - models.php
    + views
        + index // 視圖
            - index.php


1.6 Yod應用的配置結構

Yod應用配置的結構比較靈活

1.6.1 標準配置結構

- index.php // APP 入口
+ app
    + configs
        - config.php    // 配置文件

1.6.2 多文件配置結構

- index.php // APP 入口
+ app
    + configs
        - base.config.php    // 配置文件
        - db_dsn.config.php  // 數據庫配置
        ...

1.6.3 使用$config變量配置

全局變量$config會覆蓋其餘方式的配置值


2.1 Yod_Application

Yod_Application 表明一個產品/項目, 是Yod運行的主導者, 真正執行的主題. 它負責接收請求, 協調路由, 分發, 執行, 輸出.

主要方法: run,config,import,app,autoload


2.2 Yod_Request

Yod_Request 表明了一個實際請求, 通常的不用本身實例化它, Yod_Application 會自動根據當前請求實例它.

主要方法: route,dispatch,errorAction,error404


2.3 Yod_Controller

Yod_Controller 是Yod的MVC體系的核心部分, 能夠經過繼承已有的類, 來實現這個抽象類, 從而添加應用本身的應用邏輯.

主要方法: config,import,model,dbmodel,assign,render,display,widget,forward,redirect,error404


2.4 Yod_Action

Yod_Action 是MVC中C的動做, 通常而言動做都是定義在Yod_Controller的派生類中的, 可是有的時候, 爲了使得代碼清晰, 分離一些大的控制器, 則能夠採用單獨定義Yod_Action來實現.


2.5 Yod_Widget

Yod_Widget 在MVC中V的一些公共的部分能夠採用單獨定義Yod_Widget來實現.


2.6 Yod_Model

Yod_Model 是Yod的MVC體系的核心部分, 能夠經過繼承已有的類, 來實現這個抽象類, 從而添加應用本身的應用模型.

主要方法: getInstance,find,select,count,save,update,remove,lastQuery,config,import,model,dbmodel


2.7 Yod_DbModel

Yod_DbModel 是Yod的MVC中M的擴展, 能夠經過繼承已有的類, 來實現這個抽象類, 從而添加應用本身的應用模型.

主要方法: getInstance,table,find,select,count,save,update,remove,field,from,join,where,group,having,order,limit,union,comment,params,parseQuery


2.8 Yod_Database

Yod_Database 是Yod的數據庫驅動抽象類, 能夠經過繼承已有的類, 來實現這個抽象類, 從而添加應用本身的數據庫驅動.

主要方法: db,getInstance,config,create,insert,update,delete,select,lastQuery


2.9 Yod_DbPdo

Yod_DbPdo 是Yod的數據庫PDO驅動類,實現了對PDO的簡單封裝.

主要方法: connect,fields,execute,query,count,fetch,fetchAll,transaction,commit,rollback,insertid,quote,free,close,errno,error

相關文章
相關標籤/搜索