在前面的章节中我们讲解过如何在 Laravel框架中建立后台文件夹.
php Laravel 框架之建立后台文件夹
现在我们再添加一块内容.是关于自动加载的部分.
在我们app目录中还有个start目录.它里面这样写道:
In addition to using Composer, you may use the Laravel class loader to
load your controllers and models. This is useful for keeping all of
your classes in the "global" namespace without Composer updating.
我翻译一下:除了使用Composer,你还可以使用Laravel的类加载器来加载你的控制器和模型.
这对于让你的类在不使用Composer updating 的情况下处于全局的名字空间中非常有用.
我们这里有一个code fragment
ClassLoader::addDirectories(array(
app_path().'/commands',
app_path().'/controllers',
//app_path().'/controllers/admin',
app_path().'/models',
app_path().'/database/seeds',
));
对,很熟悉,这些文件夹都是我们经常用到的文件夹,控制器,命令.模型,数据库种子
这些文件夹中的内容就是可以自动加载到全局名字空间中的.
但是还多了一个我注释的内容.这个内容的目的是干什么呢..
就是让我们controllers目录中的admin中的控制器也同样具有全局的名字空间.这样我们就可以直接在路由表中通过
我们的控制器名字来接收了.
我测试了一下,确实成功了,而不再需要compoer dumpautoload
但是还是有个问题,如果admin文件夹中有一个控制器和外面的名字相同该怎么办?
我也同样做了一个实验,最终发现,它只会选择其中之一,至于到底选择哪一个,就看我们上面的那个加载的顺序了.
如果是
app_path().'/controllers',
app_path().'/controllers/admin',
那么外部的控制器有效,否则的话,admin文件夹里面的控制器有效.
结合之前写的这么多.其实最保险,也高大上的方法就是使用 名字空间.
但是编写起来也会更加复杂一点咯...小项目可以考虑我们的方法.大不了注意一下,别让这些控制器冲突就好了.
又不是没办法控制.对吧.
Do one thing at a time,and do well.
Best Wishes.

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

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

Dreamweaver Mac版
시각적 웹 개발 도구
