> PHP 프레임워크 > Laravel > Laravel의 컨트롤러

Laravel의 컨트롤러

灭绝师太
풀어 주다: 2021-12-06 15:21:09
원래의
2197명이 탐색했습니다.

Laravel의 컨트롤러

라우팅 파일에서 클로저 형식으로 정의된 모든 요청 처리 로직을 대체하기 위해 컨트롤 클래스를 사용하여 이러한 동작을 구성하려는 경우 컨트롤러는 관련 요청 처리 로직을 별도의 클래스로 구성할 수 있습니다. 컨트롤러는 app/Http/Controllers 디렉터리에 저장됩니다.

1. 간단하게 컨트롤러 만들기

//使用php artisan 命令,创建好后会自动加载命名空间,自动基础控制器基类
php artisan make:controller [控制器路径/]控制器名称
로그인 후 복사

2. 컨트롤러 분류 ​​

1. 라우팅에 사용되는 기본 컨트롤러

//app/http/controller/定义UserController
namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Models\User;

class UserController extends Controller
{
    /**
     * 显示指定用户的简介
     *
     * @param  int  $id
     * @return \Illuminate\View\View
     */
    public function show($id)
    {
        .......
    }
}
로그인 후 복사

:

Route::get('user/{id}', [UserController::class, 'show']);
로그인 후 복사

2. 단일 동작 컨트롤러

//使用命令行方式创建单行为控制器
php artisan make:controller	GetName --invokable
로그인 후 복사
namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Models\User;

class GetName extends Controller
{
    /**
     * 显示指定用户的简介
     *
     * @param  int  $id
     * @return \Illuminate\View\View
     */
    public function __invoke($id)
    {
        .........
    }
}
로그인 후 복사

라우팅에 사용됨:

Route::get('user/{id}', GetName::class)
로그인 후 복사

3. 리소스 컨트롤러

//使用命令行方式创建资源控制器
php artisan make:controller UserController --reosurce
로그인 후 복사
<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Models\Category;
use App\Models\Good;
use App\Transformers\GoodTransformer;
use Illuminate\Http\Request;

class GoodController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {

    }

    /**
     * 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)
    {

    }

    /**
     * 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)
    {
        //
    }
}
로그인 후 복사

라우팅에 사용됨:

//第二参数为选填,例如当不需要destory()方法时,即可填入
Route::resource(&#39;goods&#39;,\App\Http\Controllers\Admin\GoodController::class,[
      &#39;except&#39; => &#39;destroy&#39;
]);
Route::resource(&#39;goods&#39;,\App\Http\Controllers\Admin\GoodController::class,[
      &#39;only&#39;  => [&#39;index&#39;,&#39;show&#39;,&#39;store&#39;,&#39;update&#39;]
]);
로그인 후 복사

추천 관련 비디오 튜토리얼: Laravel 비디오 튜토리얼

위 내용은 Laravel의 컨트롤러의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿