初学Laravel, 但是什么Laravel 安装,简介这里就不说了。这个去网上找找还是不少资料的
这里先浅显的说一下laravel的结构(当作抛砖引玉吧,好吧连砖都算不上。。。)
安装完Laravel 可以看到有4个文件夹:
app |
包含了站点的controllers(控制器),models(模型),views(视图)和assets(资源)。这些是网站运行的主要代码,你会将你大部分的时间花在这些上面。 |
bootstrap |
用来存放系统启动时需要的文件,这些文件会被如index.php这样的文件调用。 |
public |
这个文件夹是唯一外界可以看到的,是必须指向你web服务器的目录。它含有laravel框架核心的引导文件index.php,这个目录也可用来存放任何可以公开的静态资源,如css,Javascript,images等。 |
vendor |
用来存放所有的第三方代码,在一个典型的Laravel应用程序,这包括Laravel源代码及其相关,并含有额外的预包装功能的插件。 |
但我们的大部分开发都是在app文件夹下进行的
所以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 保护的一些预定义筛选器。 |
这就是 Laravel 的大致结构。Laravel不像其它框架那样有许多xml文件用来系统配置,她更看重的是目录约定,在指定的目录下编写指定的操作。
顺带说一下 Laravel 的启动流程吧(这个在官方文档中有介绍)
- 请求进入
public/index.php
文件。 bootstrap/start.php
文件创建应用程序对象并检测环境。- 内部的
framework/start.php
文件配置相关设置并加载服务提供器。 - 加载应用程序
app/start
目录下的文件。 - 加载应用程序的
app/routes.php
文件。 - 将 Request 对象发送给应用程序对象,应用程序对象返回一个 Response 对象。
- 将 Response 对象发回客户端。
应用程序的启动文件被存放在app/start目录中。默认情况下,该目录下包含三个文件:global.php、local.php 和 artisan.php文件。
global.php启动文件默认包含一些基本项目,例如日志的注册以及载入app/filters.php 文件。
然而,你可以在该文件里做任何你想做的事情。无论在什么环境下,它都将会被自动包含进_每一个_request中。而local.php 文件仅在local环境下被执行。
当然,如果除了local环境你还有其他环境的话,你也可以为针对这些环境创建启动文件。
这些文件将在应用程序运行在该环境中时被自动包含。假设你在 bootstrap/start.php 文件中配置了一个 development 环境,
你可以创建一个 app/start/development.php 文件,在那个环境下任何进入应用程序的请求都会包含该文件。
查看和设置当前环境这个就另写一遍文档吧。
参考资料:
http://v4.golaravel.com/docs/4.2
http://www.cnblogs.com/huangbx/p/3586704.html (这个写的很好啊,大家去看这个博客吧,我的也就我自己能看懂。 – -!)
——————————————-开始扯淡—————————————————
进来抽时间开始学习Laravel,过程应该是断断续续的。
最近忙的事情比较多,有很多事情都无从下手。艰难啊!
早就打算学Laravel了,但是时间有限,想了想不能再拖了,
所以即使忙也抽点时间看看。
Laravel 目前中文资料还是挺少的。 大牛们赶快行动起来吧。
——————————————-扯淡完毕—————————————————
此文章通过 python 爬虫创建,原文是自己的csdn 地址: larevel学习笔记 程序体系结构