<html>
<head>
<title>Docs For Class Router</title>
<link rel="stylesheet" type="text/css" href="../media/style.css">
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0" height="48" width="100%">
<tr>
<td class="header_top">PHPonTrax</td>
</tr>
<tr><td class="header_line"><img src="../media/empty.png" width="1" height="1" border="0" alt="" /></td></tr>
<tr>
<td class="header_menu">
[ <a href="../classtrees_PHPonTrax.html" class="menu">class tree: PHPonTrax</a> ]
[ <a href="../elementindex_PHPonTrax.html" class="menu">index: PHPonTrax</a> ]
[ <a href="../elementindex.html" class="menu">all elements</a> ]
</td>
</tr>
<tr><td class="header_line"><img src="../media/empty.png" width="1" height="1" border="0" alt="" /></td></tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="200" class="menu">
<div id="todolist">
<p><a href="../todolist.html">Todo List</a></p>
</div>
<b>Packages:</b><br />
<a href="../li_PHPonTrax.html">PHPonTrax</a><br />
<a href="../li_PHPonTraxTest.html">PHPonTraxTest</a><br />
<br /><br />
<b>Tutorials/Manuals:</b><br />
<strong>Package-level:</strong>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_PHPonTrax.pkg.html">PHP On Trax</a>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_rails_examples.pkg.html">Examples From The Rails Book</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_simpleapp.pkg.html">Build A Simple Trax Application</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_database.pkg.html">Create A Database and User</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_advbuild.pkg.html">Advanced Application Build Topics</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_naming.pkg.html">The Trax Naming Convention</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_troubleshoot.pkg.html">Troubleshooting</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_reference.pkg.html">Reference</a>
</ul>
</li></ul>
<strong>Class-level:</strong>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_ActiveRecordHelper.cls.html">ActiveRecordHelper</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_FormTagHelper.cls.html">FormTagHelper</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_Helpers.cls.html">Helpers</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_UrlHelper.cls.html">UrlHelper</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_FormHelper.cls.html">FormHelper</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_InputFilter.cls.html">InputFilter</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_ActionMailer.cls.html">ActionMailer</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_ApplicationController.cls.html">ApplicationController</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_ActionController.cls.html">ActionController</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_ActiveRecord.cls.html">ActiveRecord</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_DateHelper.cls.html">DateHelper</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_Router.cls.html">Router</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_FormOptionsHelper.cls.html">FormOptionsHelper</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_TraxGenerator.cls.html">TraxGenerator</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_Session.cls.html">Session</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_Inflector.cls.html">Inflector</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_ActiveRecordError.cls.html">ActiveRecordError</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_ActionControllerError.cls.html">ActionControllerError</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_ScaffoldController.cls.html">ScaffoldController</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_Dispatcher.cls.html">Dispatcher</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_TraxError.cls.html">TraxError</a>
</ul>
<ul>
<li type="square"><a href="../PHPonTrax/tutorial_ApplicationMailer.cls.html">ApplicationMailer</a>
</ul>
<b>Files:</b><br />
<div class="package">
<a href="../PHPonTrax/_vendor_trax_action_controller_php.html"> action_controller.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_action_mailer_php.html"> action_mailer.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_action_view_php.html"> action_view.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_active_record_php.html"> active_record.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_action_view_helpers_active_record_helper_php.html"> active_record_helper.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_add_phtml.html"> add.phtml
</a><br>
<a href="../PHPonTrax/_data_app_controllers_application_php.html"> application.php
</a><br>
<a href="../PHPonTrax/_data_app_views_layouts_application_phtml.html"> application.phtml
</a><br>
<a href="../PHPonTrax/_data_app_helpers_application_helper_php.html"> application_helper.php
</a><br>
<a href="../PHPonTrax/_data_app_application_mailer_php.html"> application_mailer.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_action_view_helpers_asset_tag_helper_php.html"> asset_tag_helper.php
</a><br>
<a href="../PHPonTrax/_test_layouts_catalog_phtml.html"> catalog.phtml
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_generator_templates_controller_php.html"> controller.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_controller_php.html"> controller.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_action_view_helpers_date_helper_php.html"> date_helper.php
</a><br>
<a href="../PHPonTrax/_data_config_environments_development_php.html"> development.php
</a><br>
<a href="../PHPonTrax/_data_public_dispatch_php.html"> dispatch.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_dispatcher_php.html"> dispatcher.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_edit_phtml.html"> edit.phtml
</a><br>
<a href="../PHPonTrax/_data_config_environment_php.html"> environment.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_error_phtml.html"> error.phtml
</a><br>
<a href="../PHPonTrax/_vendor_trax_action_view_helpers_form_helper_php.html"> form_helper.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_action_view_helpers_form_options_helper_php.html"> form_options_helper.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_generator_templates_form_scaffolding_phtml.html"> form_scaffolding.phtml
</a><br>
<a href="../PHPonTrax/_vendor_trax_action_view_helpers_form_tag_helper_php.html"> form_tag_helper.php
</a><br>
<a href="../PHPonTrax/_data_script_generate_php.html"> generate.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_helper_php.html"> helper.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_action_view_helpers_php.html"> helpers.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_index_phtml.html"> index.phtml
</a><br>
<a href="../PHPonTrax/_vendor_trax_inflector_php.html"> inflector.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_input_filter_php.html"> input_filter.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_action_view_helpers_javascript_helper_php.html"> javascript_helper.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_generator_templates_layout_phtml.html"> layout.phtml
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_layout_phtml.html"> layout.phtml
</a><br>
<a href="../PHPonTrax/_makepkg_php.html"> makepkg.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_model_php.html"> model.php
</a><br>
<a href="../PHPonTrax/_data_config_environments_production_php.html"> production.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_router_php.html"> router.php
</a><br>
<a href="../PHPonTrax/_data_config_routes_php.html"> routes.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_scaffold_controller_php.html"> scaffold_controller.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_session_php.html"> session.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_show_phtml.html"> show.phtml
</a><br>
<a href="../PHPonTrax/_data_config_environments_test_php.html"> test.php
</a><br>
<a href="../PHPonTrax/_trax_php.html"> trax.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_trax_exceptions_php.html"> trax_exceptions.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_trax_generator_php.html"> trax_generator.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_action_view_helpers_url_helper_php.html"> url_helper.php
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_view_phtml.html"> view.phtml
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_generator_templates_view_add_phtml.html"> view_add.phtml
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_generator_templates_view_edit_phtml.html"> view_edit.phtml
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_generator_templates_view_index_phtml.html"> view_index.phtml
</a><br>
<a href="../PHPonTrax/_vendor_trax_templates_scaffolds_generator_templates_view_show_phtml.html"> view_show.phtml
</a><br>
</div><br />
<b>Classes:</b><br />
<div class="package">
<a href="../PHPonTrax/.html"></a><br />
<a href="../PHPonTrax/ActionController.html">ActionController</a><br />
<a href="../PHPonTrax/ActionControllerError.html">ActionControllerError</a><br />
<a href="../PHPonTrax/ActionMailer.html">ActionMailer</a><br />
<a href="../PHPonTrax/ActiveRecord.html">ActiveRecord</a><br />
<a href="../PHPonTrax/ActiveRecordError.html">ActiveRecordError</a><br />
<a href="../PHPonTrax/ActiveRecordHelper.html">ActiveRecordHelper</a><br />
<a href="../PHPonTrax/ApplicationController.html">ApplicationController</a><br />
<a href="../PHPonTrax/ApplicationMailer.html">ApplicationMailer</a><br />
<a href="../PHPonTrax/AssetTagHelper.html">AssetTagHelper</a><br />
<a href="../PHPonTrax/DateHelper.html">DateHelper</a><br />
<a href="../PHPonTrax/Dispatcher.html">Dispatcher</a><br />
<a href="../PHPonTrax/FormHelper.html">FormHelper</a><br />
<a href="../PHPonTrax/FormOptionsHelper.html">FormOptionsHelper</a><br />
<a href="../PHPonTrax/FormTagHelper.html">FormTagHelper</a><br />
<a href="../PHPonTrax/Helpers.html">Helpers</a><br />
<a href="../PHPonTrax/Inflector.html">Inflector</a><br />
<a href="../PHPonTrax/InputFilter.html">InputFilter</a><br />
<a href="../PHPonTrax/JavaScriptHelper.html">JavaScriptHelper</a><br />
<a href="../PHPonTrax/Router.html">Router</a><br />
<a href="../PHPonTrax/ScaffoldController.html">ScaffoldController</a><br />
<a href="../PHPonTrax/Session.html">Session</a><br />
<a href="../PHPonTrax/TraxError.html">TraxError</a><br />
<a href="../PHPonTrax/TraxGenerator.html">TraxGenerator</a><br />
<a href="../PHPonTrax/UrlHelper.html">UrlHelper</a><br />
</div>
</td>
<td>
<table cellpadding="10" cellspacing="0" width="100%" border="0"><tr><td valign="top">
<h1>Class: Router</h1>
Source Location: /vendor/trax/router.php<br /><br />
<table width="100%" border="0">
<tr><td valign="top">
<h3><a href="#class_details">Class Overview</a></h3>
<pre></pre><br />
<div class="description">Convert a URL to an action</div><br /><br />
<h4>Author(s):</h4>
<ul>
</ul>
</td>
<td valign="top">
<h3><a href="#class_vars">Variables</a></h3>
<ul>
<li><a href="../PHPonTrax/Router.html#var$default_route_path">$default_route_path</a></li>
<li><a href="../PHPonTrax/Router.html#var$routes">$routes</a></li>
<li><a href="../PHPonTrax/Router.html#var$routes_count">$routes_count</a></li>
<li><a href="../PHPonTrax/Router.html#var$selected_route">$selected_route</a></li>
</ul>
</td>
<td valign="top">
<h3><a href="#class_methods">Methods</a></h3>
<ul>
<li><a href="../PHPonTrax/Router.html#methodbuild_route_regexp">build_route_regexp</a></li>
<li><a href="../PHPonTrax/Router.html#methodconnect">connect</a></li>
<li><a href="../PHPonTrax/Router.html#methodfind_route">find_route</a></li>
<li><a href="../PHPonTrax/Router.html#methodget_selected_route">get_selected_route</a></li>
</ul>
</td>
</tr></table>
<hr />
<table width="100%" border="0"><tr>
</tr></table>
<hr />
<a name="class_details"></a>
<h3>Class Details</h3>
<div class="tags">
[line <a href="..//__filesource/fsource_PHPonTrax__vendortraxrouter.php.html#a35">35</a>]<br />
Convert a URL to an action<br /><br /><br /><br />
<h4>Tags:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>usedby:</b> </td><td><a href="../PHPonTrax/ActionController.html#methodload_router">ActionController::load_router()</a></td>
</tr>
<tr>
<td><b>tutorial:</b> </td><td><a href="../PHPonTrax/tutorial_Router.cls.html">Router</a></td>
</tr>
</table>
</div>
</div><br /><br />
<div class="top">[ <a href="#top">Top</a> ]</div><br />
<hr />
<a name="class_vars"></a>
<h3>Class Variables</h3>
<div class="tags">
<a name="var$default_route_path"></a>
<p></p>
<h4>$default_route_path = <span class="value"> ":controller/:action/:id"</span></h4>
<p>[line <a href="..//__filesource/fsource_PHPonTrax__vendortraxrouter.php.html#a63">63</a>]</p>
Default route path<br /><br /><p>This route path is added to the route table if the table is empty when find_route() is called.</p><br /><br /><br />
<h4>Tags:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>var:</b> </td><td>constant</td>
</tr>
<tr>
<td><b>usedby:</b> </td><td><a href="../PHPonTrax/Router.html#methodfind_route">Router::find_route()</a></td>
</tr>
<tr>
<td><b>access:</b> </td><td>private</td>
</tr>
</table>
</div>
<br />
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>Type:</b> </td>
<td>string</td>
</tr>
</table>
</div><br /><br />
<div class="top">[ <a href="#top">Top</a> ]</div><br />
<a name="var$routes"></a>
<p></p>
<h4>$routes = <span class="value">array()</span></h4>
<p>[line <a href="..//__filesource/fsource_PHPonTrax__vendortraxrouter.php.html#a48">48</a>]</p>
Route table<br /><br /><p>For a description of the structure, see <a href="../PHPonTrax/tutorial_Router.cls.html">the Router tutorial</a>. Routes are added by calling <a href="../PHPonTrax/Router.html#methodconnect">connect()</a> and looked up by calling <a href="../PHPonTrax/Router.html#methodfind_route">find_route()</a>. <strong>FIXME:</strong> Should we have a Route class to describe an entry in the route table?</p><br /><br /><br />
<h4>Tags:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>usedby:</b> </td><td><a href="../PHPonTrax/Router.html#methodfind_route">Router::find_route()</a></td>
</tr>
<tr>
<td><b>usedby:</b> </td><td><a href="../PHPonTrax/Router.html#methodconnect">Router::connect()</a></td>
</tr>
<tr>
<td><b>access:</b> </td><td>private</td>
</tr>
</table>
</div>
<br />
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>Type:</b> </td>
<td>string[][]</td>
</tr>
</table>
</div><br /><br />
<div class="top">[ <a href="#top">Top</a> ]</div><br />
<a name="var$routes_count"></a>
<p></p>
<h4>$routes_count = <span class="value"> 0</span></h4>
<p>[line <a href="..//__filesource/fsource_PHPonTrax__vendortraxrouter.php.html#a69">69</a>]</p>
Count of the number of elements in $routes<br /><br /><br /><br />
<h4>Tags:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>usedby:</b> </td><td><a href="../PHPonTrax/Router.html#methodfind_route">Router::find_route()</a></td>
</tr>
<tr>
<td><b>usedby:</b> </td><td><a href="../PHPonTrax/Router.html#methodconnect">Router::connect()</a></td>
</tr>
<tr>
<td><b>access:</b> </td><td>public</td>
</tr>
</table>
</div>
<br />
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>Type:</b> </td>
<td>integer</td>
</tr>
</table>
</div><br /><br />
<div class="top">[ <a href="#top">Top</a> ]</div><br />
<a name="var$selected_route"></a>
<p></p>
<h4>$selected_route = <span class="value"> null</span></h4>
<p>[line <a href="..//__filesource/fsource_PHPonTrax__vendortraxrouter.php.html#a54">54</a>]</p>
Last route found by a call to find_route()<br /><br /><br /><br />
<h4>Tags:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>usedby:</b> </td><td><a href="../PHPonTrax/Router.html#methodfind_route">Router::find_route()</a></td>
</tr>
<tr>
<td><b>usedby:</b> </td><td><a href="../PHPonTrax/Router.html#methodget_selected_route">Router::get_selected_route()</a></td>
</tr>
<tr>
<td><b>access:</b> </td><td>private</td>
</tr>
</table>
</div>
<br />
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>Type:</b> </td>
<td>string[]</td>
</tr>
</table>
</div><br /><br />
<div class="top">[ <a href="#top">Top</a> ]</div><br />
</div><br />
<hr />
<a name="class_methods"></a>
<h3>Class Methods</h3>
<div class="tags">
<hr />
<a name="methodbuild_route_regexp"></a>
<h3>method build_route_regexp <span class="smalllinenumber">[line <a href="..//__filesource/fsource_PHPonTrax__vendortraxrouter.php.html#a164">164</a>]</span></h3>
<div class="function">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>string build_route_regexp(
string
$route_path)</code>
</td></tr></table>
</td></tr></table><br />
Build a regular expression that matches a route<br /><br /><br /><br />
<h4>Tags:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>return:</b> </td><td>Regular expression that matches the route in $route_path</td>
</tr>
<tr>
<td><b>usedby:</b> </td><td><a href="../PHPonTrax/Router.html#methodfind_route">Router::find_route()</a></td>
</tr>
<tr>
<td><b>todo:</b> </td><td><strong>FIXME:</strong> Should this method be private?</td>
</tr>
<tr>
<td><b>todo:</b> </td><td><strong>FIXME:</strong> Shouldn't the regexp match be the same as for a PHP variable name? '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'</td>
</tr>
</table>
</div>
<br /><br />
<h4>Parameters:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="type">string </td>
<td><b>$route_path</b> </td>
<td>A route path.</td>
</tr>
</table>
</div><br />
<div class="top">[ <a href="#top">Top</a> ]</div>
</div>
<hr />
<a name="methodconnect"></a>
<h3>method connect <span class="smalllinenumber">[line <a href="..//__filesource/fsource_PHPonTrax__vendortraxrouter.php.html#a91">91</a>]</span></h3>
<div class="function">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>void connect(
string
$path, [mixed[]
$params = null])</code>
</td></tr></table>
</td></tr></table><br />
Accessor method to add a route to the route table<br /><br /><p>The route is added to the end of <a href="../PHPonTrax/Router.html#var$routes">the route table</a>. If $params is not an array, NULL is stored in the route parameter area.</p><br /><br /><br />
<h4>Tags:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>uses:</b> </td><td><a href="../PHPonTrax/Router.html#var$routes_count">Router::$routes_count</a></td>
</tr>
<tr>
<td><b>uses:</b> </td><td><a href="../PHPonTrax/Router.html#var$routes">Router::$routes</a></td>
</tr>
</table>
</div>
<br /><br />
<h4>Parameters:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="type">string </td>
<td><b>$path</b> </td>
<td></td>
</tr>
<tr>
<td class="type">mixed[] </td>
<td><b>$params</b> </td>
<td></td>
</tr>
</table>
</div><br />
<div class="top">[ <a href="#top">Top</a> ]</div>
</div>
<hr />
<a name="methodfind_route"></a>
<h3>method find_route <span class="smalllinenumber">[line <a href="..//__filesource/fsource_PHPonTrax__vendortraxrouter.php.html#a122">122</a>]</span></h3>
<div class="function">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>mixed find_route(
string
$url)</code>
</td></tr></table>
</td></tr></table><br />
Find first route in route table with path that matches argument<br /><br /><p>First, assure that the route table <a href="../PHPonTrax/Router.html#var$routes">$routes</a> has at least one route by adding <a href="../PHPonTrax/Router.html#var$default_route_path">the default route</a> if the table is empty. Then search the table to find the first route in the table whose path matches the argument $url. If $url is an empty string, it matches a path that is an empty string. Otherwise, try to match $url to the path part of the table entry according to <a href="http://www.php.net/manual/en/ref.pcre.php">Perl regular expression</a> rules. If a matching route is found, return it any to the caller, and also save a copy in <a href="../PHPonTrax/Router.html#var$selected_route">$selected_route</a>; if no matching route is found return null.</p><br /><br /><br />
<h4>Tags:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>return:</b> </td><td>Matching route or null. Path is in return['path'], params in return['params'],</td>
</tr>
<tr>
<td><b>uses:</b> </td><td><a href="../PHPonTrax/Router.html#var$selected_route">Router::$selected_route</a></td>
</tr>
<tr>
<td><b>uses:</b> </td><td><a href="../PHPonTrax/Router.html#var$routes_count">Router::$routes_count</a></td>
</tr>
<tr>
<td><b>uses:</b> </td><td><a href="../PHPonTrax/Router.html#var$routes">Router::$routes</a></td>
</tr>
<tr>
<td><b>uses:</b> </td><td><a href="../PHPonTrax/Router.html#var$default_route_path">Router::$default_route_path</a></td>
</tr>
<tr>
<td><b>uses:</b> </td><td><a href="../PHPonTrax/Router.html#methodbuild_route_regexp">Router::build_route_regexp()</a></td>
</tr>
</table>
</div>
<br /><br />
<h4>Parameters:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="type">string </td>
<td><b>$url</b> </td>
<td></td>
</tr>
</table>
</div><br />
<div class="top">[ <a href="#top">Top</a> ]</div>
</div>
<hr />
<a name="methodget_selected_route"></a>
<h3>method get_selected_route <span class="smalllinenumber">[line <a href="..//__filesource/fsource_PHPonTrax__vendortraxrouter.php.html#a76">76</a>]</span></h3>
<div class="function">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>string[] get_selected_route(
)</code>
</td></tr></table>
</td></tr></table><br />
Accessor method to return contents of $selected_route<br /><br /><br /><br />
<h4>Tags:</h4>
<div class="tags">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>return:</b> </td><td>Contents of $selected_route</td>
</tr>
<tr>
<td><b>uses:</b> </td><td><a href="../PHPonTrax/Router.html#var$selected_route">Router::$selected_route</a></td>
</tr>
</table>
</div>
<br /><br />
<div class="top">[ <a href="#top">Top</a> ]</div>
</div>
</div><br />
<div class="credit">
<hr />
Documentation generated on Thu, 04 May 2006 19:47:52 -0600 by <a href="http://www.phpdoc.org">phpDocumentor 1.3.0RC4</a>
</div>
</td></tr></table>
</td>
</tr>
</table>
</body>
</html>