1. Go to this page and download the library: Download corneltek/pux 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/ */
corneltek / pux example snippets
use Pux\RouteExecutor;
class ProductController {
public function listAction() {
return 'product list';
}
public function itemAction($id) {
return "product $id";
}
}
$mux = new Pux\Mux;
$mux->any('/product', ['ProductController','listAction']);
$mux->get('/product/:id', ['ProductController','itemAction'] , [
'bleController, it will automatically expands your controller actions into a sub-mux
$mux->mount('/page', new PageController);
$submux = new Pux\Mux;
$submux->any('/bar');
$mux->mount('/foo',$submux); // mount as /foo/bar
// RESTful Mux Builder
$builder = new RESTfulMuxBuilder($mux, [ 'prefix' => '/=' ]);
$builder->addResource('product', new ProductResourceController); // expand RESTful resource point at /=/product
$mux = $builder->build();
if ($route = $mux->dispatch('/product/1')) {
$response = RouteExecutor::execute($route);
$responder = new Pux\Responder\SAPIResponder();
// $responder->respond([ 200, [ 'Content-Type: text/plain' ], 'Hello World' ]);
$responder->respond($response);
}
if ($request->queryStringMatch(...)) {
}
if ($request->hostEqual('some.dev')) {
}
if ($request->pathEqual('/foo/bar')) {
}
use Pux\Environment;
$env = Environment::createFromGlobals();
$request = RouteRequest::createFromEnv($env);
if ($route = $mux->dispatchRequest($request)) {
}
class ProductController extends \Pux\Controller
{
// translate to path ""
public function indexAction() { }
// translate to path "/add"
public function addAction() { }
// translate to path "/del"
public function delAction() { }
}
$mux = new Pux\Mux;
$submux = $controller->expand();
$mux->mount( '/product' , $submux );
// or even simpler
$mux->mount( '/product' , $controller);
$mux->dispatch('/product'); // ProductController->indexAction
$mux->dispatch('/product/add'); // ProductController->addAction
$mux->dispatch('/product/del'); // ProductController->delAction
class ProductController extends \Pux\Controller
{
/**
* @Route("/all")
* @Method("GET")
*/
public function indexAction() {
// now available via GET /all only
}
/**
* @Route("/create")
* @Method("POST")
*/
public function addAction() {
// now available via POST /create only
}
/**
* @Route("/destroy")
* @Method("DELETE")
*/
public function delAction() {
// now available via DELETE /destroy only
}
}
use Pux\RouteExecutor;
$mux = new Pux\Mux;
$mux->any('/product/:id', ['ProductController','itemAction']);
$route = $mux->dispatch('/product/1');
$result = RouteExecutor::execute($route);
class ProductController extends Pux\Controller {
public function __construct($param1, $param2) {
// do something you want
}
public function itemAction($id) {
return "Product $id";
}
}
use Pux\RouteExecutor;
$mux = new Pux\Mux;
$mux->any('/product/:id', ['ProductController','itemAction'], [
'constructor_args' => [ 'param1', 'param2' ],
]);
$route = $mux->dispatch('/product/1');
$result = RouteExecutor::execute($route); // returns "Product 1"
use Pux\Dispatcher\APCDispatcher;
$dispatcher = new APCDispatcher($mux, array(
'namespace' => 'app_',
'expiry' => ...,
));
$route = $dispatcher->dispatch('/request/uri');
var_dump($route);
xml
<php>
<env name="XHPROF_ROOT" value="/Users/c9s/src/php/xhprof"/>
</php>
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.