首頁 > 後端開發 > php教程 > ZendFramework怎么导入自己的类

ZendFramework怎么导入自己的类

WBOY
發布: 2016-06-13 10:17:34
原創
883 人瀏覽過

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。这都是允许的
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板