一.路由:

// 常规用法
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 --- 要点笔记的更多相关文章

  1. Laravel学习笔记(三)--在CentOS上配置Laravel

    在Laravel框架上开发了几天,不得不说,确实比较优雅,处理问题逻辑比较清楚.     今天打算在CentOS 7上配置一个Laravel,之前都是在本机上开发,打算实际配置一下.     1)系统 ...

  2. Laravel学习笔记之Session源码解析(上)

    说明:本文主要通过学习Laravel的session源码学习Laravel是如何设计session的,将自己的学习心得分享出来,希望对别人有所帮助.Laravel在web middleware中定义了 ...

  3. Laravel学习笔记之PHP反射(Reflection) (上)

    Laravel学习笔记之PHP反射(Reflection) (上) laravel php reflect 2.1k 次阅读  ·  读完需要 80 分钟 3 说明:Laravel中经常使用PHP的反 ...

  4. 慕客网laravel学习笔记

    session中set方法使用 Session::set('user.username.age','18')嵌套使用得出$user = ['username'=>['age'=>18]]; ...

  5. laravel安装 笔记

    http://laod.cn/hosts/2015-google-hosts.html 谷歌FQIP laravel安装和设置流程 1安装composer , VirtualBox和Vagrant 下 ...

  6. laravel 学习笔记 — 神奇的服务容器

     2015-05-05 14:24 来自于分类 笔记 Laravel PHP开发 竟然有人认为我是抄 Laravel 学院的,心塞.世界观已崩塌. 容器,字面上理解就是装东西的东西.常见的变量.对象属 ...

  7. laravel安装笔记

    一.安装composer 安装之前将\php\php.ini文件中的php_openssl.dll扩展库开启,否则composer在安装过程中会出现错误提示. (我在安装过程中发现apache目录下的 ...

  8. Laravel学习笔记(五)数据库 数据库迁移案例2——创建数据结构,数据表,修改数据结构

    默认假设 所有的列在定义的时候都有默认的假设,你可以根据需要重写. Laravel假定每个表都有一个数值型的主键(通常命名为”id”),确保新加入的每一行都是唯一的.Laravel只有在每个表都有数值 ...

  9. Laravel学习笔记(四)数据库 数据库迁移案例

    创建迁移 首先,让我们创建一个MySql数据库“Laravel_db”.接下来打开app/config目录下的database.php文件.请确保default键值是mysql: return arr ...

随机推荐

  1. [Scikit-Learn] - 数据预处理 - 归一化/标准化/正则化

    reference: http://www.cnblogs.com/chaosimple/p/4153167.html 一.标准化(Z-Score),或者去除均值和方差缩放 公式为:(X-mean)/ ...

  2. zlib minizip 实现解压zip

    #include <stdio.h> #include <string.h> #include "unzip.h" #define dir_delimter ...

  3. 浏览器兼容性之ECMAScript

    1 IE中不能操作TR标签的innnerHTML. 2 日期处理函数不一致. (1)IE 8- new Date().getYear()返回的是到当前日期到1900年的差值,FF返回的是当前的年. ( ...

  4. MySQL SYS CPU高的案例分析(一)

    原文:MySQL SYS CPU高的案例分析(一) [现象] 最近关注MySQL CPU告警的问题时,发现有一种场景,有一些服务器最近都较频繁的出现CPU告警,其中的现象是 SYS CPU占比较高. ...

  5. StreamDM:基于Spark Streaming、支持在线学习的流式分析算法引擎

    StreamDM:基于Spark Streaming.支持在线学习的流式分析算法引擎 streamDM:Data Mining for Spark Streaming,华为诺亚方舟实验室开源了业界第一 ...

  6. java堆 (转)

     Java栈和堆 ----这两个概念未知很长一段时间,终于找到了一个很好的文本.使用和共享 1. 堆(stack)堆(heap)他们是Java使用Ram本地存储的数据. 与C++不同,Java主动管理 ...

  7. cefsharp 与webbrowser简单对比概述

    原文:cefsharp 与webbrowser简单对比概述 有个项目需要做个简单浏览器,从网上了解到几个相关的组件有winform自带的IE内核的WebBrowser,有第三方组件谷歌内核的webki ...

  8. 解决MacOS下readlink: illegal option -- f

    时间: 2017.03.21 分类: [操作系统] 评论 Mac下的readlink没有-f参数,诸如screenfetch又会去调用readlink -f,于是每次都会出现: readlink: i ...

  9. 【转载】MySQL Replication 环境安装与配置

    安装[root@msr01 ~]# yum install mysql-serverInstalled:mysql-server.x86_64 0:5.1.73-3.el6_5 Dependency ...

  10. WCF的几个注意事项

    wcf托管服务注意的问题 加上项目分为客户端-WCF服务-逻辑层-数据库三层wcf一直出现异常,说没有初始化啊之类的,如果你的逻辑代码确定没有问题的话,思考是不是wcf的配置文件(app.config ...