1. Go to this page and download the library: Download webchemistry/router library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace TestPackage\Test\DI;
use Nette\Application\IPresenterFactory;
use Nette\DI\CompilerExtension;
class TestExtension extends CompilerExtension
{
public function loadConfiguration()
{
$builder = $this->getContainerBuilder();
$builder->addDefinition($this->prefix('routers'))
->addTag('router')
->setFactory(\TestPackage\Test\TestRouter::class)
->setAutowired(true);
$builder->getDefinition('routers.routerManager')
->addSetup('createModule', ['Test']);
}
public function beforeCompile()
{
$builder = $this->getContainerBuilder();
$builder->getDefinition($builder->getByType(IPresenterFactory::class))
->addSetup(
'setMapping',
[['Test' => 'TestPackage\Test\Presenters\*Presenter']]
);
}
}
namespace TestPackage\Test;
use WebChemistry\Routing\IRouter;
use WebChemistry\Routing\RouteManager;
use Nette\Application\Routers\Route;
class TestRouter implements IRouter
{
/**
* @param RouteManager $routeManager
*/
public function createRouter(RouteManager $routeManager): void
{
$app = $routeManager->getModule('Test');
$app[] = new Route('/test/<presenter>/<action>[/<id>]', 'Default:default');
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.