2009-10-15 59 views
0

编辑:其他问题:使用任何类/命名空间ZendFramwork

  • 我必须在new NAMSPACE_CLASSNAME
  • 结束时,我可以访问内部的任何Zend的包加名“.php”我控制器/模型,用于 例如:

/*控制器// //方法A *内部/

方法$客户=新 一个Zend_Http_Client( 'http://example.org', 阵列( 'maxredirects'=> 0, '超时'=> 30));

那里嗨,

因为我已经问How to add 3rd party lib to the ZendFramework,我也想问问,我的图书馆是否可以在我的每一个controllersmodelsviews等 是否注册一个命名空间和自动加载其类意味着,如果我注册'MyClassXY_'使能使用'MyClassXY_someMethod'

我的问题的另一部分是关于在我的控制器中使用任何Zend内部类/组件/方法。 正如我从CakePHP知道的那样,我可以做App::import('appIwantToLoad')或使用component在我的控制器/模型中提供任何CakePHP类/组件。 ZendFramework看起来有点不同: 我听说过'工厂'例如使用放入工厂方法的参数数组实例化一个CacheObject的方法。

如果你还是不明白我的问题是有关的,我尽量给你一个简单的例子是什么:

我坐在控制器前,我要访问的ACL或ZendFramework的缓存模块。 我没有设置任何特定的命名空间加载(只是'Default_'加载),我没有设置任何特定的资源加载(除了FrontController和所有其他基本的MVC资源)。

现在我可以只使用($Namespace_Module_AdditionalStuff$ZendModuleXY = $Zend_Module_AdditionalStuff::constructionMethod来globaly访问这个或那个类或方法吗?

非常感谢。

回答

1

如果您为MyClassXY库设置自动加载,则可以使用该目录下的任何类。 E.g:

//if there is library/MyClassXY/Foo.php with class MyClassXY_Foo 
new MyClassXY_Foo 
//is valid 

b)您可以将您的自举资源Zend_Registry

Zend_Registry::set('dbConnection', $resource); 

class App_Another_Class 
{ 
    /* */ 
    $resource = Zend_Registry::get('dbConnection'); 
} 
+0

我必须添加.php还是可以离开它? – 2009-10-15 19:20:45

+0

@ daemonfire300:这是一个错字,sry。 – erenon 2009-10-16 13:45:40