批改状态:合格
老师批语:坚持到现在不容易,继续
laravel框架基于经典的MVC架构
model ,数据库操作,也包括队列,缓存等view ,视图,由一个或多个模板组成,格式化输出响应的数据controller ,控制器,主要是接受请求,选择模型,渲染视图服务器需要满足以下要求:
对于这样的开发环境配置,Laraver 也自己提供了一个虚拟机 Laravel Homestead,它可以满足所有的要求,但是这个虚拟机也特别大,有1G+,如果不想使用这么大的文件,也可以选择第三方工具,集成开发环境,比如:phpstudy,它也自动配置了这样的开发环境
学习最常用的方式吧!
先使用命令行工具切换到自己的项目目录
使用 composer 的 create object 命令:
composer create-project --prefer-dist laravel/laravel blog
使用此条命令就能下载 laraver 框架
其中: blog 表示项目名称,这个是可以自定义的
另外:下载框架时一般也会指定版本号,如下:
composer create-project --prefer-dist laravel/laravel laraverStudy 7.*
框架下载好以后如下:

框架安装好以后必须将Web服务器的根目录指向 public 目录,该目录下的 index.php 文件将作为所有进入应用程序的 HTTP 请求的前端控制器。

现在可以访问一下 www.laraverStudy.com 这个网址:


app 目录app 是 application(应用)单词的简写,这里是应用程序的核心代码,应用中所有类几乎都应该放在这里
bootstrap 目录这个不是前端框架bootstrap,这个单词的英文意思是 引导 ,所以这里是一个引导程序,在public目录中的index.php有一行代码如下:
$app = require_once __DIR__.'/../bootstrap/app.php';
这里引入了bootstrap中的app.php,在这个app.php文件中,可以看到也是new了很多东西,就在在引导程序的执行
config 目录这里放的是应用程序的所有配置文件
app.php文件中有两个比较重要的配置:'timezone' => 'UTC':这里将时区设置的是国际时区,开发中可能需要自己配置'key' => env('APP_KEY'):这里的key是我们下载Laraver框架时生成的key(秘钥),保证每个人的key都不一样,才能提高程序的安全性database.php:这里存放的是数据库配置文件,有多种数据库类型filesystems.php:文件系统,不过这里的文件系统是指跟文件操作相关的程序,比如:将文件存储到云端cloud,本地local,公共目录public。database 目录包含数据填充和迁移文件以及模型工厂类。你还可以把它作为 SQLite 数据库存放目录。
resources 目录resources 目录包含了视图和未编译的资源文件(如 LESS、SASS 或 JavaScript)。此目录还包含你所有的语言文件。
此目录下有一个views目录,里面的welcome.blade.php,可以看出,它并不是真实的视图层,而是一个模板引擎,它的语法很奇怪,既然它是一个视图模板引擎,以后我们写的视图相关的一些HTML,都应该写在这个views目录中
routes 目录目录包含了应用的所有路由定义,Laravel 默认包含了几个路由文件:web.php、api.php、 console.php 和 channels.php
主要知道api.php和web.php
大部分与视图交互相关的路由都是通过web.php,它就相当于一个门卫,用户的所有HTTP请求都要先通过路由才能访问
在Laraver框架中,路由是强制性的,所有的请求都必须通过路由,有多少请求,你就要写多少路由
api.php呢,是处理与接口相关的请求
差异:web.php输出的是HTML页面,api.php输出的是JSON数据,比如,网页中页面的一些视图请求,都是通过web.php
storage 目录存储目录,目录包含编译后的 Blade 模板、session 会话生成的文件、缓存文件以及框架生成的其他文件。这个目录被细分成 app 、 framework 和 logs 三个子目录。app 目录可以用来存储应用生成的任何文件。 framework 目录用来存储框架生成的文件和缓存。最后, logs 目录包含应用的日志文件
在此目录中也有一个views目录,它的结构和resources 目录中的welcome.blade.php很相似,实际上呢,其实welcome.blade.php就相当于是一个翻译模板,它会读取文件,然后将文件翻译,最后视图的运行还是在storage的views目录中,welcome.blade.php实际上是不会运行的。
tests 目录tests 目录包含自动化测试文件
vender 目录vendor 目录包含你所有的 Composer 依赖包
根目录中的.env配置文件优先级是最高的,只要它的内容改变,其他配置文件,比如config目录中的文件,生成的值都会改变
artisan 命令比如,我们要生成一个控制器,常规做法可能就是去找到存放控制器的目录:app目录—》Http目录—》Controllers目录,然后在里面新建文件,但是这样比较麻烦
Laraver框架呢,给我们提供了一个命令,使用这个命令,就能很方便的创建,如下:

它会自动给你创建好控制器,并且控制器结构也为你生成好了,如下:
<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class UserInfo extends Controller{//}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号