gpt4 book ai didi

基于数组的 PHP 路由,如何将 * 匹配到任何东西

转载 作者:可可西里 更新时间:2023-11-01 01:05:05 24 4
gpt4 key购买 nike

我有一个包含所有路由/url 及其路径的数组,

Example : $route = array(
'/' => 'files/index.php',
'pages' => 'files/pages.php',
'pages/add' => 'files/page-add.php',
'posts/*' => 'files/posts.php',
)

使用 array_key_exists() 我检查数组中是否存在路由,如果存在,则加载其路径,如果找到直接匹配,它就会工作。

每当对 posts/anything, posts/view/10 发出请求时,我希望它与 posts/* 路径匹配,我不能使用 array_key_exists 来做到这一点().

你们对我应该使用哪种方法有什么想法/建议吗?

最佳答案

结合两种策略:

  • 坚持使用“路由阵列”进行直接匹配,这是一种性能良好的安全解决方案。
  • 对于没有给出直接匹配的剩余请求尝试其他策略,例如基于正则表达式的模式匹配,通常使用 phps preg_match() 函数。这为您提供了无限的描述模式的可能性,尽管它显然比寻找直接匹配要慢。

关于基于数组的 PHP 路由,如何将 * 匹配到任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12996485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com