有没有办法在Symfony2中设置基于主机名的路由?
我在官方文档中没有找到关于这个主题的任何内容.
http://symfony.com/doc/2.0/book/routing.html
我想根据给定的主机名路由请求:
foo.example.com
bar.example.com
{{subdomain}}.example.com
所以从本质上讲,控制器会将当前子域作为参数传递.
与Zend解决方案类似:http:
//framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.routes.hostname
$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
':username.users.example.com',
array(
'controller' => 'profile',
'action' => 'userinfo'
)
);
$plainPathRoute = new Zend_Controller_Router_Route_Static('');
$router->addRoute('user', $hostnameRoute->chain($plainPathRoute));
Run Code Online (Sandbox Code Playgroud)
我希望这是可能的,我只是错过了它.
提前致谢!
我试过PHP的内置函数:filter_input()
var_dump(filter_var('john.doe.@gmail.com', FILTER_VALIDATE_EMAIL));
Run Code Online (Sandbox Code Playgroud)
输出:
string(19)"john.doe.@ gmail.com"
然后我尝试了最新版本的Zend Framework(1.11.3):
$validator = new Zend_Validate_EmailAddress();
if ($validator->isValid('john.doe.@gmail.com')) {
echo 'OK';
} else {
foreach ($validator->getMessages() as $message) {
echo "$message\n";
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
'john.doe.' 不能与点原子格式
'john.doe' 匹配.无法与引号字符串格式
'john.doe' 匹配.对于电子邮件地址'john.doe没有有效的本地部分.@ gmail.com'
内置函数应返回FALSE或Zend方法返回'OK'.
我的中心问题是:
哪一个是对的?