Yod Framework 用户手册(一)

1.1 关于Yod

Yod是一个C语言编写的PHP框架,Yod同时支持单入口和多入口模式,应用灵活,形式自由


1.2 Yod安装/配置

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

1.2.1 编译Yod

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

1.2.2 以debug模式编译Yod

$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.php

<?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); 
    } 


hello.tpl

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


1.5 Yod目录结构

Yod的目录结构比较灵活

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


你可能感兴趣的:(php框架,Yod)