laravel基础

# laravel基础

### 一、MVC设计模式

在php的的主流框架中,大多都采用MVC的设计模式,它可以将代码解耦,让视图代码和逻辑代码分开编写,为后期的维护带来了极大的便利。**MVC是模型(model)、视图(view)、控制器(controller)是组合**,它表示将软件系统分成3个核心部分。

- 模型model,用于数据处理
- 视图view,用于显示数据
- 控制器controller,接收用户请求,处理用户交互

MVC示意图如下:

<img src="img\mvc.png" />

### 二、laravel目录结构

laravel一级目录的作用

| 目录          | 作用                                               |
| ------------- | -------------------------------------------------- |
| **app**       | 应用目录,保存项目的控制器、模型等                 |
| bootstrap     | 框架的启动相关文件                                 |
| **config**    | 存放一些配置文件                                   |
| **database**  | 数据库迁移文件及数据填充文件                       |
| **public**    | 应用入口文件(index.php)和前端资源文件(CSS,JS) |
| **resources** | 存放视图文件、语言包和未编译的前端资源文件         |
| **routes**    | 存放应用中定义的所有路由                           |
| storage       | 存放编译后的模板、session、缓存文件、日志文件      |
| tests         | 自动化测试文件                                     |
| vendor        | 存放通过composer加载的依赖包                       |

laravel常用的子目录和文件

| 类型 | 路径                                    | 作用                   |
| ---- | --------------------------------------- | ---------------------- |
| 目录 | app\Http                                | 存放HTTP请求相关文件   |
| 目录 | **app\Http\Controllers**                | 存放控制器             |
| 目录 | app\Http\Controllers\Auth               | Auth模块的控制器目录   |
| 文件 | **app\Http\Controllers\Controller.php** | 控制器的基类文件       |
| 目录 | app\Http\Middleware                     | 中间件目录             |
| 文件 | app\User.php                            | User模型文件           |
| 文件 | bootstrap\autoload.php                  | 自动加载文件           |
| 文件 | config\app.php                          | 全局配置文件           |
| 文件 | config\auth.php                         | Auth模块的配置文件     |
| 文件 | **config\database.php**                 | 数据库配置文件         |
| 文件 | config\filesystem.php                   | 文件系统的配置文件     |
| 目录 | database\factories                      | 存放工厂模式的数据     |
| 目录 | database\migrations                     | 存放数据迁移文件       |
| 目录 | database\seeds                          | 存放数据填充文件       |
| 目录 | resources\lang                          | 存放语言包文件         |
| 目录 | **resources\views**                     | 存放视图文件           |
| 文件 | **routers\web.php**                     | 定义路由文件           |
| 目录 | storage\app                             | 存放用户上传的文件     |
| 目录 | storage\framework                       | 存放与框架自身相关文件 |
| 目录 | storage\logs                            | 存放日志文件           |
| 文件 | **public\index.php**                    | 入口文件               |
| 文件 | .env                                    | 环境变量配置文件       |
| 文件 | artisan                                 | 脚手架文件             |
| 文件 | composer.json                           | composer依赖包配置文件 |

### 三、路由

路由用来匹配用户请求的URL地址,laravel框架的路由需要在`routes/web.php`文件中进行配置,打开该文件会看到一个已经存在的路由信息:

```
Route::get('/', function () {

  return view('welcome');

});
```

上述代码用来配置laravel中的默认根路由,view()函数表示要显示的视图,参数welcome是视图文件的名称,对应的视图文件为resources\views\welcome.blade.php。

1、路由请求常见方法:

请求方式: **get**、**post**、put、delete、patch、options

(1)、Route::请求方式(请求URI, function(){  return view("页面名字");  });
(2)、多匹配用法: 只能接收定义得请求方式
Route::match([请求方式1,请求方式2...],  请求URI,  function(){});

```
Route::match(['get', 'post'], '/test', function () {

  return 'match-method';

});
```

(3)、全匹配用法: 所有请求方式都能接收
Route::any(请求URI,   function(){});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值