> 백엔드 개발 > PHP 튜토리얼 > Laravel 514 Bootstrap 334 참고 4: Laravel 컨트롤러

Laravel 514 Bootstrap 334 참고 4: Laravel 컨트롤러

WBOY
풀어 주다: 2016-07-30 13:31:41
원래의
952명이 탐색했습니다.

이전 글에서는 사용자의 요청과 응답 로직을 라우팅에 넣었지만 실제 상황에서는 이전 코드만큼 간단하지도 않습니다.

대부분의 경우 사용자 요청 작업은 컨트롤러에서 처리됩니다(비즈니스 처리 로직은 포함되지 않음).

모든 Laravel 컨트롤러는 app/Http/Controllers 디렉터리에 있습니다.

1 간단한 컨트롤러 만들기

1.1 매개변수 없는 컨트롤러

app/Http/Controllers 디렉터리에 다음 코드를 사용하여 HomeController.php라는 새 파일을 만듭니다.

<?php namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

class HomeController extends Controller {
    public function hw()
    {
        return view(&#39;hw&#39;);
    }
}
로그인 후 복사

resources/views 아래에 다음 내용으로 새 보기 hw.php를 만듭니다.
<html>
<body>
Hello World!
</body>
</html>
로그인 후 복사

routes.php를 수정합니다. 수정된 코드는 다음과 같습니다.
<?php

Route::get(&#39;/&#39;, function () {
    return view(&#39;welcome&#39;);
});

Route::get(&#39;/hw&#39;, &#39;HomeController@hw&#39;);
로그인 후 복사

브라우저를 열고 아래와 같이 http://localhost:801/hw를 방문하세요.


1.2 Controller가 View에 매개변수를 전달합니다

Controller가 View에 매개변수를 전달해야 할 경우 다음과 같이 컨트롤러:

    public function hw()
    {
        return view(&#39;hw&#39;,[&#39;name&#39;=>'CBW']);
    }
로그인 후 복사
hw.php 보기 페이지 코드 수정:
<html>
<body>
[<?php echo $name; ?>],您好!
</body>
</html>
로그인 후 복사
다음과 같이 다시 방문하세요.


1.3 컨트롤러가 경로에서 매개변수를 읽어 전달합니다.

컨트롤러가 경로에서 매개변수를 가져와야 하는 경우 다음과 같이 수정합니다. 위에 표시된 경로 코드 조각:

Route::get('/hw/{name}', 'HomeController@hw');
로그인 후 복사
컨트롤러의 hw 메서드를 수정합니다.
    public function hw($name)
    {
        return view('hw',['name'=>$name]);
    }
로그인 후 복사
그런 다음 아래와 같이 다시 http://localhost:801/hw/calvin을 방문하세요.


2 라우터 심층

2.1 컨트롤러 및 네임스페이스

일반적으로 애플리케이션 시스템은 여러 하위 프로젝트로 구성됩니다. 예를 들어 웹사이트에는 프론트엔드와 백엔드가 있습니다. 프론트엔드에는 읽기용 뉴스 기능이 있고 백엔드에는 관리용 뉴스 기능이 있습니다.

이제 일반 사용자 모듈(방문)과 시스템 관리 모듈(관리)의 두 가지 모듈을 포함하는 웹 시스템을 개발한다고 가정합니다.

A. app/Http/Contollers 디렉토리에 두 개의 모듈 컨트롤러 하위 디렉토리를 생성합니다.

B resources/views 아래에 두 개의 하위 디렉토리를 생성합니다. Visit: Home;

C. 위의 예에서 생성된 HomeController를 이전 단계에서 생성된 Visit로 이동합니다. 수정된 코드는 다음과 같습니다:

<?php namespace App\Http\Controllers\Visit;

use App\Http\Controllers\Controller;

class HomeController extends Controller {
    public function hw($name)
    {
        return view(&#39;Visit.Home.hw&#39;,[&#39;name&#39;=>$name]);
    }
}
로그인 후 복사

D.routes.php 코드 세그먼트를 다음과 같이 수정합니다:

Route::get('/hw/{name}', 'Visit\HomeController@hw');
로그인 후 복사
E. ;
이제 http://localhost:801/hw/calvin을 다시 방문하세요. 여전히 정확합니다.

2.2 컨트롤러 미들웨어

이전 기사에서 미들웨어의 사용을 시연했습니다. 위의 예를 검토해 보겠습니다.

Route::get('/user/{age}', ['middleware' => 'my', function ($age) {  
    return '用户年龄:'.$age;  
}]);  
로그인 후 복사

실제로 Processed를 제어할 수도 있습니다. 장치 생성자:
class UserController extends Controller {
    public function __construct()
    {
        $this->middleware('my');
    }
}
로그인 후 복사

이 외에도 암시적 컨트롤러, RESTful, 경로 캐시 등이 있는데 나중에 추가될 예정입니다.

저작권 안내: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.

위 내용은 Laravel 514 Bootstrap 334 참고 4: Laravel 컨트롤러에 대한 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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