From cf4410d817e3483722b75df40be041268edb4915 Mon Sep 17 00:00:00 2001 From: Danny van Kooten Date: Mon, 27 Feb 2012 15:11:50 +0100 Subject: [PATCH] Fixes #5 --- Router.php | 2 +- example.php | 1 + php-router.sublime-project | 8 ++ php-router.sublime-workspace | 286 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 296 insertions(+), 1 deletion(-) create mode 100644 php-router.sublime-project create mode 100644 php-router.sublime-workspace diff --git a/Router.php b/Router.php index d1cc6eb..3420fb3 100644 --- a/Router.php +++ b/Router.php @@ -89,7 +89,7 @@ class Router { $params = array(); - if (preg_match_all("/:(\w+)/", $route->getUrl(), $argument_keys)) { + if (preg_match_all("/:([\w-]+)/", $route->getUrl(), $argument_keys)) { // grab array with matches $argument_keys = $argument_keys[1]; diff --git a/example.php b/example.php index dbac877..04d0971 100644 --- a/example.php +++ b/example.php @@ -10,6 +10,7 @@ $router->map('/users/:id/edit/', 'users#edit', array('methods' => 'GET', 'name' $router->map('/contact/',array('controller' => 'someController', 'action' => 'contactAction'), array('name' => 'contact')); $router->map('/users/','users#create', array('methods' => 'POST', 'name' => 'users_create')); $router->map('/users/','users#list', array('methods' => 'GET', 'name' => 'users_list')); +$router->map('/path-with-hyphens', 'some#target'); $route = $router->matchCurrentRequest(); diff --git a/php-router.sublime-project b/php-router.sublime-project new file mode 100644 index 0000000..f08ff28 --- /dev/null +++ b/php-router.sublime-project @@ -0,0 +1,8 @@ +{ + "folders": + [ + { + "path": "/var/www/PHP-Router" + } + ] +} diff --git a/php-router.sublime-workspace b/php-router.sublime-workspace new file mode 100644 index 0000000..661faf9 --- /dev/null +++ b/php-router.sublime-workspace @@ -0,0 +1,286 @@ +{ + "auto_complete": + { + "selected_items": + [ + [ + "url", + "data-project-url" + ] + ] + }, + "buffers": + [ + { + "file": "Router.php", + "settings": + { + "buffer_size": 4441, + "line_ending": "Unix" + } + }, + { + "file": "example.php", + "settings": + { + "buffer_size": 1589, + "line_ending": "Unix" + } + }, + { + "file": "Route.php", + "settings": + { + "buffer_size": 1798, + "line_ending": "Unix" + } + } + ], + "build_system": "", + "command_palette": + { + "height": 0.0, + "selected_items": + [ + ], + "width": 0.0 + }, + "console": + { + "height": 0.0 + }, + "distraction_free": + { + "menu_visible": true, + "show_minimap": false, + "show_open_files": false, + "show_tabs": false, + "side_bar_visible": false, + "status_bar_visible": false + }, + "file_history": + [ + "/var/www/PHP-Router/README.md", + "/var/www/vanmiddendorp.nl/.htaccess", + "/var/www/vanmiddendorp.nl/web/js/application.js", + "/var/www/vanmiddendorp.nl/web/.htaccess", + "/var/www/vanmiddendorp.nl/vanmiddendorp", + "/var/www/vanmiddendorp.nl/app/config/security.yml", + "/var/www/vanmiddendorp.nl/src/VM/Website/Resources/views/Website/home.html.twig", + "/var/www/vanmiddendorp.nl/src/VM/Website/Resources/views/Pages/show.html.twig", + "/var/www/vanmiddendorp.nl/src/VM/Website/Resources/views/layout.html.twig", + "/tmp/fz3temp-1/layout.html.twig", + "/var/www/vanmiddendorp.nl/app/config/parameters.ini", + "/var/www/vanmiddendorp.nl/web/css/style.css", + "/var/www/vanmiddendorp.nl/src/VM/Website/Repository/ProjectRepository.php", + "/var/www/vanmiddendorp.nl/src/VM/Website/Controller/PagesController.php", + "/var/www/vanmiddendorp.nl/app/config/config.yml", + "/tmp/fz3temp-1/config.yml", + "/var/www/vanmiddendorp.nl/web/js/slideshow.js", + "/var/www/vanmiddendorp.nl/src/VM/Website/Controller/ProjectsController.php", + "/var/www/vanmiddendorp.nl/src/VM/Website/Entity/Image.php", + "/tmp/fz3temp-1/.htaccess", + "/tmp/fz3temp-1/app_dev.php", + "/var/www/vanmiddendorp.nl/src/VM/Website/Resources/views/Projects/show.html.twig", + "/tmp/fz3temp-1/parameters.ini", + "/var/www/vanmiddendorp.nl/src/VM/Website/Controller/WebsiteController.php", + "/var/www/vanmiddendorp.nl/src/VM/Website/Resources/views/Pages/show.json.twig", + "/var/www/vanmiddendorp.nl/web/js/ajax.js", + "/var/www/vanmiddendorp.nl/web/js/layout-fixes.js", + "/var/www/vanmiddendorp.nl/web/app_dev.php", + "/var/www/vanmiddendorp.nl/src/VM/Admin/Resources/views/Projects/new.html.twig", + "/var/www/vanmiddendorp.nl/src/VM/Admin/Resources/views/Projects/edit.html.twig", + "/var/www/vanmiddendorp.nl/src/VM/Admin/Resources/views/Pages/edit.html.twig", + "/var/www/vanmiddendorp.nl/src/VM/Website/Entity/Project.php", + "/var/www/vanmiddendorp.nl/src/VM/Admin/Form/ProjectForm.php", + "/var/www/vanmiddendorp.nl/src/VM/Website/Entity/Project.php~", + "/var/www/vanmiddendorp.nl/src/VM/Website/Entity/Page.php~", + "/var/www/index.php" + ], + "find": + { + "height": 35.0 + }, + "find_in_files": + { + "height": 0.0, + "where_history": + [ + ] + }, + "find_state": + { + "case_sensitive": false, + "find_history": + [ + "footer", + "page" + ], + "highlight": true, + "in_selection": false, + "preserve_case": false, + "regex": false, + "replace_history": + [ + "project", + "page" + ], + "reverse": false, + "show_context": true, + "use_buffer2": true, + "whole_word": false, + "wrap": true + }, + "groups": + [ + { + "selected": 2, + "sheets": + [ + { + "buffer": 0, + "file": "Router.php", + "settings": + { + "buffer_size": 4441, + "regions": + { + }, + "selection": + [ + [ + 3263, + 3263 + ] + ], + "settings": + { + "syntax": "Packages/PHP/PHP.tmLanguage", + "tab_size": 4, + "translate_tabs_to_spaces": true + }, + "translation.x": 0.0, + "translation.y": 1213.0, + "zoom_level": 1.0 + }, + "type": "text" + }, + { + "buffer": 1, + "file": "example.php", + "settings": + { + "buffer_size": 1589, + "regions": + { + }, + "selection": + [ + [ + 593, + 593 + ] + ], + "settings": + { + "syntax": "Packages/PHP/PHP.tmLanguage" + }, + "translation.x": 0.0, + "translation.y": 0.0, + "zoom_level": 1.0 + }, + "type": "text" + }, + { + "buffer": 2, + "file": "Route.php", + "settings": + { + "buffer_size": 1798, + "regions": + { + }, + "selection": + [ + [ + 1789, + 1789 + ] + ], + "settings": + { + "syntax": "Packages/PHP/PHP.tmLanguage", + "translate_tabs_to_spaces": false + }, + "translation.x": 0.0, + "translation.y": 0.0, + "zoom_level": 1.0 + }, + "type": "text" + } + ] + } + ], + "incremental_find": + { + "height": 0.0 + }, + "input": + { + "height": 32.0 + }, + "layout": + { + "cells": + [ + [ + 0, + 0, + 1, + 1 + ] + ], + "cols": + [ + 0.0, + 1.0 + ], + "rows": + [ + 0.0, + 1.0 + ] + }, + "menu_visible": true, + "replace": + { + "height": 64.0 + }, + "save_all_on_build": true, + "select_file": + { + "height": 0.0, + "selected_items": + [ + ], + "width": 0.0 + }, + "select_project": + { + "height": 500.0, + "selected_items": + [ + [ + "", + "/var/www/vkimedia.com/vkimedia.com.sublime-project" + ] + ], + "width": 380.0 + }, + "show_minimap": true, + "show_open_files": false, + "show_tabs": true, + "side_bar_visible": true, + "side_bar_width": 229.0, + "status_bar_visible": true +} -- 2.11.0