嘿 我似乎正在攀登一个非常可怕的学习曲线。我需要花费数小时才能达到构建/编写代码的程度。我原本希望能够在其各自的模块中存储表单或模型,例如:./ application / modules / ModuleName /forms / ClassName.php但是当我尝试使用以下函数实例化一个类:$ form = new ModuleName_Form_ClassName( );它失败了。因此,我认为我会通过将其移动到默认模块来简化所有内容。但它仍然无法正常工作。我还在做错事。我不知道是什么。
在我的控制器操作中,我有这个:
// some other code
$form = new Form_Login();
在加载操作时,我收到以下错误消息:
Fatal error: Class 'Form_Login' not found in /some folder/www/application/modules/default/controllers/AdministrationController.php on line 22
我的application.ini包含:
appnamespace = "SomeModule"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] =
表单存储在./application/modules/default/forms/Login.php
中1。我该如何解决这个问题?我得到的错误消息是无用的。
2。我真的认为如果有一些方法可以调试__autoload()函数,我的所有问题都可能得到解决。没有吗?
第3。难道没有办法在默认模块中使用另一个模块中的模型/表单吗?这就是我想要做的。我认为它会使一切更有条理。如果这是不可能的,我根本无法看到它如何有用......
干杯,
一个生病的新手Zend开发者。
答案 0 :(得分:5)
听起来你第一次差点儿就有了。假设您的模块是用户和您的表单登录。为了application/module/users/forms/Login.php
工作:
Users_Form_Login
resources.modules[] =
来初始化模块资源(您拥有)
class Users_Bootstrap extends Zend_Application_Module_Bootstrap
{
}
在application/module/users/Bootstrap.php
定义。路径区分大小写。
我同意自动加载器可能很难调试,不幸的是,它是其中之一,无论是有效还是不可用,但是一旦你进行了设置,你就可以忘掉它。希望以上内容能够回答您的第三个问题 - 是的,您可以使用默认模块中其他模块的表单。