├── .gitignore ├── CHANGES.md ├── CONTRIBUTORS.md ├── LICENSE ├── README.md ├── benchmarks ├── pux.log ├── pux.png ├── reqs.dat ├── reqs.png ├── symfony-routing.log └── symfony-routing.png ├── composer.json ├── composer.lock ├── eg ├── expand.php ├── hello.php ├── hello_compile.php ├── hello_mux.php ├── hello_persistent.php ├── hello_routes.php └── simple.php ├── ext ├── .gitignore ├── MMTest.php ├── README.md ├── annotation │ ├── annot.h │ ├── base.c │ ├── lemon │ ├── lemon.c │ ├── lempar.c │ ├── parser.c │ ├── parser.h │ ├── parser.lemon │ ├── parser.out │ ├── scanner.c │ ├── scanner.h │ └── scanner.re ├── bench.php ├── compile ├── config.m4 ├── ct_helper.c ├── ct_helper.h ├── extunit.xml ├── hash.c ├── hash.h ├── php.ini ├── php_expandable_mux.c ├── php_expandable_mux.h ├── php_pux.c ├── php_pux.h ├── phpunit.xml ├── pux_controller.c ├── pux_controller.h ├── pux_functions.c ├── pux_functions.h ├── pux_mux.c ├── pux_mux.h ├── run-test └── test ├── phprelease.ini ├── phpunit.xml.dist ├── pux ├── scripts ├── compile └── pux-emb.php ├── src ├── Builder │ ├── ControllerRouteBuilder.php │ └── ControllerRouteBuilderTest.php ├── Controller │ ├── Controller.php │ ├── ControllerTest.php │ ├── ExpandableController.php │ ├── RESTfulController.php │ └── RESTfulControllerTest.php ├── Dispatcher │ ├── PathDispatcher.php │ └── PathDispatcherRESTfulTest.php ├── Expandable.php ├── Mux.php ├── MuxBasicTest.php ├── MuxBuilder │ ├── RESTfulMuxBuilder.php │ └── RESTfulMuxBuilderTest.php ├── MuxCompiler.php ├── MuxCompilerTest.php ├── MuxConditionTest.php ├── MuxDispatchTest.php ├── MuxExecutorTest.php ├── MuxExportTest.php ├── MuxMountTest.php ├── MuxNoExpandMountTest.php ├── MuxSetStateTest.php ├── MuxTest.php ├── PatternCompiler.php ├── PatternCompilerTest.php ├── RouteExecutor.php ├── RouteRequest.php ├── RouteRequestMatcher.php ├── RouteRequestTest.php └── Testing │ ├── MuxTestCase.php │ └── Utils.php └── tests ├── ExtensionOnly └── ExtensionOnlyTest.php ├── bootstrap.php ├── controllers.php ├── run-ext-tests ├── run-pp-tests └── travis-setup.sh /.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | .vscode/launch.json 3 | -------------------------------------------------------------------------------- /CHANGES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/CHANGES.md -------------------------------------------------------------------------------- /CONTRIBUTORS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/CONTRIBUTORS.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/README.md -------------------------------------------------------------------------------- /benchmarks/pux.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/benchmarks/pux.log -------------------------------------------------------------------------------- /benchmarks/pux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/benchmarks/pux.png -------------------------------------------------------------------------------- /benchmarks/reqs.dat: -------------------------------------------------------------------------------- 1 | 0 "Pux" 1019.50 2 | 1 "Symfony/Routing" 350.46 3 | -------------------------------------------------------------------------------- /benchmarks/reqs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/benchmarks/reqs.png -------------------------------------------------------------------------------- /benchmarks/symfony-routing.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/benchmarks/symfony-routing.log -------------------------------------------------------------------------------- /benchmarks/symfony-routing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/benchmarks/symfony-routing.png -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/composer.json -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/composer.lock -------------------------------------------------------------------------------- /eg/expand.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/eg/expand.php -------------------------------------------------------------------------------- /eg/hello.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/eg/hello.php -------------------------------------------------------------------------------- /eg/hello_compile.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/eg/hello_compile.php -------------------------------------------------------------------------------- /eg/hello_mux.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/eg/hello_mux.php -------------------------------------------------------------------------------- /eg/hello_persistent.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/eg/hello_persistent.php -------------------------------------------------------------------------------- /eg/hello_routes.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/eg/hello_routes.php -------------------------------------------------------------------------------- /eg/simple.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/eg/simple.php -------------------------------------------------------------------------------- /ext/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/.gitignore -------------------------------------------------------------------------------- /ext/MMTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/MMTest.php -------------------------------------------------------------------------------- /ext/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/README.md -------------------------------------------------------------------------------- /ext/annotation/annot.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/annot.h -------------------------------------------------------------------------------- /ext/annotation/base.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/base.c -------------------------------------------------------------------------------- /ext/annotation/lemon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/lemon -------------------------------------------------------------------------------- /ext/annotation/lemon.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/lemon.c -------------------------------------------------------------------------------- /ext/annotation/lempar.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/lempar.c -------------------------------------------------------------------------------- /ext/annotation/parser.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/parser.c -------------------------------------------------------------------------------- /ext/annotation/parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/parser.h -------------------------------------------------------------------------------- /ext/annotation/parser.lemon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/parser.lemon -------------------------------------------------------------------------------- /ext/annotation/parser.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/parser.out -------------------------------------------------------------------------------- /ext/annotation/scanner.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/scanner.c -------------------------------------------------------------------------------- /ext/annotation/scanner.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/scanner.h -------------------------------------------------------------------------------- /ext/annotation/scanner.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/annotation/scanner.re -------------------------------------------------------------------------------- /ext/bench.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/bench.php -------------------------------------------------------------------------------- /ext/compile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/compile -------------------------------------------------------------------------------- /ext/config.m4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/config.m4 -------------------------------------------------------------------------------- /ext/ct_helper.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/ct_helper.c -------------------------------------------------------------------------------- /ext/ct_helper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/ct_helper.h -------------------------------------------------------------------------------- /ext/extunit.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/extunit.xml -------------------------------------------------------------------------------- /ext/hash.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/hash.c -------------------------------------------------------------------------------- /ext/hash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/hash.h -------------------------------------------------------------------------------- /ext/php.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/php.ini -------------------------------------------------------------------------------- /ext/php_expandable_mux.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/php_expandable_mux.c -------------------------------------------------------------------------------- /ext/php_expandable_mux.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/php_expandable_mux.h -------------------------------------------------------------------------------- /ext/php_pux.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/php_pux.c -------------------------------------------------------------------------------- /ext/php_pux.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/php_pux.h -------------------------------------------------------------------------------- /ext/phpunit.xml: -------------------------------------------------------------------------------- 1 | ../phpunit.xml -------------------------------------------------------------------------------- /ext/pux_controller.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/pux_controller.c -------------------------------------------------------------------------------- /ext/pux_controller.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/pux_controller.h -------------------------------------------------------------------------------- /ext/pux_functions.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/pux_functions.c -------------------------------------------------------------------------------- /ext/pux_functions.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/pux_functions.h -------------------------------------------------------------------------------- /ext/pux_mux.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/pux_mux.c -------------------------------------------------------------------------------- /ext/pux_mux.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/pux_mux.h -------------------------------------------------------------------------------- /ext/run-test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/ext/run-test -------------------------------------------------------------------------------- /ext/test: -------------------------------------------------------------------------------- 1 | ../test -------------------------------------------------------------------------------- /phprelease.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/phprelease.ini -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/phpunit.xml.dist -------------------------------------------------------------------------------- /pux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/pux -------------------------------------------------------------------------------- /scripts/compile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/scripts/compile -------------------------------------------------------------------------------- /scripts/pux-emb.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/scripts/pux-emb.php -------------------------------------------------------------------------------- /src/Builder/ControllerRouteBuilder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Builder/ControllerRouteBuilder.php -------------------------------------------------------------------------------- /src/Builder/ControllerRouteBuilderTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Builder/ControllerRouteBuilderTest.php -------------------------------------------------------------------------------- /src/Controller/Controller.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Controller/Controller.php -------------------------------------------------------------------------------- /src/Controller/ControllerTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Controller/ControllerTest.php -------------------------------------------------------------------------------- /src/Controller/ExpandableController.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Controller/ExpandableController.php -------------------------------------------------------------------------------- /src/Controller/RESTfulController.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Controller/RESTfulController.php -------------------------------------------------------------------------------- /src/Controller/RESTfulControllerTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Controller/RESTfulControllerTest.php -------------------------------------------------------------------------------- /src/Dispatcher/PathDispatcher.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Dispatcher/PathDispatcher.php -------------------------------------------------------------------------------- /src/Dispatcher/PathDispatcherRESTfulTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Dispatcher/PathDispatcherRESTfulTest.php -------------------------------------------------------------------------------- /src/Expandable.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Expandable.php -------------------------------------------------------------------------------- /src/Mux.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Mux.php -------------------------------------------------------------------------------- /src/MuxBasicTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxBasicTest.php -------------------------------------------------------------------------------- /src/MuxBuilder/RESTfulMuxBuilder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxBuilder/RESTfulMuxBuilder.php -------------------------------------------------------------------------------- /src/MuxBuilder/RESTfulMuxBuilderTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxBuilder/RESTfulMuxBuilderTest.php -------------------------------------------------------------------------------- /src/MuxCompiler.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxCompiler.php -------------------------------------------------------------------------------- /src/MuxCompilerTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxCompilerTest.php -------------------------------------------------------------------------------- /src/MuxConditionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxConditionTest.php -------------------------------------------------------------------------------- /src/MuxDispatchTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxDispatchTest.php -------------------------------------------------------------------------------- /src/MuxExecutorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxExecutorTest.php -------------------------------------------------------------------------------- /src/MuxExportTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxExportTest.php -------------------------------------------------------------------------------- /src/MuxMountTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxMountTest.php -------------------------------------------------------------------------------- /src/MuxNoExpandMountTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxNoExpandMountTest.php -------------------------------------------------------------------------------- /src/MuxSetStateTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxSetStateTest.php -------------------------------------------------------------------------------- /src/MuxTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/MuxTest.php -------------------------------------------------------------------------------- /src/PatternCompiler.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/PatternCompiler.php -------------------------------------------------------------------------------- /src/PatternCompilerTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/PatternCompilerTest.php -------------------------------------------------------------------------------- /src/RouteExecutor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/RouteExecutor.php -------------------------------------------------------------------------------- /src/RouteRequest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/RouteRequest.php -------------------------------------------------------------------------------- /src/RouteRequestMatcher.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/RouteRequestMatcher.php -------------------------------------------------------------------------------- /src/RouteRequestTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/RouteRequestTest.php -------------------------------------------------------------------------------- /src/Testing/MuxTestCase.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Testing/MuxTestCase.php -------------------------------------------------------------------------------- /src/Testing/Utils.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/src/Testing/Utils.php -------------------------------------------------------------------------------- /tests/ExtensionOnly/ExtensionOnlyTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/tests/ExtensionOnly/ExtensionOnlyTest.php -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/tests/bootstrap.php -------------------------------------------------------------------------------- /tests/controllers.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/tests/controllers.php -------------------------------------------------------------------------------- /tests/run-ext-tests: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/tests/run-ext-tests -------------------------------------------------------------------------------- /tests/run-pp-tests: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/tests/run-pp-tests -------------------------------------------------------------------------------- /tests/travis-setup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/c9s/Pux/HEAD/tests/travis-setup.sh --------------------------------------------------------------------------------