yaf(4) Yaf_Loader()

2013年3月19日 17:16:36

要想成功获得 Yaf_Loader 对象

方案一:

第一步:初始化Yaf_Application对象

第二步:初始化 Yaf_Loader 对象

 1 $app  = new Yaf_Application(ROOT . "/conf/application.ini");
 2 
 3 $loader = Yaf_Loader::getInstance();
 4 var_dump('loader', $loader);
 5 $loader->import(ROOT.'/library/Smarty/Smarty.class.php');
 6 // $smarty = new Smarty();
 7 // $smarty->left_delimiter = "<{";
 8 // $smarty->right_delimiter = "}>";
 9 
10 $app->bootstrap()->run(); //call bootstrap methods defined in Bootstrap.php

这时第4行才能打印出来的 Yaf_Loader 对象
如果初始化 Yaf_Loader 对象的行为出现在初始化 Yaf_Application 之前,那么得到的只能是false

 方案二(2013年3月20日 11:33:49):

在初始化 Yaf_Loader 时,传入本地类库路径和全局类库路径:

$loader = Yaf_Loader::getInstance(ROOT.'/application/library', ROOT.'/library');

这样也可以成功得到loader对象

p.s.

registerLocalNameSpace()

通过它来添加新值,注意不能和全局类库中的名字重复

getInstance(string 本地类库路径, string 全局类库路径)

目前的使用结论是(刚开始用,可能有误):

1.本地类库路径的参数如果与配置文件中设置的不同会以配置文件为准

2.本地类库路径必须以/library结尾,否则yaf会:

传入实参:ROOT.'application/business'

打印结果:***/application\library

原文地址:https://www.cnblogs.com/iLoveMyD/p/2969596.html