Zend Framework - Modül Oluşturma
Bu bölümde, Zend Framework'te MVC tabanlı bir modülün nasıl oluşturulacağını öğreneceğiz. Diye adlandırılan bir modül oluşturalımTutorial modül oluşturma sürecini anlamak için.
Adlı yeni bir PHP sınıfı oluşturun Module –myapp / module / Tutorial / src / dizininin içine ve ConfigProviderInterface'i uygulayın.
Ayarlamak Tutorial için ad alanı olarak Module sınıf.
Bir genel işlev yazın getConfig içinde Module sınıf ve yapılandırma dosyasını döndür Tutorial Modül.
İçin tam kod Module sınıf aşağıdaki gibidir -
<?php
namespace Tutorial;
use Zend\ModuleManager\Feature\ConfigProviderInterface;
class Module implements ConfigProviderInterface {
public function getConfig() {
return include __DIR__ . '/../config/module.config.php';
}
}
Yapılandırın Tutorial modüldeki composer.json altında autoload aşağıdaki kodu kullanarak bölümü.
"autoload": {
"psr-4": {
"Application\\": "module/Application/src/",
"Tutorial\\": "module/Tutorial/src/"
}
}
Besteciyi kullanarak uygulamayı güncelleyin update komutu aşağıda gösterildiği gibi.
composer update
composer komut, uygulamada gerekli değişikliği yapacak ve aşağıda gösterildiği gibi komut isteminde günlükleri gösterecektir -
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
Modül yapılandırma dosyasını "module.config.php" adresinde oluşturun. /config/ aşağıdaki kod ile -
<?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',],
],
];
Yapılandırma dosyası üç bölümden oluşur ve bunlar aşağıdaki gibidir -
Controller configuration - Modül içinde bulunan kontrolörleri belirtin.
Routing configuration - Modüldeki denetleyicilerin URL'lere nasıl çözümlenmesi gerektiğini belirtin.
View configuration - Görünümlerin konumu gibi motoru görüntülemekle ilgili yapılandırmayı belirtin.
Yapılandırın Tutorial uygulama seviyesi konfigürasyon dosyasındaki modül - myapp / config / modules.config.php.
return ['Zend\Router', 'Zend\Validator', 'Application', 'Tutorial'];
Uygulamayı çalıştırarak çalıştırın. composer serve uygulama klasörünün kökünde.
Başarıyla yeni bir modül ekledik, ancak yine de eklememiz gerekiyor Controller, Routing ve Views başarıyla çalıştırmak için Tutorial modül.