Laravel学习笔记基础系列--(十五)Laravel 使用URL
作者:温新
时间: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');
我是温新
每天进步一点点,就一点点
请登录后再评论