Zend-framework-working-example
Zend Framework-動作例
この章では、Zend FrameworkでMVCベースの完全な従業員アプリケーションを作成する方法を学びます。 以下の手順に従ってください。
ステップ1:Module.php
まず、myapp/module/Employee/src/ディレクトリ内にEmployeeモジュールを作成してから、ConfigProviderInterfaceインターフェイスを実装する必要があります。
Moduleクラスの完全なコードは次のとおりです-
ステップ2:composer.json
次のコードを使用して、autoloadセクションの composer.json で Tutorial モジュールを構成します。
次に、composer updateコマンドを使用してアプリケーションを更新します。
Composerコマンドは、アプリケーションに必要な変更を行い、以下のコマンドプロンプトに表示されるようにログを表示します。
ステップ3:従業員モジュールのmodule.config.php
次のコードを使用して、myapp/module/Employee/configの下にモジュール構成ファイル「module.config.php」を作成します。
次に、アプリケーションレベルの構成ファイルmyapp/config/modules.config.phpでEmployeeモジュールを構成します。
ステップ4:EmployeeController
AbstractActionControllerを拡張して新しいPHPクラスEmployeeControllerを作成し、myapp/module/Employee/src/Controllerディレクトリに配置します。
完全なコードリストは次のとおりです-
ステップ5:ルーターの構成
Employeeモジュールにセグメントルートを追加しましょう。 myapp/module/Employee/configにある従業員モジュール構成ファイルmodule.config.phpを更新します。
Employeeモジュールのルーティングを追加しました。 次のステップは、Employeeアプリケーションのビュースクリプトを作成することです。
ステップ6:ViewModelを作成する
myapp/module/Employee/view/employee/employeeディレクトリの下に「index.phtml」というファイルを作成します。
ファイルに次の変更を追加します-
最後に、Employeeモジュールが正常に完了しました。 次のURLを使用してアクセスできます- http://localhost:8080/employee 。
結果
次のステップでは、従業員アプリケーションで*追加、編集*および*削除*データ操作を実行します。 これらの操作を実行するには、最初にデータベースモデルを作成する必要があります。 次のステップで説明します。
ステップ7:モデルを作成する
モジュール* srcディレクトリ*にモデルEmployeeを作成しましょう。 通常、モデルはModelフォルダー(myapp/module/Employee/src/Model/Employee.php)の下にグループ化されます
ステップ8:MySQLテーブル
次のコマンドを使用して、ローカルMYSQLサーバーに tutorials という名前のデータベースを作成します-
次のSQLコマンドを使用して、データベースに employee という名前のテーブルを作成しましょう-
次のクエリを使用して employee テーブルにデータを挿入します-
ステップ9:データベース構成の更新
グローバル構成ファイルmyapp/config/autoload/global.phpを必要なデータベースドライブ情報で更新します。
次に、ローカル構成ファイル(myapp/config/autoload/local.php)のデータベース資格情報を更新します。 このようにして、ローカルとライブのデータベース接続資格情報を分離できます。
ステップ10:exchangeArrayを実装する
EmployeeモデルにexchangeArray関数を実装します。
ステップ11:TableGatewayを使用して従業員データを取得する
Modelフォルダー自体にEmployeeTableクラスを作成します。 次のコードブロックで定義されています。
ステップ12:EmployeeTableクラスを構成する
_getServiceConfig()_メソッドを使用して_Module.php_の従業員サービスを更新する
ステップ13:コントローラーに従業員サービスを追加する
以下に示すように、myapp/module/config/module.config.phpのEmployee Module Configurationのコントローラーセクションを更新します。
ステップ14:EmployeeControllerのコンストラクターを追加する
引数として EmployeeTable を使用してコンストラクターを追加し、次の変更を編集します。
ステップ15:ビュースクリプト「index.phtml」で従業員情報を表示する
ファイルに移動します- index.phtml および次の変更を行います-
これでデータベースモデルが正常に作成され、アプリケーション内のレコードを取得できます。
url- http://localhost:8080/employee を使用してアプリケーションを要求します。
結果
次のステップでは、従業員モジュールでの*挿入、編集*および*削除*データ操作について説明します。
ステップ16:従業員フォームを作成する
myapp/module/Employee/src/Formディレクトリに EmployeeForm.php というファイルを作成します。 以下のコードブロックで説明します。
ステップ17:従業員モデルを更新する
従業員モデルを更新し、InputFilterAwareInterfaceを実装します。 ディレクトリmyapp/module/Employee/src/Employee/Modelに移動し、 Employee.phpfile に次の変更を追加します。
ステップ18:Employee ControllerにaddActionを追加します
ステップ19:EmployeeTableクラスに保存機能を追加する
次の2つの関数をEmployeeTableクラスに追加します– myapp/module/Employee/src/Model/EmployeeTable.php
ステップ20:AddActionメソッドのビュースクリプトAdd.phtmlを作成します
-myapp/module/view/employee/employeeの「Add.phtml」ファイルに次の変更を追加します。
結果
データが追加されると、ホームページにリダイレクトされます。
ステップ21:従業員レコードの編集
Employeeモジュールでデータ編集操作を実行しましょう。 Employeecontroller.php の以下の変更を更新します。
ここでは、一致したルートにある id を探し、編集操作のために従業員の詳細をロードします。
ステップ22:Employee.php
ここで、「myapp/module/Employee/src/Employee/Model/」ディレクトリにある「Employee.php」ファイルに次の変更を追加します。
ここで、Zend \ Stdlib \ Hydrator \ ArraySerializableは、モデル内の2つのメソッド* getArrayCopy()および exchangeArray()*を見つけることを想定しています。
この場合、exchangeArray()が反復に使用されます。 この関数は、従業員テーブルのデータをバインドするために使用されます。
次に、* editAction()*のビュースクリプトを作成する必要があります。
ステップ23:Edit.phtmlを作成する
module/Employee/view/employee/employee/edit.phtmlにビュースクリプトファイルを作成します。
次のスクリーンショットに、従業員の詳細の編集を示します。
データが編集されると、ホームページにリダイレクトされます。
ステップ24:deleteEmployeeメソッドを追加する
deleteEmployeeメソッドをEmployeeTableクラスに追加します– myapp/module/Employee/src/Model/EmployeeTable.php
ステップ25:従業員レコードを削除する
Employeeモジュールでデータの削除操作を実行してみましょう。 次のメソッド deleteAction をEmployeeControllerクラスに追加します。
ここで、deleteEmployee()メソッドは id で従業員を削除し、従業員リストページ(ホームページ)にリダイレクトします。
deleteAction()メソッドに対応するビュースクリプトを作成しましょう。
ステップ26:ビュースクリプトを作成する
-_myapp/module/Employee/view/employee/employee/delete.phtml_にdelete.phtmlという名前のファイルを作成し、次のコードを追加します。
ここで、ホームページの edit リンクを使用して従業員を削除すると、結果は次のスクリーンショットのようになります。
結果
必要なすべての機能を実装することにより、Employeeモジュールを正常に完了しました。
結論
現在の競争環境では、Zendフレームワークは開発者によって最上位に置かれています。 PHP言語のプログラムまたはアプリケーションの種類に抽象化を提供します。 成熟したフレームワークであり、最新のPHP言語機能をサポートしています。 楽しく、プロフェッショナルで、進化し、現在のテクノロジーに歩調を合わせています。