五大核心目录必须识别:app存业务代码且命名空间为App\;public是Web唯一入口,静态资源须放public/static;config集中管理配置文件;route负责URL映射;runtime自动生成缓存日志,需设可写权限。

直接打开项目根目录,用文件管理器或终端 ls -la 命令就能看到完整结构。重点不是“全列出来”,而是识别哪些目录必须存在、各自承担什么角色、哪些能动哪些绝不能碰。
五大核心目录必须一眼认出
-
app:所有业务代码的法定存放地,控制器、模型、中间件都得放这里,命名空间自动为App\;删掉它,整个应用逻辑就没了。 -
public:Web 服务器唯一可直接访问的目录,index.php是唯一入口,静态资源(CSS/JS/图片)必须放public/static下,放错位置浏览器直接 404。 -
config:集中存放database.php、view.php、middleware.php等配置文件,框架启动时自动加载,不用手动require。 -
route:只管 URL 映射,route.php里写Route::get('user/:id', 'user/read'),访问/user/123才会调用User控制器的read方法。 -
runtime:框架自动生成缓存、日志、模板编译文件的目录,含cache/、log/、view/子目录;部署时必须设为可写(如 Linux 下chmod 777 runtime),否则路由不生效、日志不记录。
其他常见目录的作用要分清
-
vendor:Composer 安装的框架核心和第三方包,禁止手动修改。 -
extend:可自由添加自定义类库,无命名空间的类放根下(如extend/Upload.php),可直接用\Upload;带层级的需声明命名空间(如extend/file/Upload.php对应\file\Upload)。 -
view(独立于 app 目录时):单应用模式下,视图默认在app/view/;若根目录下有单独view目录,通常是多应用模式中全局视图的备用位置,实际以app内的view为准。 -
think文件:命令行入口,执行php think make:controller User这类指令靠它,别当成普通 PHP 脚本去运行。
快速确认当前是单应用还是多应用
看 app 目录下是直接有 controller/、model/ 等子目录(单应用),还是有 index/、admin/ 这样的子文件夹(多应用)。前者对应 http://site.com/,后者可能通过 http://site.com/admin 或 http://site.com/index.php/admin 访问不同应用。
不复杂但容易忽略
立即学习“PHP免费学习笔记(深入)”;



















