PHP yaf视图中的layout布局插件的实现

如果读者使用过模板引擎,很多的模板引擎都有一个layout的功能,如smarty,thinkphp的模板引擎等

一、layout是什么

layout是模板中的布局功能,一般一个网站,头部和底部都是公共的,各子页面的头部和底部都是一样的,当然,这个可以通过include公共头部和底部来实现。而布局模板的功能类似于一个父模板,它决定了整个网站的布局。其中变化的内容可以由子模板去覆盖。

二、yaf中la

PHP yaf视图的使用

注:YAF是一个关注性能的框架,因此使用原生的PHP作为模板引擎,效率会更高

1、模板设置

(1)模板存放位置

默认存放位置为application/veiws下面,这里将它修改到application/templates下面

在启动文件Bootstrap.php中添加:

  1. public function _initView(Yaf\Dispatcher $dispatcher)
  2. {
  3. $dispa

PHP Yaf错误处理与异常捕获

一、异常分类

  • Yaf\Exception_TypeError : 类型错误
  • Yaf\Exception_StartupError : 启动失败
  • Yaf\Exception_DispatchFailed :路由分发失败
  • Yaf\Exception_RouterFailed : 路由失败
  • Yaf\Exception_LoadFailed : 文件加载失败(文件不存在)
  • Yaf\Exception_LoadFai

PHP yaf的网站部署

一、nginx配置

1、nginx简单配置

其实和部署其他php项目的配置并没有明显的区别,只不过为了url更加友好,一般需要隐藏index.php,个人推荐使用try_files

  1. location / {
  2. root /webroot/www;
  3. index index.html index.htm index.php;
  4. try_files $uri $uri/ /index.php;

PHP Yaf模型定义与源码分析

YAF中并没有包含数据库操作部分的基类,这个需要我们自己去集成,我们可以使用PHP官方的PDO来集成我们的模型基类

一、模型定义

1、模型文件
  • 文件位置:在models文件夹下
  • 模型文件命名:采用首字母大写的形式,去掉模型类的后缀Model,如Posts.php
2、模型类定义
  • 模型类定义:以控制器文件名为基础,后面添加上Model后缀
  • 继承:一般继承模型基类(这个基类需要我们自己定义,如\core\M