Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

RouterFactory

Příklad routovací továrničky pro Nette.

php

<?php

namespace App;

use Nette\Application\Routers\Route;
use Nette\Application\Routers\RouteList;

/**
 * Routovací továrnička.
 * Řídí routování v celé aplikaci.
 * @package App
 */
class RouterFactory
{
	/**
	 * Vytváří router pro aplikaci.
	 * @return RouteList výsledný router pro aplikaci
	 */
	public static function createRouter()								// Všem URL předchází výchozí adresa projektu (např. localhost/project/)
	{
		$router = new RouteList();										// ContactPresenter
		$router[] = new Route('kontakt/', 'Core:Contact:default');		// 1. kontakt/ -> Core:Contact:default -> action/renderDefault(-)
		$router[] = new Route('<action>/', array(						
			'presenter' => 'Core:Administration',						// AdministrationPresenter
			'action' => array(
				// řetězec v URL => akce presenteru
				Route::FILTER_TABLE => array(
					'administrace' => 'default',						// 2. administrace/ -> Core:Administration:default -> action/renderDefault(-)
					'prihlaseni' => 'login',							// 3. prihlaseni/ -> Core:Administration:login -> action/renderLogin(-)
					'odhlasit' => 'logout',								// 4. odhlasit/ -> Core:Administration:logout -> action/renderLogout(-)
					'registrace' => 'register'							// 5. registrace/ -> Core:Administration:register -> action/renderRegister(-)
				),
				Route::FILTER_STRICT => true
			)
		));
		$router[] = new Route('reference/<action>/[<url>]', array(
			'presenter' => 'Core:Reference',							// ReferencePresenter
			'action' => array(
				Route::FILTER_TABLE => array(
					// řetězec v URL => akce presenteru
					'reference' => 'list',								// 6. reference/reference/<nepovinná URL> -> Core:Reference:list -> action/renderList($url = null)
					'editor' => 'editor',								// 7. reference/editor/<nepovinná URL> -> Core:Reference:editor -> action/renderEditor($url = null)
					'odstranit' => 'remove'								// 8. reference/odstranit/<nepovinná URL> -> Core:Reference:remove -> action/renderRemove($url = null)
				),
				Route::FILTER_STRICT => true
			)
		));
		$router[] = new Route('<action>/[<url>]', array(
			'presenter' => 'Core:Article',								// ArticlePresenter
			'action' => array(
				Route::FILTER_TABLE => array(
					// řetězec v URL => akce presenteru
					'seznam-clanku' => 'list',							// 9.  seznam-clanku/<nepovinná URL> -> Core:Article:list -> action/renderList($url = null)
					'editor' => 'editor',								// 10. editor/<nepovinná URL> -> Core:Article:editor -> action/renderEditor($url = null)
					'odstranit' => 'remove'								// 11. odstranit/<nepovinná URL> -> Core:Article:remove -> action/renderRemove($url = null)
				),
				Route::FILTER_STRICT => true
			)
		));
		$router[] = new Route('[<url>]', 'Core:Article:default');		// 12. <nepovinná URL> -> Core:Article:default -> action/renderDefault($url = null)
		return $router;
	}
}

Neformátovaný

Přidáno: 28.3.2016
Expirace: Neuvedeno

Aktivity