목차
回复内容:
백엔드 개발 PHP 튜토리얼 比较大的项目 要不要把url都统一到一个表里面?大家都是怎么做的?

比较大的项目 要不要把url都统一到一个表里面?大家都是怎么做的?

Jun 06, 2016 pm 08:41 PM
apache nginx php 웹 개발

1

2

3

4

5

6

7

8

<code>是这样的,最近项目越来越大 包括 手机端 微信嵌入网站  支付宝服务窗嵌入网站  PC端(下面有很多二级域名 比如 passport api  service) 等等

 

我在考虑 是不是要把整站的url 路径 都写入到一个表里面 然后用统一的一个函数 来调用url 

 

否则的话 比如说 http:xxx/article  这个详细页面 url  站内各个模块都有关联 如果这个url更改了 那么代码里面 很多关于这个页面的 url 定向  都要修改  我在考虑是不是 把所有的url  (包括 后台和前台) 都集中到一个表 里面 管理  然后每个url 对应有 权限  别名  rewrite 等等属性 这样 调用的时候 比如说这个  geturl("article")  根据article这个别名 来调用 url  不管url怎么改变 还是 做了 rewrite 都不用改代码了

 

不知道各位大神是怎么做的呢?

</code>

로그인 후 복사
로그인 후 복사

回复内容:

1

2

3

4

5

6

7

8

<code>是这样的,最近项目越来越大 包括 手机端 微信嵌入网站  支付宝服务窗嵌入网站  PC端(下面有很多二级域名 比如 passport api  service) 等等

 

我在考虑 是不是要把整站的url 路径 都写入到一个表里面 然后用统一的一个函数 来调用url 

 

否则的话 比如说 http:xxx/article  这个详细页面 url  站内各个模块都有关联 如果这个url更改了 那么代码里面 很多关于这个页面的 url 定向  都要修改  我在考虑是不是 把所有的url  (包括 后台和前台) 都集中到一个表 里面 管理  然后每个url 对应有 权限  别名  rewrite 等等属性 这样 调用的时候 比如说这个  geturl("article")  根据article这个别名 来调用 url  不管url怎么改变 还是 做了 rewrite 都不用改代码了

 

不知道各位大神是怎么做的呢?

</code>

로그인 후 복사
로그인 후 복사

这个可以有,最好是将mysql的url缓存到memcache或redis,不然每个请求到去查表的话,性能就不好了。

可以这样做,点评很长一段时间就是如此的。
现在因为有了SLB,软负载均衡,所以配置变的复杂了,基本都在SLB层面上做掉了。
另外这样的好处还有就是方便AB Test等同URL的应用切换。

不过有几点要注意:
1、URL匹配规则的顺序,有时会出现先前的规则覆盖后面的规则,那么URL路由就到不到后面规则的解析器。
2、URL匹配的性能,灵活利用多种匹配规则,例如starts_with, ends_with,等以及正则的写法对性能的影响。
3、楼上提到放到memcached或redis里,其实因为URL规则的访问密集性以及整体不会太大,反而是建议就放在本地内存中。

php的我不知道,不过我知道别的语言里,大多路由都需要手动注册,然后通过模版里的helper用路由名称来渲染路径,如django的urlfor

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

CakePHP 날짜 및 시간

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

CakePHP 파일 업로드

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

CakePHP 라우팅

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP 토론

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP 빠른 가이드

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

CakePHP 프로젝트 구성

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

See all articles