Laravel控制器的原理是什么,创建的方法是怎样
Admin 2022-06-08 群英技术资讯 1468 次浏览
这篇文章主要介绍“Laravel控制器的原理是什么,创建的方法是怎样”,有一些人在Laravel控制器的原理是什么,创建的方法是怎样的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。本文实例讲述了laravel框架中控制器的创建和使用方法。分享给大家供大家参考,具体如下:
laravel中我们可以使用 artisan 命令来帮助我们创建控制器文件。
php artisan make:controller TestController
TestController 控制器名我们可以任意指定。文件默认会创建在 app\Http\Controllers 目录下。
打开控制器文件,我们就可以添加自已的方法了。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
public function test()
{
echo 'test...';
}
}
在路由文件 routes/web.php 中配置路由就可以访问了。
Route::get('/test', 'TestController@test');
如何获取用户的输入,一般推荐通过依赖注入的方式来获取。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
public function test(Request $request)
{
//获取所有请求数据
$data = $request->all();
//获取指定请求数据
$id = $request->input('id');
}
}
laravel中为我们编写 restful 风格的代码,提供了简单方式,只需在创建控制器命令后面加上 --resource 选项。
php artisan make:controller OrderController --resource
laravel帮我们创建指定的方法,各自表示不同的意义和作用。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class OrderController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
具体方法的作用如下所示:
| HTTP 方法 | URI | 控制器方法 | 路由名称 | 作用描述 |
| GET | /order | index | order.index | 显示所有订单列表 |
| GET | /order/create | create | order.create | 显示创建订单页面 |
| POST | /order | store | order.store | 接收提交数据,创建订单 |
| GET | /order/{id} | show | order.show | 显示单个订单信息 |
| GET | /order/{id}/edit | edit | order.edit | 显示修改订单页面 |
| PUT/PATCH | /order/{id} | update | order.update | 接收提交数据,修改订单 |
| DELETE | /order/{id} | destroy | order.destroy | 删除订单 |
最后我们通过 Route::resource() 来绑定上面的所有路由。
Route::resource('order', 'OrderController');
我们也可以通过命令查看,绑定的路由列表。
php artisan route:list
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php怎么样实现限制域名访问?很多人不想自己的写的代码被其他复制粘贴,那么就可以使用限制域名访问来禁止别人拷贝。下面是PHP是实现域名限制的代码,有这方面需求的朋友可以看看。
MySQL应用中使用XOR运算加密算法的具体方式是怎么样的呢?而这篇内容中,小编将为大家介绍关于用异或(XOR)运算加密/解密算法的原理和实现方式,感兴趣的朋友可以跟着小编继续往下了解。
传统PHP开发都是基于Web的,基本上都是HTTP协议,HTTP协议的解析处理都由WebServer独自承担了,所以开发者不会关心协议方面的事情。然而当我们需要基于非HTTP协议开发时,开发者就需要考虑协议的事情了。
下面由phpstorm教程栏目给大家介绍Phpstorm-限制加载文件,希望对需要的朋友有所帮助!
在laravel中,make方法用于从容器当中解析一个type,该type是源码当中定义的,解析后返回的结果就是type的一个实例,容器类调用make方法时,若没有已注册的key,会自动通过反射类实例化具体类。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008