日期:2014-05-20  浏览次数:20716 次

使用Zend framework可能遇到的两个问题

今天照着教程基于Zend framework做一个简单的例子,遇到两个很初级的问题,在网上瞎搜索了一番,不断尝试才解决了。

?

问题一:使用Zend Studio创建一个ZF的工程后,只能访问默认URL如localhost/myphp/public,连localhost/myphp/public/index/index都不能访问,更不用说自己创建的action了。问题出在Apache/conf/httpd.conf文件里,AllowOverride应为All而不是None。

<Directory "<INTALL_PATH>\Apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

?

问题二:创建了一个自己的Model类,在controllers/IndexController.php使用时,出现Class Not Found的错误。于是使用require_once来加在指定文件(相对路径),始终出错,提示Failed to open stream信息。后来用绝对路径dirname(__FILE__) . '../models/Biz.php'才算解决,但是这样引入文件看上去太stupid,还得找新办法。

?

另一种办法是在Bootstrap里加入如下代码:

    protected function _initAutoload() {
        $moduleLoader = new Zend_Application_Module_Autoloader(
        array('namespace' => '', 'basePath' => APPLICATION_PATH));
        return $moduleLoader;
    }
?

?