Home >Backend Development >PHP Tutorial >ZendFramework怎么导入自己的类

ZendFramework怎么导入自己的类

WBOY
WBOYOriginal
2016-06-13 10:17:34874browse

ZendFramework如何导入自己的类?
我想在ZendFramework中添加一个图像处理类,通过手册上还有网上看到的一些方法,都是报错,不知道什么原因?
我把ImageProcessing.php放在application\Controller\Plugin目录下,
内容
class Custom_Controller_Plugin_ImageProcessing extends Zend_Controller_Plugin_Abstract{
……
}
然后在textAction()中使用,Zend_Loader::loadClass('Custom_Controller_Plugin_ImageProcessing');
报错:

Assembly code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in F:\web\my\library\Zend\Controller\Dispatcher\Standard.php:248 Stack trace: #0 F:\web\my\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 F:\web\my\index.php(28): Zend_Controller_Front->dispatch() #2 {main} Next exception 'Zend_Controller_Exception' with message 'Invalid controller specified (error)#0 F:\web\my\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 F:\web\my\index.php(28): Zend_Controller_Front->dispatch() #2 {main}' in F:\web\my\library\Zend\Controller\Plugin\Broker.php:336 Stack trace: #0 F:\web\my\library\Zend\Controller\Front.php(965): Zend_Controller_Plugin_Broker->postDispatch(Object(Zend_Controller_Request_Http)) #1 F:\web\my\index.php(28): Zend_Contr in F:\web\my\library\Zend\Controller\Plugin\Broker.php on line 336

这是按照网上别人说着的方法来做的,是不是我自己在Controller目录下建立Plugin文件夹,之后还要在哪里set一下Plugin的路径?
index.php文件代码:
PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php error_reporting(E_ALL|E_STRICT);    date_default_timezone_set('Asia/Shanghai');    set_include_path('.' .PATH_SEPARATOR .'./library'.PATH_SEPARATOR .'./application/model/'.PATH_SEPARATOR . get_include_path());    require_once "Zend/Loader/Autoloader.php";  //载入zend框架    Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true); //静态载入自动类文件    $registry = Zend_Registry::getInstance();    $view = new Zend_View();    $view->setScriptPath('./tpl/');//设置模板显示路径//    $view->setHelperPath('./tpl/');//设置 显示路径    $registry['view'] = $view;//注册View        //配置数据库参数,并连接数据库    $config=new Zend_Config_Ini('./application/config/config.ini',null, true);    Zend_Registry::set('config',$config);    $dbAdapter=Zend_Db::factory($config->general->db->adapter,$config->general->db->config->toArray());    $dbAdapter->query('SET NAMES UTF8');    Zend_Db_Table::setDefaultAdapter($dbAdapter);    Zend_Registry::set('dbAdapter',$dbAdapter);    Zend_Registry::set('dbprefix',$config->general->db->config->prefix);    //设置控制器    $frontController =Zend_Controller_Front::getInstance();    $frontController->setBaseUrl('/')//设置基本路径                    ->setParam('noViewRenderer', true)                    ->setControllerDirectory('./application/Controller')                    ->dispatch();//                    ->throwExceptions(true)

还有我把该类放到application\Views\helpers目录下,
内容:class Zend_View_Helper_ImageProcessing extends Zend_View_Helper_Abstract {……}
也报一样的错误。
这个问题搞了好几天了,希望高手帮帮我。
还有个小问题,就是在thinkphp中,如果要添加自己公共function,可以在common/common.php中添加,而zendframework是通过怎么添加?

------解决方案--------------------
要不可以用这个,但是有点牵强
http://blog.csdn.net/mengxiangbaidu/article/details/7345108


那个\Views\helpers自定义助手的方法。没有写。过两天有时间再写。


或者你直接include。这都是允许的
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn