Kolejnym sposobem na dodanie routingu w Zend Framework 3 jest użycie komponentu Zend\Mvc\Router. Ten komponent jest już domyślnie zainstalowany w aplikacji Zend Framework 3.
Oto przykładowy sposób utworzenia własnego routingu z użyciem Zend\Mvc\Router w Zend Framework 3:
- Dodaj moduł routingu do pliku konfiguracyjnego aplikacji, który znajduje się w katalogu
config/application.config.php:
'modules' => [
'Zend\Router',
'Application',
],
- Utwórz plik konfiguracyjny dla routingu i zapisz go w katalogu
module/Application/config/module.config.php:
use Zend\Mvc\Router\Http\Literal;
use Zend\Mvc\Router\Http\Segment;
return [
'router' => [
'routes' => [
'home' => [
'type' => Literal::class,
'options' => [
'route' => '/',
'defaults' => [
'controller' => 'Application\Controller\Index',
'action' => 'index',
],
],
],
'about' => [
'type' => Segment::class,
'options' => [
'route' => '/about[/:action]',
'defaults' => [
'controller' => 'Application\Controller\About',
'action' => 'index',
],
],
],
],
],
];
- Stwórz kontroler
AboutControllerz akcjąindexActioni ewentualnie innymi akcjami, który będzie odpowiadał za wyświetlanie informacji o stronie „O nas”:
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class AboutController extends AbstractActionController
{
public function indexAction()
{
return new ViewModel([
'pageTitle' => 'O nas',
'pageContent' => 'Jesteśmy zespołem pasjonatów...',
]);
}
public function teamAction()
{
return new ViewModel([
'pageTitle' => 'Nasz zespół',
'pageContent' => 'Oto nasi pracownicy...',
]);
}
}
- Przejdź na stronę główną aplikacji, aby zobaczyć, jak działa routing:
http://localhost/
Powinna zostać wyświetlona strona główna aplikacji.
- Przejdź na stronę „O nas”, aby sprawdzić, czy routing działa poprawnie:
http://localhost/about
Powinna zostać wyświetlona strona „O nas” z tytułem „O nas” i treścią „Jesteśmy zespołem pasjonatów…”.
- Spróbuj przejść na inną stronę „O nas”, aby sprawdzić, czy routing działa dla innej akcji w kontrolerze:
http://localhost/about/team
Powinna zostać wyświetlona strona „Nasz zespół” z tytułem „Nasz zespół” i treścią „Oto nasi pracownicy…”.