根目录结构
/app
/bootstrap
/public
/vendor
artisan
composer.json
server.php

1./app
整个Laravel 目录中最需要我们注意的地方,包含设置(config)、路由(routing)、MVC
模型的三大模块都在这里,项目的主要代码工作都在这个目录下完成。

2./bootstrap
这个目录主要是用来存放所有的第三方代码,包括框架函数源码(/vendor/laravel)、插件和扩展等。

3./public
这个目录是网站的访问入口,请求都会进入 index.php ,同时存放所有对外开放的资源目录,如 css、javascript
以及图片等等皆被存放在此。

4./vendor
这个目录主要是用来存放所有的第三方代码,包括框架函数源码(/vendor/laravel)、插件和扩展等。

5.artisan
工匠指令,这是 Laravel 框架里的命令行工具。

6.composer.json
该文件是应用的配置文件,描述了应用的相关信息,如名称、版本、许可证书等,同时也写明了应用启动时会自动加载某些文件夹或文件,见"autoloand",所以

当你需要在 controller 或者 model 添加子目录时可以在 autoload 的 classmap 处申明;也允许你申明应用所需的依赖库进而会在项目里帮你安装依赖库;

7.server.php
该文件其实是给php内置的服务器用的,当使用 php -S localhost:9999 server.php 开启内置服务器的时候,就会使用server.php做了部分url兼容的工作,往地址栏输入:localhost:9999即可打开项目主页。

而在laravel项目的目录下敲命令:php artisan serve,会默认打开端口8000,此时输入http://localhost:8000,可打开laravel项目的主页。

不过需将/app/storage设置为可读写。

Application 目录结构

/config
/controllers
/databases
/lang
/models
/start
/storage
/tests
/views
filters.php
routes.php

1./config
虽然 Laravel 程序在一开始的使用可以不做任何设置,但我们肯定还需要更多的设置来完成业务上的需求,所有的设置都放在这个目录中。

2./controllers
这个目录放 MVC 模型中的控制器(controller) 。

3./database
/migrations/:包含一些PHP类,允许Laravel更新当前数据库的架构并同时保持所有版本的数据库的同步。迁移文件是使用Artisan工具生成的。
/seeds/:       包含允许Artisan工具用关系数据来填充数据库表的PHP文件。

4./lang
语言目录,Laravel 框架的语系采用文字格式,先用目录做各语系的分别,再依所需要的文件来存放,默认是英文(“en”)。

转换语言的方法是 config 目录下的 application.php 文件中的language ,设定值与语言文件夹名相同即可。

5./models
MVC
模型中的 M,就是我们的业务逻辑(business logic),基本上就是定义了我们要从数据库中取出的内容、通过 web service
要传出的内容等。

原则上,也是搭配著 Laravel 框架中 Eloquent ORM 对数据库进行存取,包含在 auto-loading 之中。

6./start
包含与 artisan 工具、global(不限定本地环境,无论处于什么环境都会加载里面的内容)和 locale 上下文相关的启动文件,应用响应请求时会加载这些文件。

7./storage
存储 Laravel 各种服务的临时文件,如session、cache、log、views等,必须保证可以写入,由 Laravel 自己维护。

8./tests
Laravel 框架整合了 PHPUnit
,方便我们对专门的程序进行单元测试,所以我们可以直接參考PHPUnit
文件来编写单元测试,在全新的文件目录中含有 example.test.php 的基本范例。可以使用artisan工具一次性执行所有的测试。

9./views
HTML
的模板(template),也就是 MVC 模型中的 V。而模板除了原始的 HTML 格式外,Laravel 框架提供了 Blade
Template Engine ,让我们可以用比较简洁的方式编写模板文件,而这些文件只要的扩展名改为 .blade.php ,例如
index.blade.php,模板引擎就会自动帮我们编译了,想要了解更多的內容,说明文件 – Blade Template Engine
中有详细介绍。

10.filters.php
该文件包含应用程序的筛选方法和一些过滤器,为程序使用。Laravel具有访问控制和 XSS 保护的一些预定义筛选器。

11.routes.php
路由设置,接收请求,再根据我们的设定调用相应的程序进行回应。若是请求不存在或请求失败则返回 404 或 500 的错误回应。

Laravel 目录结构分析的更多相关文章

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

    Laravel目录结构分析 app目录:主要是存放自己开发的应用代码(里面主要书写 控制器和模型和路由文件) bootstrap目录:laravel启动目录 config目录:主要是存放配置文件信息 ...

  2. Laravel的目录结构分析

    根目录结构/app/bootstrap/public/vendorartisancomposer.jsonserver.php 1./app整个Laravel 目录中最需要我们注意的地方,包含设置(c ...

  3. Android项目目录结构分析

    Android项目目录结构分析 1.HelloWorld项目的目录结构1.1.src文件夹1.2.gen文件夹1.3.Android 2.1文件夹1.4.assets 1.5.res文件夹1.6.An ...

  4. phpcms v9框架的目录结构分析

    phpcms v9框架的目录结构分析:      了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识 打开"mycms"项目,有如下文件和目录      使用 ...

  5. 手机自动化测试培训:appium目录结构分析

    手机自动化测试培训:appium目录结构分析   移动端的自动化测试越来越普遍,poptest率先退出移动端自动化测试的课程,以appuim的python脚本版本作为授课基础,后期陆续退出java版本 ...

  6. Django目录结构分析

    Django目录结构分析: Django的Linux项目目录记录 [root@cmdb Django]# tree mysite mysite ├── cmdb │   ├── admin.py # ...

  7. Vue 目录结构分析 数据绑定 绑定属性 循环渲染数据 数据渲染

    一.目录结构分析 node_modules 项目所需要的各种依赖 src 开发用的资源 assets 静态资源文件 App.vue 根组件 main.js 配置路由时会用 .babelrc 配置文件 ...

  8. vue2.* 目录结构分析 数据绑定 循环渲染数据 数据渲染02

    一.目录 结构分析 node_modules:项目依赖文件(也可以说是模块) src:开发时所用的资源 assets:静态资源文件 App.vue:根组件(最基础的公共页面) main.js:实例化v ...

  9. ionic小白的学习路之目录结构分析、创建组件、创建页面、页面跳转

    一. 目录结构分析 hooks:编译cordova 时自定义的脚本命令,方便整合到我们的编译系统和版本控制系统中. node_modules :node 各类依赖包. resources :andro ...

随机推荐

  1. Viewpager实现图片轮播

    //-------------主布局文件------------------------------------- <LinearLayout xmlns:android="http: ...

  2. VideoView的视频的全屏播放

    import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.I ...

  3. Bom2016/4/21

    Browser Object Model 浏览器对象模型 open(地址,打开方式) open('http://www.baidu.com','_self')本窗口打开百度 open('http:// ...

  4. Linux学习 -- 启动管理

    1 CentOS 6.x启动管理 系统运行级别 运行级别命令 #runlevel   查看级别 #init 运行级别  改变级别 系统默认运行级别 配置文件 /etc/inittab id:3:ini ...

  5. JDBC的超时原理

    1.什么是JDBC jdbc是业务系统连接数据的标准API.SUN公司一共定义了4中类型的JDBC:JDBC-ODBC桥:Native-API 驱动:Network-Protocol 驱动:Datab ...

  6. Python 安装matplotlib,six,dateutil,pyparsing 完整过程

    [摘要:正在做词频剖析的时间,须要用matlotlib 做图表,柱状图啥的,因而便最先了一个又一个的装置库的进程 由于matplotlib 须要依附很多其他科教盘算的第三圆库,须要一个一个的装置了.. ...

  7. Java与C#的比较学习

    http://www.cnblogs.com/javathread/archive/2012/08/11/2634893.html 我在大学学的是C语言,自学和选修的是C++,刚毕业也搞过几天Jsp, ...

  8. CGI接口原理及实现(转载)

    原文:http://blog.csdn.net/duola_rain/article/details/15812585 CGI接口原理及实现(2012-12-7 Over) 1.CGI定义: CGI( ...

  9. ignite学习笔记

    1.一个Ignite节点可以从命令行启动,可以用默认的配置也可以传递一个配置文件.可以启动很多很多的节点然后他们会自动地发现对方. 2.Ignite只需要一个ignite-core强依赖,通常你还需要 ...

  10. POJ1611 The Suspects 并查集模板题

    题目大意:中文题不多说了 题目思路:将每一个可能患病的人纳入同一个集合,然后遍历查找每个点,如果改点点的根节点和0号学生的根节点相同,则该点可能是病人. 模板题并没有思路上的困难,只不过在遍历时需要额 ...