Fatal error: Class 'Albums' not found in E:\wwwroot\zf-tutorial\application\cont

zhangshl_php 2011-06-12 10:58:42
希望大家能帮忙解决下。
Fatal error: Class 'Albums' not found in E:\wwwroot\zf-tutorial\application\controllers\IndexController.php on line 7

找不到 Albums 这个函数,但是又不知道是哪里出现了问题。
IndexController

class IndexController extends Zend_Controller_Action
{
function indexAction()
{
$this->view->tile="My Albums";
$albums = new Albums();
$this->view->albums = $albums->fetchAll();
}
}

index.php

error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 1);
date_default_timezone_set('Europe/London');
// 目录设置和类装载
set_include_path('.' . PATH_SEPARATOR . '../library/'
. PATH_SEPARATOR . '../application/models'
. PATH_SEPARATOR . get_include_path());


require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->registerNamespace('App_');

// 设置控制器
$frontController = Zend_Controller_Front::getInstance();
$frontController->throwExceptions(true);
$frontController->setControllerDirectory('../application/controllers');

$frontController->setParam('useDefaultControllerAlways', true);
$layout = Zend_Layout::startMvc(array('layout' => 'layouts','layoutPath' => '../application/layouts', 'contentKey' => 'CONTENT',));

//设置数据库连接信息
$config = new Zend_Config_Ini('../application/config.ini', 'general');
$registry = Zend_Registry::getInstance();
$registry->set('config', $config);
$db = Zend_Db::factory($config->db);
Zend_Db_Table::setDefaultAdapter();
// run!
$frontController->dispatch();

Albums.php

<?php
class Albums extends Zend_Db{
protected $_name='albums';
}
?>
...全文
525 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ikwer 2011-08-23
  • 打赏
  • 举报
回复
zend的路径不是www/root吗 怎么变成wwwroot了
qsvsjk 2011-08-19
  • 打赏
  • 举报
回复

require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->registerNamespace('App_');

改为


require_once "Zend/Loader/Autoloader.php";
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);



搞定?
qsvsjk 2011-08-19
  • 打赏
  • 举报
回复
我也遇到这样的问题
河了虫子 2011-07-08
  • 打赏
  • 举报
回复
路径不对
yuxingye 2011-06-23
  • 打赏
  • 举报
回复
这个是因为你没有把这个函数加载进来。

看一下你Bootstrap.php 写的有没有问题
zhangshl_php 2011-06-16
  • 打赏
  • 举报
回复
去掉了 也不行
helloyou0 2011-06-14
  • 打赏
  • 举报
回复
你为啥需要这句?

$loader->registerNamespace('App_');

xuzuning 2011-06-12
  • 打赏
  • 举报
回复
如果不向显式的加载 Albums.php 文件
就必须把 Albums.php 文件放在 __autoload 函数可访问的范围里
如果是非 windows 系统,还需注意文件名的大小写
goosman 2011-06-12
  • 打赏
  • 举报
回复
1. 搭建一个debug环境, 通过断点调试.
2. 在set_include_path方法中增加输出语句.

通过上面两种方式去确定类文件是否被include/require了

报类加载不到...
除了文件没被包含, 还没有听说过其他原因...
zhangshl_php 2011-06-12
  • 打赏
  • 举报
回复
很急啊 。。Zend Framework 爱好者。都来帮下忙
zhangshl_php 2011-06-12
  • 打赏
  • 举报
回复
set_include_path('.' . PATH_SEPARATOR . '../library/'
. PATH_SEPARATOR . '../application/models'
. PATH_SEPARATOR . get_include_path());

这里已经把 application/models 都包含进来了。还需要require Albums.php ?
Albums.php 是在models 中的。
lfkcn 2011-06-12
  • 打赏
  • 举报
回复
Albums这个文件没include或者require吧
zhangshl_php 2011-06-12
  • 打赏
  • 举报
回复
继续等待。还是报出 这个错误信息。

Fatal error: Class 'Albums' not found in E:\wwwroot\zf-tutorial\application\controllers\IndexController.php on line 7

希望大家帮助下。从网上查了资料都不是很详细。是在一个pdf 学习资料上的例子。有知道的朋友,告诉怎么回事,如何修改。谢谢!
zhangshl_php 2011-06-12
  • 打赏
  • 举报
回复
貌似不是 包含的问题,是
index.php

中我写的
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->registerNamespace('App_');

这个的问题。但是不知道怎么改啊。请帮助

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧