yaf路由配置规则_PHP教程
使用框架的默认路由来访问的时候,会遇到一些困扰,这部分无法查看源代码,只能通过猜测来分析。
如果项目有多个模块,显然使用yaf的默认的静态路由是无法满足需求的。
yaf默认的配置是着这样的:
application.baseUri=”/<span ” ;默认的脚本后缀名,一般可以不写 application.ext</span>=<span php ;视图的后缀名,可以为html,随意。 application.view.ext</span>=<span phtml application.dispatcher.defaultModule</span>=<span Index application.dispatcher.defaultController</span>=<span Index application.dispatcher.defaultAction</span>=<span index application.modules</span>=Index
依次说明一下作用
application.baseUri=”/” 这个是说明我们的domain后面就是要解析的内容,如果我们的application是通过文件夹a访问的,baseUri就是/a 所以这个baseuri的目的就是表示出哪些部分是需要路由来处理的,哪些是真是的路径。
默认的module是 Index,
application.dispatcher.defaultModule=Index
这一句经过测试发现修改是无效的,也就是说无法通过配置来修改默认的module,
而
application.dispatcher.defaultController=Index
application.dispatcher.defaultAction=index
即默认的 controller和默认的action相应的都是可以指派的。
再有就是为路由添加模块,在新创建模块的时候要将添加上的模块通知给路由,这样路由才能够在request请求新模块时该如何做
application.modules=Index用的是这一句,如果想添加新模块 Myoo,则要在Index后面写上,Myoo()。
变成 application.modules=Index,Myoo
<span ├── modules │ │ └── Myoo │ │ │ ├── controllers │ │ │ └── views │ │ │ │ ├── ctrl │ │ │ │ └── index</span>
<strong><span 注意:模块名字一定要和配置文件里面添加的模块名字一样,包括大小写!!</span></strong>
原来用的框架的路由基本上都是默认模块可以改而默认的controller和action不能改都是写死的index
这种情况的好处是每个模块都有指定的controller和action,如果要访问 myoo模块的 index控制器indexaction的话,只需要写一个module名myoo就可以了。
现在yaf则不可以。默认的mudule是写死的,而默认的controller和action是给默认的module用的,现在想访问 myoo/index/index/的话,只能写全,而不能只写myoo,只写myoo没有controller和action,路由还是不知道最终的目的地是哪里,就不会再从module中找了,myoo就被解析成默认的模块的一个controller了,然后抛出一个404错误,
这个都没有什么问题,够用了。
但是我觉得默认模块不可更改这是不是一个bug,因为如果不能改为什么要做上这个配置项呢。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











Java 프레임워크에 대한 상용 지원의 비용/성능 평가에는 다음 단계가 포함됩니다. 필요한 보증 수준과 SLA(서비스 수준 계약) 보장을 결정합니다. 연구지원팀의 경험과 전문성. 업그레이드, 문제 해결, 성능 최적화와 같은 추가 서비스를 고려하십시오. 위험 완화 및 효율성 향상을 기준으로 비즈니스 지원 비용을 평가합니다.

C/C++에서 포인터 비교 규칙은 다음과 같습니다. 동일한 객체를 가리키는 포인터는 동일합니다. 다른 객체에 대한 포인터는 동일하지 않습니다. 예외: 널 주소에 대한 포인터는 동일합니다.

BitgetLaunchpool은 모든 암호화폐 애호가를 위해 설계된 동적 플랫폼입니다. BitgetLaunchpool은 독특한 제품으로 돋보입니다. 여기에서 토큰을 스테이킹하여 에어드랍, 높은 보상, 초기 참가자에게만 제공되는 넉넉한 상금 풀 등 더 많은 보상을 잠금 해제할 수 있습니다. BitgetLaunchpool이란 무엇인가요? BitgetLaunchpool은 사용자 친화적인 이용 약관에 따라 토큰을 스테이킹하고 획득할 수 있는 암호화폐 플랫폼입니다. Launchpool에 BGB 또는 기타 토큰을 투자함으로써 사용자는 무료 에어드랍, 수익을 받고 넉넉한 보너스 풀에 참여할 수 있는 기회를 갖게 됩니다. 담보자산의 수입은 T+1시간 이내에 계산되며, 보상은 다음을 기준으로 합니다.

PHP 프레임워크의 학습 곡선은 언어 숙련도, 프레임워크 복잡성, 문서 품질 및 커뮤니티 지원에 따라 달라집니다. PHP 프레임워크의 학습 곡선은 Python 프레임워크에 비해 높고 Ruby 프레임워크에 비해 낮습니다. Java 프레임워크에 비해 PHP 프레임워크는 학습 곡선이 적당하지만 시작하는 데 걸리는 시간이 더 짧습니다.

경량 PHP 프레임워크는 작은 크기와 낮은 리소스 소비를 통해 애플리케이션 성능을 향상시킵니다. 그 특징은 다음과 같습니다: 작은 크기, 빠른 시작, 낮은 메모리 사용량, 향상된 응답 속도 및 처리량, 리소스 소비 감소 실제 사례: SlimFramework는 500KB에 불과한 REST API를 생성하며 높은 응답성과 높은 처리량을 제공합니다.

애플리케이션 시나리오를 기반으로 최고의 Go 프레임워크를 선택하세요. 애플리케이션 유형, 언어 기능, 성능 요구 사항 및 생태계를 고려하세요. Common Go 프레임워크: Gin(웹 애플리케이션), Echo(웹 서비스), Fiber(높은 처리량), gorm(ORM), fasthttp(속도). 실제 사례: REST API(Fiber) 구축 및 데이터베이스(gorm)와 상호 작용. 프레임워크를 선택하세요. 주요 성능을 위해서는 fasthttp를 선택하고, 유연한 웹 애플리케이션을 위해서는 Gin/Echo를, 데이터베이스 상호작용을 위해서는 gorm을 선택하세요.

Go 프레임워크 개발에서 일반적인 과제와 해결 방법은 다음과 같습니다. 오류 처리: 관리에는 오류 패키지를 사용하고 중앙에서 오류를 처리하려면 미들웨어를 사용합니다. 인증 및 권한 부여: 타사 라이브러리를 통합하고 사용자 정의 미들웨어를 생성하여 자격 증명을 확인합니다. 동시 처리: 고루틴, 뮤텍스 및 채널을 사용하여 리소스 액세스를 제어합니다. 단위 테스트: 격리를 위해 getest 패키지, 모의 및 스텁을 사용하고, 충분성을 보장하기 위한 코드 적용 도구를 사용합니다. 배포 및 모니터링: Docker 컨테이너를 사용하여 배포를 패키징하고, 데이터 백업을 설정하고, 로깅 및 모니터링 도구를 사용하여 성능과 오류를 추적합니다.

Go 프레임워크 학습에는 다섯 가지 오해가 있습니다. 프레임워크에 대한 과도한 의존과 제한된 유연성입니다. 프레임워크 규칙을 따르지 않으면 코드를 유지 관리하기가 어려워집니다. 오래된 라이브러리를 사용하면 보안 및 호환성 문제가 발생할 수 있습니다. 패키지를 과도하게 사용하면 코드 구조가 난독화됩니다. 오류 처리를 무시하면 예기치 않은 동작과 충돌이 발생합니다.
