Laravel学习笔记基础系列--(十五)Laravel 使用URL

作者: 温新

分类: 【Laravel】

阅读: 1865

时间: 2021-07-14 13:30:44

作者:温新

时间:2021-06-27

来来改造test视图文件

@section('content')
    <form action="/demo/store" method="POST">
    	  @csfr
        用户名:<input type="text" name="username">
        <input type="submit" name="提交">
    </form>
@endsection

注意到没有,action中提交地址的写法,至今,很多开发环境中仍旧是这样写。这样写当然不会有什么问题。

准备工作:

为路由加上路由名称

Route::get('demo', 'DemoController@index')->name('demo');
Route::get('demo/test', 'DemoController@test')->name('demo.test');
// 新增
Route::post('demo/store','DemoController@store')->name('demo.store');

控制器添加方法

// DemoController.php

public function store(Request $request)
{
	dd($request->all());
}

视图文件中URL写法

方式一:route函数【主推荐】

<form action="{{ route('demo.store') }}" method="POST">
</form>

携带参数:如:

{{ route('demo.edit',['id'=>1]) }}

方式二:url函数【次推荐】

<form action="{{ url('demo/store') }}" method="POST">
</form>

方式三:绝对路径【不推荐】

<form action="/demo/store" method="POST">
</form>

到这里,路由-控制器-视图 一系列操作基本完成,就差入库操作。定义路由,显示视图,提交数据,处理数据,已经完成。

URL生成的相关方法

下面案例基于DemoController中的index方法演示。

url方法

// 将输出 http://你的域名/demo/store
echo url('/demo/store');

获取当前url

// 获取不带请求参数的url
echo url()->current();
// 获取完整url
echo url()->full();

如有这样一个地址http://baidu.com?id=1,current获取到的是http://www.baidu.com,而full获取到的则是完整的。

生成命名路由地址

 echo route('demo.store');

我是温新

每天进步一点点,就一点点

请登录后再评论