Ein super einfacher und schneller PHP -Router
Es wird empfohlen, dass Sie einen Komponisten verwenden, um MoxRouter zu installieren.
$ composer require moxxie/moxrouter " ^0.2.0 " Erstellen Sie eine Index.php -Datei mit folgenden Inhalten:
<?php
require ' vendor/autoload.php ' ;
$ router = new Moxxie MoxRouter ();
$ router -> get ( ' /{message} ' , function ( $ message ){
echo " Hello " . $ message . " ! " ;
});
$ router -> run ();Sie können dies mit dem integrierten Server testen, der mit PHP geliefert wird:
$ php -S localhost:8000http: // localhost: 8000/wort wird jetzt "Hallo, Welt!" Zeigen.
MoxRouter unterstützt die HTTP
// Will only match GET HTTP requests
$ router -> get ( ' /product/{id} ' , function ( $ id ){
// Return product with id = $id
});
// Will only match POST HTTP requests
$ router -> post ( ' /product ' , function (){
// Create new a product
});
// Will only match PUT HTTP requests
$ router -> put ( ' /product/{id} ' , function ( $ id ){
// Update product with id = $id
});
// Will only match PATCH HTTP requests
$ router -> patch ( ' /product/{id} ' , function ( $ id ){
// Apply changes made to product with id = $id
});
// Will only match DELETE HTTP requests
$ router -> delete ( ' /product/{id} ' , function ( $ id ){
// Delete product with id = $id
});
<?php
$ router = new Moxxie MoxRouter ();
// Create an empty container
$ container = [];
// Add a service to the container
$ container [ ' service ' ] = function (){
return new Service ();
};
$ router -> get ( ' / ' , function (){
// Use the new Service
$ service = $ this -> service ();
});
// Run the router with the container
$ router -> run ( $ container );Vor Route
$ router -> before ( function (){
// This code will be executed before a route has been executed
});Nach Route
$ router -> after ( function (){
// This code will be executed after a route has been executed
});Sie können den Standard -404 -Handler überschreiben
$ router -> notFound ( function (){
// This code will be executed when a route is not found
});Apache .htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]Nginx
try_files $uri /index.php;(MIT -Lizenz)
Copyright (C) 2017 Moxxie - https://github.com/moxxie/moxrouter
Die Erlaubnis wird hiermit einer Person, die eine Kopie dieser Software und zugehörigen Dokumentationsdateien (der "Software") erhält, kostenlos erteilt, um die Software ohne Einschränkung zu behandeln, einschließlich ohne Einschränkung der Rechte, zu verwenden, zu kopieren, zu modifizieren, zusammenzufassen, zu veröffentlichen, zu veröffentlichen, zu verteilen, zu verteilt, und/oder Kopien der Software zu ermöglichen, um Personen zu beanstanden, an denen die Software zugänglich ist, um die folgenden Bedingungen zu beantragen.
Die oben genannte Copyright -Mitteilung und diese Erlaubnisbekanntmachung müssen in alle Kopien oder wesentlichen Teile der Software enthalten sein.
Die Software wird "wie es ist" ohne Garantie jeglicher Art, ausdrücklich oder stillschweigend bereitgestellt, einschließlich, aber nicht beschränkt auf die Gewährleistung der Handelsfähigkeit, die Eignung für einen bestimmten Zweck und die Nichtverletzung. In keinem Fall haftet die Autoren oder Urheberrechtsinhaber für Ansprüche, Schäden oder andere Haftungen, sei es in Vertragsmaßnahmen, unerlaubter Handlung oder anderweitig, aus oder im Zusammenhang mit der Software oder der Verwendung oder anderen Geschäften in der Software.