Laravel --- 要点笔记
一.路由:
// 常规用法
Route::get('/',function(){
return 'get';
}) // 匹配多个
Route::match(['get','post'],'/',function(){}) Route::any('/',function(){}) // 验证参数
Route::post('/{id}',function($id){
return $id
})->where('id','[0-9]+')
Laravel中提交方式:GET(查) POST(改) PUT(增) DELETE(删)
其中PUT和DELETE,本质上就是POST提交且多提交了一个_method参数,参数值为PUT或者DELETE
二.控制器相关
创建控制器:php artisan make:controller Admin/HomeController
路由别名:
// 方式1:
Route::get('admin/ad_home', ['as' => 'ad_home', 'uses' => 'Admin\HomeController@home']); // 方式2(常用):
Route::get('admin/ad_login/{id}', 'Admin\HomeController@login')->name('ad_login'); route('ad_login',['id'=>1]); // 输出访问的URL
路由前缀:
//Route::get('admin/ad_home', ['as' => 'ad_home', 'uses' => 'Admin\HomeController@home']);
//Route::get('admin/ad_login/{id}', 'Admin\HomeController@login')->name('ad_login');
//Route::get('admin/ad_logout/{id}', 'Admin\HomeController@logout')->name('ad_logout'); Route::group(
['prefix' => 'admin','namespace'=>'Admin'],
function () {
Route::get('ad_home', ['as' => 'ad_home', 'uses' => 'HomeController@home']);
Route::get('ad_login', 'HomeController@login')->name('ad_login');
Route::get('ad_logout', 'HomeController@logout')->name('ad_logout');
}
);
查看路由:php artisan route:list
路由资源:
route::resource('article','ArticleController');
中间件:
创建:php artisan make:middleware MyTest
在kernel.php中的$routeMiddleware属性下面加上'my.test' => \App\Http\Middleware\MyTest::class
使用:
// route.php
Route::get('login', 'HomeController@login'); Route::group(['middleware' => ['web','my.test']], function () { Route::get('home', 'HomeController@home');
Route::get('logout', 'HomeController@logout');
});
// \App\Http\Middleware\MyTest\MyTest.php
namespace App\Http\Middleware; use Closure;
use Illuminate\Support\Facades\Redirect; class MyTest
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(!session('name'))
{
return redirect('login');
}
return $next($request);
}
}
三.视图传参:1.with 2.传数组 3.compact
$data = ['name'=>'ht','age'=>999];
$title = 'biaoti'; return view('login',compact('data','title'));
四.模板引擎
1.模板变量:
---@{{ $str }}
---{{$has or '不存在'}}
---{!! $str !!}
2.控制流程
@if @unless @foreach @while @forelse
<div class="content">
@forelse($arr as $k => $v)
@empty
空数组
@endforelse
</div>
3.模板继承
---include('common.header',['title'=>$title])
---布局:
创建布局页面views/layouts/layouts.blade.php:
<!DOCTYPE html>
<html>
<body>
<div class="header">头部[{{ $title }}]</div>
{{--yield的效果和下面section+show的效果一样--}}
{{--@yield('content')--}}
@section('content')
我是主模板
@show <div class="footer">尾部</div>
</body>
</html>
创建具体页面views/index.blade.php:
@extends('layouts.layouts') @section('content')
{{--@parent用来获取我是主模板--}}
@parent
<div class="content">index内容</div>
@endsection
五. .ENV文件
生成key:php artisan key:generate
表前缀
六.模型
创建model:php artisan make:model Http/Model/Test
三点:指定表名 指定主键 禁用update_at 和 create_at
Laravel --- 要点笔记的更多相关文章
- Laravel学习笔记(三)--在CentOS上配置Laravel
在Laravel框架上开发了几天,不得不说,确实比较优雅,处理问题逻辑比较清楚. 今天打算在CentOS 7上配置一个Laravel,之前都是在本机上开发,打算实际配置一下. 1)系统 ...
- Laravel学习笔记之Session源码解析(上)
说明:本文主要通过学习Laravel的session源码学习Laravel是如何设计session的,将自己的学习心得分享出来,希望对别人有所帮助.Laravel在web middleware中定义了 ...
- Laravel学习笔记之PHP反射(Reflection) (上)
Laravel学习笔记之PHP反射(Reflection) (上) laravel php reflect 2.1k 次阅读 · 读完需要 80 分钟 3 说明:Laravel中经常使用PHP的反 ...
- 慕客网laravel学习笔记
session中set方法使用 Session::set('user.username.age','18')嵌套使用得出$user = ['username'=>['age'=>18]]; ...
- laravel安装 笔记
http://laod.cn/hosts/2015-google-hosts.html 谷歌FQIP laravel安装和设置流程 1安装composer , VirtualBox和Vagrant 下 ...
- laravel 学习笔记 — 神奇的服务容器
2015-05-05 14:24 来自于分类 笔记 Laravel PHP开发 竟然有人认为我是抄 Laravel 学院的,心塞.世界观已崩塌. 容器,字面上理解就是装东西的东西.常见的变量.对象属 ...
- laravel安装笔记
一.安装composer 安装之前将\php\php.ini文件中的php_openssl.dll扩展库开启,否则composer在安装过程中会出现错误提示. (我在安装过程中发现apache目录下的 ...
- Laravel学习笔记(五)数据库 数据库迁移案例2——创建数据结构,数据表,修改数据结构
默认假设 所有的列在定义的时候都有默认的假设,你可以根据需要重写. Laravel假定每个表都有一个数值型的主键(通常命名为”id”),确保新加入的每一行都是唯一的.Laravel只有在每个表都有数值 ...
- Laravel学习笔记(四)数据库 数据库迁移案例
创建迁移 首先,让我们创建一个MySql数据库“Laravel_db”.接下来打开app/config目录下的database.php文件.请确保default键值是mysql: return arr ...
随机推荐
- android中滑动SQLite数据库分页加载
今天用到了android中滑动SQlit数据库分页加载技术,写了个测试工程,将代码贴出来和大家交流一下: MainActivity package com.example.testscrollsqli ...
- uva 11892 - ENimEN(推理)
题目链接:uva 11892 - ENimEN 题目大意:给定n堆石子的个数,两人轮流选择石子堆取石子,直到不能取为失败,附加条件,假设前一次操作,即队手的操作,没有将选中石子堆中的石子取完,那么当前 ...
- #747 –在WPF程序的触摸操作中使用惯性移动 (Implementing Inertia during Touch Manipulation)
原文:#747 –在WPF程序的触摸操作中使用惯性移动 (Implementing Inertia during Touch Manipulation) 原文地址:https://wpf.2000th ...
- PYC文件简介
PYC文件简介¶ 不说废话,这里说的pyc文件就是 Python 程序编译后得到的字节码文件 (py->pyc). 基本格式¶ pyc文件一般由3个部分组成: 最开始4个字节是一个Maigc i ...
- 怎么给罗技K480 增加Home、End键
最近看张大妈上很多人分享了我的桌面,有感于整天低头码字不利健康,隧鼓捣起自己的电脑桌了. 此处省略N字... 进入正文,我码字用的是罗技的K480蓝牙键盘 码了几行代码,发现没有Home.End键,这 ...
- visual studio code 调试 .NET core 1.1.
一 windows端 使用VsCode编写和调试.NET Core项目 1 .新建sln 解决方案 dotnet new sln -o slnname 2. 新建DLL 3.将DLL添加到sln: ...
- Angular使用echarts
安装 npm install echarts --save npm install @types/echarts --save 基本使用 定义一个dom <div id="chart& ...
- WPF学习笔记:(二)数据绑定模式与INotifyPropertyChanged接口
数据绑定模式共有四种:OneTime.OneWay.OneWayToSource和TwoWay,默认是TwoWay.一般来说,完成数据绑定要有三个要点:目标属性是依赖属性.绑定设置和实现了INotif ...
- DataGrid DataGridTemplateColumn
设置单元格的样式 <DataGrid.Columns> <DataGridTextColumn Header="检测项目" Binding="{Bind ...
- 用MVVM模式开发中遇到的零散问题总结(2)
原文:用MVVM模式开发中遇到的零散问题总结(2) 本节目录: 1.解决动画属性被劫持问题 2.设置页面焦点默认所在对象 3.XAML模拟键盘按键 4.DataGrid数据源绑定到复杂格式(dynam ...