目录
3.6模板中直接使用函数: 内置或者laravel 框架中定义的
1.入门与使用
将用户的请求按照事先规划的方案提交给指定的控制器或者功能函数来进行处理【路由就是访问地址形式】
在thinkphp中,当我们在URL地址中,传递m,a,c三个参数时,系统会自动跳转到指定模型中指定控制器的指定方法,这些处理的过程都是由框架自动完成的。但是,在laravel中,并没有指定固定参数,其路由必须手动进行配置
1.1路由配置文件:位置-》routes/web.php
1.2配置文件中配置路由
1.3路由定义的格式:
Route::请求方式("请求的URL",匿名函数或控制响应的方法);
注册路由响应多个HTTP请求--通过match方法来实现,或者用any方法注册一个路由来响应所有的请求
Route::match("匹配的请求类型","请求的URL",匿名函数或控制响应的方法); 匹配的请求类型数组的格式
1.4路由参数
路由参数其实就是给路由传递参数,分为必选参数和可选参数
当然也可以通过?的方式传递参数
1.5路由别名:name()方法
查看系统已有的路由命令: php artisan route:list
1.6路由群组:
1.7多模块下的路由操作
后期还会接触到中间件:middleware
route:group(["perfix"=>"admin"],function(){
route:get("test1",function(){
echo 'admin/test1';
)};
route:get("test2",function(){
echo 'admin/test2';
)};
});
1.8Artisan常用命令创建控制器
php artisan make:controller 控制器名
1.9Artisan常用命令创建模型
php artisan make:model 模型名称
2.数据表迁移与填充
2.1 迁移文件的创建与编写
2.2 首次迁移
php artisan make:migration create_test_table
2.3 执行迁移文件
若当前的项目中第一次执行迁移文件的话,则需要先去执行(创建用于记录迁移文件的表)
//up方法的执行
php artisan migrate:install //第一次执行迁移文件时,生成记录表(类似日志)
php artisan migrate //执行迁移文件,创建数据表
//down 方法执行
php artisan migrate:rollback
注意:回滚(删除)之后会删除上一个批次的记录,并且同批次建立的数据表也会
删除,但是迁移文件还在,方便后期继续迁移(创建表)
2.4 数据表填充
注意:填充器中可以直接使用DB,不需要引入,引入会报错
2.5 填充器创建与编写
php artisan make:seeder 填充器名称 【大写表名+TableSeeder】
Eg: test表的写法为:php artisan make:seeder TestTableSeeder
2.6 执行填充器文件
php artisan db:seed --class=种子文件名
Eg: test表的写法为:php artisan db:seed --class=TestTableSeeder
3.视图操作
3.1 视图文件也可以分目录管理
3.2 视图文件的命令与渲染
文件名习惯小写
文件名的后缀是.blade.php(laravel框架有一套模板引擎使用的就是balde,可以直接使用标签语法{ {$tittle}},也可以用原生的php语法显示数据)
也可以使用.php 但是这样的话就不能使用标签语法,只能使用原生语法(<?php echo $tittle ?>)显示数据
两个文件同时存在时,优先显示.blade.php后缀的文件
3.3 展示视图的方法
eg: return view("home/test/test");
return view("home.test.test");
return view("视图文件名");支持分目录管理
3.4 变量分配与展示
view(模板文件名称,数组);
view(模板文件名称)->with(数组);
view(模板文件名称)->with(名称,值) ->with(名称,值);
3.5 compact(php 内置函数),打包成一个数据
3.6模板中直接使用函数: 内置或者laravel 框架中定义的
在smarty中,在视图中,通过变量修饰符“|“来修饰变量(使用函数去处理变量)
在laravel中,视图调用函数语法与js,php基本一致,只不过需要左右大括号
3.7 循环标签与分支语法标签
3.8 模板继承
编写两个页面,一个父级页面,一个子页面
语法:@yield("名字"); 在父级页面中的占位
编写的子页面不需要头部和尾部
继承语法:
@extend("comon")
@section("mainbody")
代码块
@endsection
3.9 文件的包含
@include("文件名")
3.10外部静态文件引入方式
4.关联模型
是指绑定模型(表)的关系(关联表),后续需要使用联表的时候直接使用相关模型