yaf对于php版本的依赖,关于Yaf框架的使用总结

从入wb以来,我们的项目就没有离开过Yaf,在这里谈谈我对Yaf这个框架的使用感触吧。

实例是建立在一个管理系统项目基础上:

从鸟哥的博客上介绍:“Yaf是一个C语言编写的框架”,主要特定如下(摘自鸟哥网站):

1. 用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销.

2. 所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存.

3. 更短的内存周转周期, 提高内存利用率, 降低内存占用率.

4. 灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享.

5. 高性能的视图引擎.

6. 高度灵活可扩展的框架, 支持自定义视图引擎, 支持插件, 支持自定义路由等等.

7. 内建多种路由, 可以兼容目前常见的各种路由协议.

8. 强大而又高度灵活的配置文件支持. 并支持缓存配置文件, 避免复杂的配置结构带来的性能损失.

9. 在框架本身,对危险的操作习惯做了禁止.

10. 更快的执行速度, 更少的内存占用.

那么,我们到底怎么用的,我们这里看下:

安装

从github上描述,Yaf需要php5.2以上版本,我们的系统都升级到了php7,所有开发都在php7下面。

我比较倾向于源码安装:

sudo phpize

./configure --with-php-config=/path/to/php-config

make && make install

代码路径及说明

├── application

│?? ├── Bootstrap.php // Yaf web启动文件

│?? ├── composer.json // composer依赖的文件,

│?? ├── config // 一些配置文件

│?? ├── controllers // controller模块

│?? ├── library // 项目包含的一些公共的包

│?? ├── models // 项目的模型层

│?? ├── plugins // 中间件的内容

│?? ├── vendor // composer加载进来的一些包,这一部分是后来才加进来的

│?? └── views // 视图层

└── public // 项目的入口文件和一些公共资源文件

└── index.php // 项目的入口文件,nginx配置项直接指向这个文件

Yaf项目配置文件

index.php中有个指向配置文件的地方, 这个代表会加载配置文件config/application.ini,里面会有一些Yaf的相关配置:

$app = new Yaf_Application(APPLICATION_PATH . ‘/config/application.ini‘);

这个里面有一项:

application.dispatcher.defaultRoute.type="map"

application.dispatcher.defaultRoute.controllerPrefer=true

没有使用复杂的路由方式,如上配置,代表每个uri路径对应一个文件,如:

/a/b/c /a/b_c 都对应 controllers/A/B/C.php 中的 class A_B_CController 中的indexAction方法,

后来我在plugins里面加了一个重写机制:

对应 /a/b_c 的路径,对应 class A_BController 的cAction的方法。

实际上不配置上面的这项内容( application.dispatcher.defaultRoute.controllerPrefer=true)也应该可以打到效果。

常用的命令_变量的赋值

在controller中利用下面语句传递参数到页面上:

$this->getView()->assign(‘rate_list‘, $rate_list);

然后在,vierw里面的页面里使用rate_list这个内容是哪个。

常用的命令_指明view

在 controller 的类的方法中也可指明需要加载的view。如下,在语句后面必须使用exit()退出,否则还会去寻找默认的view而引发错误。

$this->getView()->display(‘index/configindex.phtml‘);

常用的命令_注册本地类库

Yaf_Loader::getInstance()->registerLocalNameSpace([‘User‘, ‘Permission‘, ‘Data‘ ... ... ]);

上面的意思是:注册本地类名前缀, 这部分类名将会在本地类库查找 里面的每个item可以对应一个.php文件,也可对应一个文件夹。

未完,待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值