分类 随笔 下的文章

总结laravel路由

在laravel中必须定义路由才能访问,这点和thinkphp完全不同,tp中不开启强路由模式,可以直接访问module/controller/action

最简单的路由

Route::get("/hello",function(){
   echo "hello world";
});

在mvc模式中这样写

Route::get("/hello","HelloWorldController@sayHello");

路由动作可以有以下

Route::any(...)、Route::get(...)、Route::post(...)、Route::put(...)、Route::delete(...)等

其中注意Route::match的用法

Route::match(["get","post"],"/hello",function(){ })

路有参数

Route::get("/hello/{id}",function($id = 1){
  echo "id是".$id;
});

可以给id加上正则表达式约束

Route::get("/hello/{id}",function($id = 1){
  echo "id是".$id;
})->where("id","[0-9]+");

多个参数呢?

Route::get("/hello/{id}/{uid}",function($id = 1,$uid = 1){
  echo "id是".$id.",uid是".$uid;
})->where(["id"=>"[0-9]+","uid"=>"[0-9]+"]);

路由命名

方便在控制器或者视图中引用

Route::get("/hello/{id}",function($id = 1){
  echo "id是".$id;
})->where(["id"=>"[0-9]+","uid"=>"[0-9]+"])->name("hello.id");

在模板中这样使用

<a href="{{ route('hello.id', ['id' => 100]) }}">
// 输出:http://url/hello/100

路由分组
Route::group()把具有共同特征的路由组合起来

Route::group([], function () { 
    Route::get('hello', function () { return 'Hello'; }); 
    Route::get('world', function () { return 'World'; }); 
});

中间件分组

Route::middleware('auth')->group(function () {
    Route::get('dashboard', function () {
        return view('dashboard');
    });
    Route::get('account', function () {
        return view('account');
    });
});

路径前缀

Route::prefix('api')->group(function () {
    Route::get('/', function () {
        // 处理 /api 路由
    })->name('api.index');
    Route::get('users', function () {
        // 处理 /api/users 路由
    })->name('api.users');
});

其它类型路由查阅手册

武学之人最终能名震江湖的我觉得是内功和剑术都厉害的人,若单独论,我觉得内功深厚的人比剑术好的人走得更远!内功的修炼并非一蹴而就,冰冻三尺非一日之寒,是一种长期的积累。剑术就像那些职业培训,或者某一领域的专业技能。几个月就学会的技能是岂能和日积月累的内功的相比!
华山论剑

之前一直用svn,熟悉的也是svn,我感觉简单实用,适合小项目和小团队,但是git作为版本控制的老大呢,还是得学学,下面配一张图片吧,详细的就不记录了~请输入图片描述

一直以来就知道line-height可以上下居中文字,也曾查过很多资料,什么字体基线那些玩意,太复杂!
下面是一个通俗易懂的理解方式:

line-height呢,你可以理解为每行文字所占的高度。
比如说,有一行20px大小的文字,如果设置为line-height:50px,那就是说,这行文字的高度会占50px。
显然,每个字的大小只有20px,那怎么边呢?于是呢,浏览器就把多出来的30px(50px-20px)在这行文字的上面加上了15px,下面加上了15px。
这样的话,那文字就在这50px的空间内是居中的了(这个就是浏览器规定的,它就这个分配空间)。
这样的话,如果你的DIV是50px,那么巧了,正好这行文字也就相对于DIV居中了。
所以,这样一来呢,就有了“把line-height设置为容器div的高度就能使文字垂直居中”。

一个表中假设有uid是重复的,

id        uid       time 
4         85        1111
5         86        2222
6         87        3333
7         85        4444
8         85        5555

select id,uid from table group by uid

结果往往是

id        uid       time 
4         85        1111
5         86        2222
6         87        3333

如果想uid = 8 的那条显示出来怎么办呢?因为group by 默认显示默认顺序的第一条
可以这样

select id,uid from (select * from table order by id desc limit
1000000) as a group by a.uid

为什么要加limit 10000000,目前不清楚,不加的话没效果