插件窝 干货文章 thinkphp5不允许用.php后缀怎么办

thinkphp5不允许用.php后缀怎么办

后缀 路由 开发者 设置 874    来源:    2024-10-25

近日,有不少thinkphp5开发者反映在进行url路由设置时,系统不再允许使用.php后缀,这一变更引发了网友们的热议。

ThinkPHP是国内成熟且广泛应用的PHP框架,其简单易用、功能丰富、性能优异的特点,深受开发者们的喜爱。然而,在ThinkPHP5.1.0版本中,一项重大的变更正在逐渐深入开发者们的视野中:系统不再允许使用.php后缀。

事实上,在5.1.0版本的更新日志中,官方已经对这一变更进行了说明。具体来说,当我们在进行URL路由设置时,若路由规则中包含.php后缀,系统会给出以下提示:PHP 后缀不再支持。

这一变更让一些已经习惯了使用.php后缀的开发者们感到困惑与不解。为什么ThinkPHP5不再支持.php后缀呢?官方给出的解释是,这是因为PHP作为一种脚本语言的后缀,与URL访问前缀的结构不符,因此更不利于系统的检索和解析。而随着越来越多的开发者们开始使用RESTful API等新型API开发方式,更加简单明了地表达URL结构已经成为了一种趋势,因此在5.1.0版本中取消了对.php后缀的支持。

那么,如何在ThinkPHP5中进行URL路由设置呢?基本上,我们可以依然使用PHP闭包等其他方式进行路由设置。例如,我们可以设置如下的URL路由规则:

立即学习“PHP免费学习笔记(深入)”;

Route::rule('news/:id','index/news/read',['method'=>'get'],'',['id'=>'\d+']);

通过这样的设置,当用户访问URL地址/news/123时,系统将自动调用index控制器中的news方法,参数中的id值将被设置为123。因为没有.php后缀约束,也不再需要设置Rewrite规则,因此开发者们只需要写好以上代码,然后在浏览器中输入对应的URL地址,就可以完美展示相关页面。

总之,尽管取消对.php后缀的支持在一定程度上让老技术爱好者们感到失望,但从ThinkPHP5.1.0版本的整体性能来看,这一变更或许更利于系统的快速检索与解析,同时也更加符合现代API开发的趋势。因此,为了更好地保持与时俱进,并保持系统的高性能与安全性,在开发过程中我们应该积极适应并应用这一变革。