laravel 目录结构

图 1.1 显示了 Laravel 项目目录结构是什么样子:

图1.1 Laravel 项目目录结构

  就如你看到这样,laravel下面只包含了4个文件夹,这4个文件夹下面有一些子文件夹,这种丰富的子文件夹在第一次看到是不是有压力?我会逐个介绍。我们大部分的开发工作都会在app/文件夹下面进行。

  下面是各个文件夹和文件的基本介绍:


顶级文件夹


作用


app


包含了站点的controllers(控制器),models(模型),views(视图)和assets(资源)。这些是网站运行的主要代码,你会将你大部分的时间花在这些上面。


bootstrap


用来存放系统启动时需要的文件,这些文件会被如index.php这样的文件调用。


public


这个文件夹是唯一外界可以看到的,是必须指向你web服务器的目录。它含有laravel框架核心的引导文件index.php,这个目录也可用来存放任何可以公开的静态资源,如css,Javascript,images等。


vendor


用来存放所有的第三方代码,在一个典型的Laravel应用程序,这包括Laravel源代码及其相关,并含有额外的预包装功能的插件。

  正如上面提到的,/app是所有的乐趣产生的地方,让我们更深入的看看这个目录的结构。

  图 1.2 显示/app文件夹的详细信息:

图1.2 app 文件夹详细信息

  下面是详细介绍:


文件的文件夹


作用


/app/config/


配置应用程序的运行时规则、 数据库、 session等等。包含大量的用来更改框架的各个方面的配置文件。大部分的配置文件中返回的选项关联PHP数组。


/app/config/app.php


各种应用程序级设置,即时区、 区域设置(语言环境)、 调试模式和独特的加密密钥。


/app/config/auth.php


控制在应用程序中如何进行身份验证,即身份验证驱动程序。


/app/config/cache.php


如果应用程序利用缓存来加快响应时间,要在此配置该功能。


/app/config/compile.php


在此处可以指定一些额外类,去包含由‘artisan optimize’命令声称的编译文件。这些应该是被包括在基本上每个请求到应用程序中的类。


/app/config/database.php


包含数据库的相关配置信息,即默认数据库引擎和连接信息。


/app/config/mail.php


为电子邮件发件引擎的配置文件,即 SMTP 服务器,From:标头


/app/config/session.php


控制Laravel怎样管理用户sessions,即session driver, session lifetime。


/app/config/view.php


模板系统的杂项配置。


/app/controllers


包含用于提供基本的逻辑、 数据模型交互以及加载应用程序的视图文件的控制器类。


/app/database/migrations/


包含一些 PHP 类,允许 Laravel更新当前数据库的架构并同时保持所有版本的数据库的同步。迁移文件是使用Artisan工具生成的。


/app/database/seeds/


包含允许Artisan工具用关系数据来填充数据库表的 PHP 文件。


/app/lang/


PHP 文件,其中包含使应用程序易于本地化的字符串的数组。默认情况下目录包含英语语言的分页和表单验证的语言行。


/app/models/


模型是代表应用程序的信息(数据)和操作数据的规则的一些类。在大多数情况下,数据库中的每个表将对应应用中的一个模型。应用程序业务逻辑的大部分将集中在模型中。


/app/start/


包含与Artisan工具以及全球和本地上下文相关的自定义设置。


/app/storage/


该目录存储Laravel各种服务的临时文件,如session, cache,  compiled view templates。这个目录在web服务器上必须是可以写入的。该目录由Laravel维护,我们可以不关心。


/app/tests/


该文件夹给你提供了一个方便的位置,用来做单元测试。如果你使用PHPUnit,你可以使用Artisan工具一次执行所有的测试。


/app/views/


该文件夹包含了控制器或者路由使用的HTML模版。请注意,这个文件夹下你只能放置模版文件。其他的静态资源文件如css, javascript和images文件应该放在/public文件夹下。


/app/routes.php


这是您的应用程序的路由文件,其中包含路由规则,告诉 Laravel 如何将传入的请求连接到路由处理的闭包函数、 控制器和操作。该文件还包含几个事件声明,包括错误页的,可以用于定义视图的composers。


/app/filters.php


此文件包含各种应用程序和路由筛选方法,用来改变您的应用程序的结果。Laravel 具有访问控制和 XSS 保护的一些预定义筛选器。

  花了很多心思在建立和命名文件夹上,得到的就是一个具有良好的文件系统的应用程序。

时间: 2024-11-09 05:43:22

laravel 目录结构的相关文章

laravel5.4学习--laravel目录结构

Laravel目录结构分析 app目录:主要是存放自己开发的应用代码(里面主要书写 控制器和模型和路由文件) bootstrap目录:laravel启动目录 config目录:主要是存放配置文件信息 database目录:数据迁移功能(重点:数据迁移和种子文件) public目录:单入口和系统的静态资源(css.img.js.uploads) resources目录:存放视图文件 storage目录:主要是存放缓存文件和日志文件,需要注意:如果是在Linux环境下,该目录需要有可写的权限 ven

Laravel项目目录结构说明

Laravel项目目录结构说明: |- vendor 目录包含你的 Composer 依赖模块及laravel框架. |- bootstrap 目录包含几个框架启动跟自动加载配置的文件. |- app.php |- autoload.php |- config 应用程序的配置文件. |- database 数据库迁移与数据填充文件. |- public 项目web入口和静态资源文件 (图片.js.css,字体等等). |-index.php 入口 |- resources 目录包含视图.原始的资

[ Laravel 5.1 文档 ] 架构 —— 应用目录结构

1.简介 Laravel应用默认的目录结构试图为不管是大型应用还是小型应用提供一个好的起点,当然,你可以自己按照喜好重新组织应用目录结构,Laravel对类在何处被加载没有任何限制——只要Composer可以自动载入它们即可. 2.根目录 新安装的Laravel应用包含许多文件夹: app目录包含了应用的核心代码: bootstrap目录包含了少许文件用于框架的启动和自动载入配置,还有一个cache文件夹用于包含框架生成的启动文件以提高性能: config目录包含了应用所有的配置文件: data

Laravel5.1 目录结构解析

学习一门框架,首先要了解的就是目录结构.对目录结构清晰就可以着手学习了~这里不作新特性的介绍,权当目录结构手册看吧.若发现有何不恰当的地方请联系我哦~注:写本文时参照的是5.1.4版本 目录或文件 说明 |– app 包含Controller.Model.路由等在内的应用目录,大部分业务将在该目录下进行 | |– Console 命令行程序目录 | | |– Commands 包含了用于命令行执行的类,可在该目录下自定义类 | | |– Kernel.php 命令调用内核文件,包含command

Laravel5的新特性 - 目录结构和命名空间

Laravel5的新特性 - 目录结构和命名空间 从Laravel4.2升级到Laravel5最大的一个原因就是因为目录结构的调整.Laravel5的目录结构能够更好的帮助人们理解web开发的最佳实践,对WEB的规范化将会做出不小的贡献.那么,Laravel5的目录结构是什么样的呢? app Commands Console Events Handlers Commands Events Http Controllers Middleware Requests Providers Service

Laravel5.1 学习笔记1, 目录结构和命名空间(待修)

自从用 Laravel4做了个小网站,使用了数据库ORM Eloquent, 就放下了一段时间,想不到这个与Asp.net MVC 有着异曲同工之妙的框架已经出了下个版本,而且还有不小的改动,因此不得不从头过一次,顺便更新一下知识点. 下面内容摘自Laravel 5.0 系列, 目录结构和命名空间 Laravel从4升级到5 ,改变的不只是文件的组织方式,而且是思想上的重大转变. 废话不多说, 新版本的目录. app Console Commands Events Exceptions Http

Day4 - 迭代器&生成器、装饰器、Json & pickle 数据序列化、软件目录结构规范

---恢复内容开始--- 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 需求:列表a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求把列表里的每个值加1 1 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2 b = [] 3 for i in a: 4 b.append(i+1) 5 a = b 6 print(a) 普通青

linux命令格式,获取帮助及其目录结构简要理解

我们都知道,一台计算机要是没通电,和一堆废铁没什么区别.那么,通电开机进入系统后,会进入交互界面,等待用户操作,人与计算机交互界面有两种: GUI:图形用户接口.如我们平时使用的Windows  ,linux的X window,有KDE和GOME. CLI:命令行接口,使用的SHELL类型有bash ,csh,tcshell,zshell等. 例如:[[email protected] ~]# commandbin root:当前登录的用户名. dxlcentOS:当前主机的主机名.@是一个分隔

ionic开发之优化目录结构

当我们来个ionic start circleApp tabs的时候,会自动生成目录结构,基本如下: 显然这不利于项目的管理,当你的项目越来越复杂的时候,这是不够的.我们必须要按照模块进行文件夹的方式去管理 以下为优化后的目录结构 在模板处,我们将其按照模块文件夹的方式去分开管理,每个模块带着自己的控制器走.采用就近原则的管理方式. 当然只要你百度,还有更具备模块化的管理方式,当项目大到一定程度的时候,这种管理方式显然也是不够的,这里不做讨论. 接下来讲讲如何定制化自己的ionic主题样式. i