简体   繁体   English

如何动态地做Altorouter

[英]How to do dynamically a Altorouter

I used Altorouter in PHP, and I try to dynamic my router. 我在PHP中使用Altorouter,我尝试动态我的路由器。 I have an architecture specific with folders, sub-folders, sub-sub-folders. 我有一个特定于体系结构,子文件夹,子子文件夹的体系结构。

I have try to do this 我试着这样做

//dynamic routage for root main pages
$router->map( 'GET', '/[:pageName]', 'HomeControler::pageRedirect');

//dynamic routage for subfolder pages
$router->map( 'GET', '/[:folder]/[:pageName]', ' 
HomeControler::subPageRedirect');

That's working, but I just matching with folder / page. 这是有效的,但我只是与文件夹/页面匹配。 I wont doing this method for all sub-folders. 我不会为所有子文件夹执行此方法。 How can I detect folders, sub-folders, automatically ? 如何自动检测文件夹,子文件夹?

And In my controller, 在我的控制器中,

I control the folders like that ? 我控制那样的文件夹?

// Dynamic mapping to pages
public static function pageRedirect($pageName) {
    self::redirectTo(dirname(__FILE__) . "/../../front/$pageName.php");
}

And I do condition if he doesn't find in this pages ? 如果他在这个页面中找不到,我确实有条件吗?

You could do 你可以做到

 $router->map('GET', '/[*:target]', 'yourController')

This will map any request to your controller. 这会将任何请求映射到您的控制器。 How you interpret target in your controller is up to you (looking in folders etc.). 如何解释控制器中的target取决于您(查看文件夹等)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM