Yaf 学习笔记,控制器继承

;添加yaf扩展

extension=php_yaf.dll ;

设置自动加载机制 yaf.use_spl_autoload=1 ;

启用命名空间 yaf.use_namespace=0

 

 

设置之后,扩展类的引入变化如下:

//变化前(使用命名空间)

use Yaf\Bootstrap_Abstract;

use Yaf\Dispatcher; //变化后(命名空间关闭)

Yaf_Bootstrap_Abstract

Yaf_Dispatcher   

 

后者无需引入,直接作为类型使用即可。前提是在index.php中进行yaf应用的启动:

$app = new Yaf_Application(APP_PATH . "/conf/application.ini", 'personal');

$app->bootstrap()->run();

设定命名空间

/**
 * @Desc: 设置默认的命名空间:/app/library/Base/Base_XXX.php表示使用Base命名空间
 * @DateTime: 2018-10-20 18:14
 */
public function _initCommonFunction()
{
    //使用默认的命名空间
    Yaf_Loader::getInstance()->registerLocalNameSpace('Base');
}
 

 

我们手动注册了Base这个命名空间。该命名空间下的文件有目录和命名限制。

目录必须是我们设定的library目录下的Base文件夹中,其中library目录可以人为在application.ini中进行给定,一般在App目录下。

命名的话,对应的类名为Base_XXX,其中文件名为XXX.php

// 存放的目录:/app/libs/Base/Personal.php //基类命名规范 class Base_Personal extends Yaf_Controller_Abstract { }

必须一一对应,否则在controller中引入将提示找不到该类。使用方式:

class IndexController extends Base_Personal {

}

补充一个application.ini的配置说明

在配置变量中,我们可以看到类似以下的配置内容:

[common] XXX = XXX

[personal : common] XXX = XXX

这个配置的意思是personal的配置变量继承common的配置变量,common可以理解为公共的配置内容。当我们的项目使用的是personal模块时,我们需要在index.php中声明,声明如下:

$app = new Yaf_Application(APP_PATH . "/conf/application.ini", 'personal');

第二个参数就是将要使用的配置内容名称,可自行体验。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值