控制器是php框架中的核心部分,控制器是mvc框架中的c(controller),控制器的任务是接受数据、处理数据、返回用户。
在laravel框架中控制器位于app/http/Controllers
目录下。控制器可以使用命名空间,如下所示:
namespace App\Http\sys;//sys系统模块
namespace App\Http\biz;//biz业务模块
根据自己开发的系统可以自定义自己的命令空间。接下来介绍laravel是如何创建控制器的。
创建laravel普通控制器
这里介绍一种命令行的方式创建控制器,其创建的是普通的控制器,命令如下:
php artisan make:controller IndexController
如上所示:我们创建了一个Indexcontroller控制器。当然您同样可以手动创建Laravel的控制器,它的目录位于app/http/Controllers。
代码如下:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class IndexController extends Controller
{
}
创建restful控制器
上面的代码没有增删改查方法,我们可以通过带有参数--resource
的方法创建一个控制器,实际上就是restful接口形式的控制器。
php artisan make:controller --resource IndexController
提示控制器文件已经存在,需要删除它重新创建。
现在,打开您的项目查看 IndexController 文件是否已创建。 该文件的路径将是\app\Http\Controllers。
上面的截图表示 IndexController 文件已成功创建。创建成功的控制器代码如下:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class IndexController 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)
{
//
}
}
上面生成的代码中,创建了带有rest方法的控制器,这样省去了我们开发中的一些工作量。
总结
通过laravel提供的命令可以简单的创建控制器,根据自己的需要是创建普通控制器还是restful接口形式的控制器由您来决定。