自己接触的框架算来算去也就Zend和symfony,虽然量级不同,不过有一点都挺好,路由规则的设定。
为什么说好呢?网站做出来就是要被放到互联网上嘛,影响网站点击率的除了网站内容,还有一个很重要的原因就是搜索引擎,
而URL对于搜索引擎来说是判别一个网站权重值的一个指标。
原本这样的URL
www.123.com/search?category=ball
利用路由规则
show_shop_search_category:
url: /search/:category
param: { module: shop ,action:search }
变成了
www.123.com/search/ball
在Symfony中,你可以根据需求随意的设定路由规则,可以在规则中强制写一些动作,利用正则限制要传的参数等等。
感觉这部分的内容很碎,具体问题具体分析,总之可以利用routing.yml这个文件写出对搜索引擎友好的url。
大家使用php的框架来进行开发,有的时候可能会直接调用跟目录的文件而不是触发某个动作,可是由于MVC思想的缘故,会把url中的filename看作成某个action.当然,你肯定不愿意为了实现这个而特意去写一个action.
如果你做过website的sitemap,应该会了解,google建议的格式是xml,而yahoo建议的格式是txt,如何能让搜索引擎或者用户直接可以访问跟目录的文件呢?这个时候我们就需要用到.htaccess文件,把我们想直接访问的文件类型,写在.htaccess文件中。
而在symfony你基本上不用去特意修改.htaccess文件,只要把你想要直接访问的文件放在web文件夹下面就可以了,在symfony里web相当于“根”目录。
//声明
$response = $this->getResponse();
//设置title
$response->setTitle($this->getContext()->getI18N()->__('Welcomt to visit website'));
//设置keywords
$response->addMeta('keywords', 'home');