Routing in PHP folosind AltoRouter
Am folosit AltoRouter pentru construirea API-urilor simple. Un cadru complet (chiar și un micro-cadru), cum ar fi Slim, este de obicei pre mult pentru nevoile mele și adesea orice fel de clasă php este supraaglomerată. Un fișier .htaccess cu regulile corecte de rescriere va fi de obicei suficient.
Primul lucru pe care trebuie să-l faci atunci când folosești AltoRouter sau aproape orice clasă / script de rutare PHP este de a direcționa toate cererile către index.php. Facem acest lucru cu un fișier .htaccess. Iată fișierul .htaccess pe care îl folosesc de obicei cu un proiect care utilizează AltoRouter:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule . /index.php [L]
Aceasta va direcționa toate solicitările spre site-ul tau la index.php. În interiorul index.php se află locul în care se configurează AltoRouter, se definesc regulile de rutare și se specifică parametrii pe care vrem să îi capturăm. Un exemplu de bază al unui fișier index.php care utilizează AltoRouter poate fi văzut mai jos.
<?php header("Content-Type: text/html"); include dirname(__FILE__) . '/includes/AltoRouter.php'; $router = new AltoRouter(); $router->setBasePath(''); /* Setup the URL routing. This is production ready. */ // Main routes that non-customers see $router->map('GET','/', 'acasa.php', 'home'); $router->map('GET','/home/', 'acasa.php', 'home-home'); $router->map('GET','/planuri/', 'planuri.php', 'plans'); $router->map('GET','/despre/', 'despre.php', 'about'); $router->map('GET','/contact/', 'contact.php', 'contact'); $router->map('GET','/tos/', 'tos.html', 'tos'); // Special (payments, ajax processing, etc) $router->map('GET','/charge/[*:customer_id]/','charge.php','charge'); $router->map('GET','/pay/[*:status]/','payment_results.php','payment-results'); // API Routes $router->map('GET','/api/[*:key]/[*:name]/', 'json.php', 'api'); /* Match the current request */ $match = $router->match(); if($match) { require $match['target']; } else { header("HTTP/1.0 404 Not Found"); require '404.html'; }
Tot ce trebuie facut acum este sa descarcati fisierele din site si sa stabiliti proiectul conform fisierele de incarcare. A nu se uita pagina standard 404.html in site.