Zend Framework - Membuat Modul
Pada bab ini, kita akan mempelajari cara membuat modul berbasis MVC di Zend Framework. Mari kita buat modul bernamaTutorial untuk memahami proses pembuatan modul.
Buat kelas PHP baru bernama Module di dalam direktori –myapp / module / Tutorial / src / dan implementasikan ConfigProviderInterface.
Set Tutorial sebagai namespace untuk Module kelas.
Tulis fungsi publik getConfig dalam Module kelas dan mengembalikan file konfigurasi untuk Tutorial Modul.
Kode lengkap untuk Module kelas adalah sebagai berikut -
<?php
namespace Tutorial;
use Zend\ModuleManager\Feature\ConfigProviderInterface;
class Module implements ConfigProviderInterface {
public function getConfig() {
return include __DIR__ . '/../config/module.config.php';
}
}
Konfigurasikan Tutorial modul di composer.json di bawah autoload bagian dengan menggunakan kode berikut.
"autoload": {
"psr-4": {
"Application\\": "module/Application/src/",
"Tutorial\\": "module/Tutorial/src/"
}
}
Perbarui aplikasi menggunakan komposer update perintah seperti yang ditunjukkan di bawah ini.
composer update
Itu composer perintah akan melakukan perubahan yang diperlukan pada aplikasi dan menampilkan log di command prompt seperti yang ditunjukkan di bawah ini -
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Removing zendframework/zend-component-installer (0.3.0)
- Installing zendframework/zend-component-installer (0.3.1)
Downloading: 100%
- Removing zendframework/zend-stdlib (3.0.1)
- Installing zendframework/zend-stdlib (3.1.0)
Loading from cache
- Removing zendframework/zend-eventmanager (3.0.1)
- Installing zendframework/zend-eventmanager (3.1.0)
Downloading: 100%
- Removing zendframework/zend-view (2.8.0)
- Installing zendframework/zend-view (2.8.1)
Loading from cache
- Removing zendframework/zend-servicemanager (3.1.0)
- Installing zendframework/zend-servicemanager (3.2.0)
Downloading: 100%
- Removing zendframework/zend-escaper (2.5.1)
- Installing zendframework/zend-escaper (2.5.2)
Loading from cache
- Removing zendframework/zend-http (2.5.4)
- Installing zendframework/zend-http (2.5.5)
Loading from cache
- Removing zendframework/zend-mvc (3.0.1)
- Installing zendframework/zend-mvc (3.0.4)
Downloading: 100%
- Removing phpunit/phpunit (5.7.4)
- Installing phpunit/phpunit (5.7.5)
Downloading: 100%
Writing lock file
Generating autoload files
Buat file konfigurasi modul, "module.config.php" di /config/ dengan kode berikut -
<?php
namespace Tutorial;
use Zend\ServiceManager\Factory\InvokableFactory;
use Zend\Router\Http\Segment;
return [
'controllers' => [
'factories' => [Controller\TutorialController::class => InvokableFactory::class,],
],
'view_manager' => [
'template_path_stack' => ['tutorial' => __DIR__ . '/../view',],
],
];
File konfigurasi memiliki tiga bagian dan sebagai berikut -
Controller configuration - Tentukan pengontrol yang tersedia di dalam Modul.
Routing configuration - Tentukan bagaimana pengontrol dalam modul harus diselesaikan menjadi URL.
View configuration - Tentukan konfigurasi yang terkait dengan tampilan mesin seperti lokasi tampilan, dll.
Konfigurasikan Tutorial modul dalam file konfigurasi tingkat aplikasi - myapp / config / modules.config.php.
return ['Zend\Router', 'Zend\Validator', 'Application', 'Tutorial'];
Jalankan aplikasi dengan menjalankan composer serve di root folder aplikasi.
Kami telah berhasil menambahkan modul baru, tetapi kami masih perlu menambahkan Controller, Routing dan Views agar berhasil menjalankan Tutorial modul.