Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php zend framework模型创建中出错_Php_Zend Framework - Fatal编程技术网

Php zend framework模型创建中出错

Php zend framework模型创建中出错,php,zend-framework,Php,Zend Framework,我刚刚开始使用zend框架。我在zend中创建了一个项目 结构 application configs application.ini layouts modules core DB Dbclass.php Table default controllers views for

我刚刚开始使用zend框架。我在zend中创建了一个项目

结构

 application
     configs
         application.ini
     layouts
     modules
         core
           DB
             Dbclass.php
           Table
         default
           controllers
           views
           forms
     bootstrap.php
 library
 public
 index 
我的引导文件包含

 public function _autoload(){

    set_include_path(
    '/application/modules/core/DB' 
    . PATH_SEPARATOR . 
    '/application/modules/core/Table' 
    . PATH_SEPARATOR . 
    get_include_path());
}
public function _init(){

    $front = Zend_Controller_Front::getInstance();
    $front->setControllerDirectory(array(
    'default' => APPLICATION_PATH.'/modules/default/controllers'
    ));
}
 [production]
 phpSettings.display_startup_errors = 0
 phpSettings.display_errors = 0
 phpSettings.date.timezone = "Europe/London"
 ;includePaths.library = APPLICATION_PATH "/../library"
 bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
 bootstrap.class = "Bootstrap"
 appnamespace = "Application"
 ;resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
 resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
 resources.frontController.moduleControllerDirectory = APPLICATION_PATH   "/modules/controllers"
resources.frontController.defaultModule = "default"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

resources.frontController.params.displayExceptions = 0
my application.ini文件包含

 public function _autoload(){

    set_include_path(
    '/application/modules/core/DB' 
    . PATH_SEPARATOR . 
    '/application/modules/core/Table' 
    . PATH_SEPARATOR . 
    get_include_path());
}
public function _init(){

    $front = Zend_Controller_Front::getInstance();
    $front->setControllerDirectory(array(
    'default' => APPLICATION_PATH.'/modules/default/controllers'
    ));
}
 [production]
 phpSettings.display_startup_errors = 0
 phpSettings.display_errors = 0
 phpSettings.date.timezone = "Europe/London"
 ;includePaths.library = APPLICATION_PATH "/../library"
 bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
 bootstrap.class = "Bootstrap"
 appnamespace = "Application"
 ;resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
 resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
 resources.frontController.moduleControllerDirectory = APPLICATION_PATH   "/modules/controllers"
resources.frontController.defaultModule = "default"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

resources.frontController.params.displayExceptions = 0
在indexcontroller中创建对象时

 $new_object = new Dbclass();
有一个错误显示

 Fatal error: Class 'Dbclass' not found in D:\xampp\htdocs\pubman\application\modules\default\controllers\IndexController.php on line 16
如果有人知道这一点,请帮助我


提前感谢。

一些评论/意见:

  • 您的方法
    引导::\u autoload()
    将不会运行。引导程序将自动运行
    \u initXXX()
    形式的所有方法

  • 通常,您不会将模型放入
    模块/core/DB/*
    中。您可以将它们放在
    modules/core/models/*
    中,默认资源自动加载程序知道在那里查找它们

  • 您正在指定appnamespace
    应用程序
    。这意味着目录中的所有类,如
    application/models
    application/services
    application/forms
    等,都将以
    application\u Model\u Something
    的形式命名,而不仅仅是像您这样的
    Something
    。但是,由于您已将这些类放置在核心模块中,因此它们的名称类似于
    core\u Model\u something

  • 如果您想使用模块,那么在
    应用程序/configs/application.ini中应该有
    资源.modules[]=
    声明

  • 对于每个模块,通常都会有一个引导类,例如exmaple,
    Core\u Bootstrap
    -扩展
    Zend\u Application\u module\u Bootstrap
    。这将确保调用模块的标准资源自动加载程序


  • 这会让你更接近。坦率地说,那里有很多事情,所以这不可能是一个完整的清单。基本部分是理解系统需要知道什么才能加载不在
    include_path
    上的类(如模型、表单等):名称空间前缀,它需要在其中开始执行PSR-0构造的基本路径。

    为什么不从ZF1开始使用ZF2呢?