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 ...
随机推荐
- windows mysql5.7 InnoDB 通过frm与ibd对数据进行恢复
参考:https://www.jianshu.com/p/50a2e13cd5cf 安装MySQL Utilities 下载地址:https://dev.mysql.com/downloads/uti ...
- prototype __proto__ Function
我们创建的每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象.(注意:是函数才有prototype属性) 而__proto__属性每一个对象都有. 在js中如果A对象是由B函数构 ...
- PHP中遍历关联数组的方法
下面介绍PHP中遍历关联数组的三种方法:foreach <?php $sports = array( 'football' => 'good', 'swimming' => 'ver ...
- BIOS 选项设置的含义
SATA Mode Section: ADHI: Advanced Host Controller Interface - this is a hardware mechanism that allo ...
- WPF中StringFormat的用法--显示特定位数的数字
原文:WPF中StringFormat的用法--显示特定位数的数字 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/huangli321456/art ...
- centos6.5安装apache2.x并更改默认80port
因为现在nginx它已成为反向代理软件的主流.因此,linuxserver在系统.我们几乎总是安装nginx东方的,这使在同一时间使用apache带来了麻烦.因为apache它用于通过缺省80port ...
- HDU4421 Bit Magic 【2-sat】
叙述性说明: 这给出了一个矩阵,原来的请求a排列 2-sat称号.对于每一位跑步边,跑31位可 详细的施工方 注意N=1的情况特判,还有检查对称元素是否同样 #include <stdio.h& ...
- WCF SOAP用法
基本思路 1.新建一个WCF服务库2.在客户端引用处右键,添加服务引用 点击发现,选择目标服务设置好命名空间 可以在高级一栏里面,设置详细信息 点击确认,添加服务引用 3.在客户端自动生成 ...
- MultiBinding
<StackPanel> <Slider x:Name="sl1" Minimum="10" Maximum="100"/ ...
- XF内容视图和框架
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http:/ ...