yaf(一)

本文将引导您逐步了解并实践YAF框架,包括其目录结构、配置、入口文件、路由规则等核心内容,通过实例操作,帮助您快速上手并进行实际项目开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 yaf 是c写的扩展,高性能框架.
学习一个框架应该从下面几个方面入手:
a 大致的目录结构;
b 有关的配置文件以及所需的环境怎么配置(yaf就需要安装yaf扩展);
c 入口文件 ;
d 路由规则(先了解默认的路由规则);
e 框架封装好的基础类;
f 配置环境,写 hello world;
g 写个简单的mvc的demo;

2 目录结构


+ public
  |- index.php //入口文件
  |- .htaccess //重写规则    
  |+ css
  |+ img
  |+ js
+ conf
  |- application.ini //配置文件   
+ application
  |+ controllers
     |- Index.php //默认控制器
  |+ views    
     |+ index   //控制器
        |- index.phtml //默认视图
  |+ modules //其他模块
  |+ library //本地类库 (全局的)
  |+ models  //model目录
  |+ plugins //插件目录

2 配置文件

application.ini包含了yaf 框架的设置,先打开yaf[手册] (http://www.laruence.com/manual/yaf.config.html#yaf.config.bref)

名称       值类型          说明
application.directory   String  应用的绝对目录路径    ( 必须配置项)
application.ext String  php PHP脚本的扩展名
application.bootstrap   String  Bootstrapplication.php  Bootstrap路径(绝对路径)
application.library String  application.directory + "/library"  本地(自身)类库的绝对目录地址
application.baseUri String  NULL    在路由中, 需要忽略的路径前缀, 一般不需要设置, Yaf会自动判断.
application.dispatcher.defaultModule    String  index   默认的模块
application.dispatcher.throwException   Bool    True    在出错的时候, 是否抛出异常
application.dispatcher.catchException   Bool    False   是否使用默认的异常捕获Controller, 如果开启, 在有未捕获的异常的时候, 控制权会交给ErrorController的errorAction方法, 可以通过$request->getException()获得此异常对象
application.dispatcher.defaultController    String  index   默认的控制器
application.dispatcher.defaultAction    String  index   默认的动作
application.view.ext    String  phtml   视图模板扩展名
application.modules String  Index   声明存在的模块名, 请注意, 如果你要定义这个值, 一定要定义Index Module
application.system.*    String  *   通过这个属性, 可以修改yaf的runtime configure, 比如application.system.lowcase_path, 但是请注意只有PHP_INI_ALL的配置项才可以在这里被修改, 此选项从2.2.0开始引入

基本设置 :

application.directory = APP_PATH "/application " 应用的根目录
application.dispatcher.catchException = TRUE 捕获异常
application.dispatcher.throwException = TRUE 抛出异常
application.modules=index,admin 有两个模块
application.view.ext = html 视图的扩展名为html(默认为phtml)

3 安装yaf扩展 参照yaf官方文档

4 入口文件


<?php
define("APP_PATH", realpath(dirname(__FILE__) . '/../')); /* 指向public的上一级 */
$app = new Yaf_Application(APP_PATH . "/conf/application.ini");
$app->run();

定义了 入口文件的目录的常量,然后加载配置文件,启动框架!

5 路由规则
他的默认路由是这样的

www.xxx.com/m/c/a

请求www.xxx.com下m模块,c控制器,a方法

当然他也可以自己定义路由

6 封装类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值