0
I am getting the following error :
 Fatal error: Class 'Application_Form_Employee' not found in /var/www/Employee/application/controllers/EmployeeController.php on line 31 

アプリケーションのフォーム用に別のフォルダーを作成し、Forms内にあるEmployeeのフォルダーにフォームEmployee.phpを配置しました。application.iniのルーティングを以下に示します:resources.router.routes.employee.route = / employee

      resources.router.routes.employee.defaults.module = default           

  resources.router.routes.employee.defaults.controller = Employee

  resources.router.routes.employee.defaults.action = new  
   resources.router.routes.employee.route = /employee

resources.router.routes.employee.defaults.module = default           

resources.router.routes.employee.defaults.controller = Employee

resources.router.routes.employee.defaults.action = edit
resources.router.routes.employee.route = /employee

resources.router.routes.employee.defaults.module = default           

resources.router.routes.employee.defaults.controller = Employee

 resources.router.routes.employee.defaults.action = index

追加情報が必要かどうかを指定してください/////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////// PS:フォルダとルーティングを変更することで、このエラーを千の方法で解決しようとしました。

4

2 に答える 2

0

フォームを簡単に有効にし、リソースを正しく構成するには、Zend_ToolCLIを使用します。

コマンドラインで、またはideが互換性がある場合(Netbeansは互換性があります)、次のコマンドを入力します。

zf enable form

これにより、アプリケーションレベルおよびアプリケーションの名前空間フォーム用の正しいディレクトリが作成されます。

アプリケーションレベルのフォームを使用する場合、クラス名の前にプレフィックスが付けられApplication_Form_、ファイルは次の場所に存在します。

/application
    /forms
        /Myform.php

モジュールにフォームが必要な場合は、モジュール名を反映するようにコマンドを変更するだけです。

zf enable form -m admin

Zend_Tool cliのほとんどすべてのコマンドは、-mスイッチを使用してモジュール名を指定できます。

ZF1には、独自の名前空間を持つ多数の事前定義リソースがあります。クラスZend_Application_Module_Autoloaderには、デフォルトの名前空間の完全なリストと、それぞれのデフォルトのパスがあります。

この回答は、アプリケーションのセットアップがデフォルトのZF1構成にかなり近いことを前提としています。

PS私はあなたのすべてのルートが同じ名前「従業員」を持っていることに気づきました。これらの各ルートを実際に機能させるには、異なる名前が必要です。個々のURLは機能するはずですが、「名前付き」ルートは機能しません。スタックの最後のルートのみが機能します。

例えば:

//4 lines equals one route
resources.router.routes.employee.route = /employee
resources.router.routes.employee.defaults.module = default           
resources.router.routes.employee.defaults.controller = Employee
resources.router.routes.employee.defaults.action = index


//this route might work better as
resources.router.routes.editEmployee.route = /employee/edit
resources.router.routes.editEmployee.defaults.module = default           
resources.router.routes.editEmployee.defaults.controller = Employee
resources.router.routes.editEmployee.defaults.action = edit

各「名前付き」ルートには、一意の名前と一意のURLが必要です。

于 2013-03-23T07:02:07.213 に答える
-1

フォームクラスにApplication_Form_Employeeという名前を付けないでください。

Form_Employeeという名前にする必要があります。ZendのApplicationをクラスの前に付けないでください。

たとえば、application / Models / Test.php内にあるモデルには、 Application_Model_TestではなくModel_Testという名前を付ける必要があります。フォーム、サービスについても同じです。

于 2013-03-22T10:26:37.797 に答える