## Laravel学习笔记汇总——Laravel的目录结构
// 使用下面语句查看当前版本:
// php artisan --version # Laravel Framework 7.30.1
.
├── app # 存放我们所开发应用的核心代码
│ ├── Broadcasting # 通过 php artisan make:channel产生,存放所有broadcast channel classes
│ ├── Console # 所有应用中自定义的artisan命令,自定义的artisan命令通过 php artisan make:command产生
│ │ └── Kernel.php # 注册自定义的artisan命令及计划任务
│ ├── Events # 通过 php artisan make:event或event:generate产生,存放event类,
│ ├── Exceptions # 存放应用中的异常处理函数
│ │ └── Handler.php # 自定义异常的日志记录和显示
│ ├── Http # 所有控制器、中间件和请求,所有请求逻辑在这里处理,是最为重要的文件夹
│ │ ├── Controllers
│ │ │ ├── Controller.php
│ │ ├── Kernel.php
│ │ └── Middleware
│ │ ├── AdminLogin.php
│ │ ├── Authenticate.php
│ │ ├── CheckForMaintenanceMode.php
│ │ ├── EncryptCookies.php
│ │ ├── RedirectIfAuthenticated.php
│ │ ├── TrimStrings.php
│ │ ├── TrustHosts.php
│ │ ├── TrustProxies.php
│ │ └── VerifyCsrfToken.php
│ ├── Jobs # 通过 php artisan make:job产生,存放应用中的队列型任务
│ ├── Listeners # 通过 php artisan make:listener或event:generate(没错)产生,存放用于事件处理类
│ ├── Mail # 通过 php artisan make:mail产生,存放邮件生成、发送等相关的文件
│ ├── Models # 存放所有的模型,通过php artisan make:model产生
│ ├── Notifications # 通过php artisan make:notification命令产生
│ ├── Policies # 通过php artisan make:policy命令产生,Policy用于确定用户对资源的操作权限
│ ├── Providers # 存放应用的所有服务提供者,
│ │ ├── AppServiceProvider.php
│ │ ├── AuthServiceProvider.php
│ │ ├── BroadcastServiceProvider.php
│ │ ├── EventServiceProvider.php
│ │ └── RouteServiceProvider.php
│ ├── Rules # 通过php artisan make:rule命令产生,Rule把复杂的验证逻辑封装到一个简单的对象中
│ └── User.php
├── artisan
├── bootstrap # 启动文件
│ ├── app.php # 启动整个框架
│ └── cache # 框架为优化性能而产生的路由、服务等缓存文件
│ ├── packages.php
│ └── services.php
├── composer.json
├── composer.lock
├── config # 存放所开发应用所有的配置文件
│ ├── app.php
│ ├── auth.php
│ ├── broadcasting.php
│ ├── cache.php
│ ├── cors.php
│ ├── database.php
│ ├── filesystems.php
│ ├── hashing.php
│ ├── logging.php
│ ├── mail.php
│ ├── queue.php
│ ├── services.php
│ ├── session.php
│ └── view.php
├── database # 存放数据库迁移、模型工厂、数据生成等相关文件
│ ├── factories
│ │ └── UserFactory.php
│ ├── migrations
│ │ ├── 2014_10_12_000000_create_users_table.php
│ └── seeds
│ └── DatabaseSeeder.php
├── package.json
├── phpunit.xml
├── public # 网站项目对外公开可访问的文件,包括图片、JS、CSS等assets
│ ├── favicon.ico
│ ├── index.php # 所有应用请求的入口文件
│ ├── robots.txt
│ └── web.config
├── README.md
├── resources # 存放所有的视图模板,以及未编译的CSS、JS,和语言文件
│ ├── js
│ │ ├── app.js
│ │ └── bootstrap.js
│ ├── lang
│ │ └── en
│ │ ├── auth.php
│ │ ├── pagination.php
│ │ ├── passwords.php
│ │ └── validation.php
│ ├── sass
│ │ └── app.scss
│ └── views
│ ├── about.blade.php
├── routes # 存放应用中所有的路由定义
│ ├── api.php # 通过这里的路由,要使用token进行验证,对session状态不能访问
│ ├── channels.php
│ ├── console.php
│ └── web.php # 在这里定义基本上所有的路由(stateless RESTful API除外)
├── server.php
├── storage
│ ├── app # 存放应用生成的一切文件
│ │ └── public # 用户产生的可公开访问的文件,如个人头像;需要从public/storage创建一个软连接到该文件夹,可以用php artisan storage:link创建,建好之后,storage/app/public目录下的文件xxx就可以通过http://localhost/storage/xxx访问了。
│ ├── framework #存放框架生成的文件和缓存
│ │ ├── cache # 文件缓存
│ │ │ └── data
│ │ ├── sessions # Session文件
│ │ │ ├── H5LK4ieVvVMq794RUFyCIOHTAJQDuOwhSWmoUbDD
│ │ ├── testing
│ │ └── views # 编译后的Blade模板
│ │ ├── 0043f3f2900740174fb1eec9c4e2dcd4ce58bc26.php
│ └── logs # 日志文件
│ └── laravel.log
├── tests
│ ├── CreatesApplication.php
│ ├── Feature
│ │ └── ExampleTest.php
│ ├── TestCase.php
│ └── Unit
│ └── ExampleTest.php
├── vendor # Composer 所有的文件依赖
└── webpack.mix.js