laavel 경량 프레임 Lumen 시험

7313 단어 PHPlumenLaravel

추기


별도로 검증할 때 기사에 누락된 기록이 있어서 추가했다.
post의 요청이 있는 곳에서는 리퀘스트를 이용하기 위해 리뷰bootstrap/app.php$app->withFacades();가 필요합니다.

추기


다만 get과post는 실용적이지 않아서 ORM과Migration을 접한 기사를 썼는데 한번 봐주셨으면 좋겠습니다.
Laavel 경량 프레임 Lumen ORM 및 Migration을 터치해 보십시오.

추기


@shin1x1선생님께서 저에게 주신 평론은 다음과 같습니다. 저는 서버 시작에 관한 보도를 수정했습니다.
Lumen(Laavel)에는 내장 서버를 시작하라는 명령이 있습니다.
$ php artisan serve

종지


laavel에서 경량 프레임워크Lumen가 나왔다고 하니 get,post,템플릿 엔진의blade를 먼저 시도해 보세요.

Lumen의 개요


php의 경량 프레임워크slimsilex 등 경쟁 프레임워크라고 합니다.
php를 모르는 슬림에게 하는 말은 루비가 말한 sinatora나pythonflask 같은 프레임워크다.

Lumen의 장점 활용


첫 페이지부터.
  • 기준 성적이 슬림과 실렉스보다 좋다
  • 프로젝트 규모가 커질 때 laavel로의 이전은 간단하다
  • 문서의 인도하다
  • Laavel 버스트를 위한 어플리케이션
  • Laavel과 동일한 기능(ORM, 템플릿 엔진) 사용 가능
  • 커질 수도 있지만 작아진 프로젝트와 다양한 일을 시작하고 싶어 라벨을 프로젝트로 분할하려는 프레임 선택이 됐다는 것이다.즉, 문서에서 읽을 수 있습니다.

    필요조건

  • PHP >= 5.4
  • Mcrypt PHP Extension
  • OpenSSL PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • install


    composer를 사용하십시오.
    #環境によっては php composer になったりすると思います。適宜読み替えてください。
    composer global require "laravel/lumen-installer=~1.0"
    

    Lumen의 시작 방법


    lumen 명령의 경로를 통과하는 경우 다음 명령을 사용합니다.
    lumen new service
    
    성공하면 디렉터리는 다음과 같이 구성됩니다.
    .
    ├── composer.json
    ├── composer.lock
    ├── service
        ├── app
        │   ├── Console
        │   ├── Exceptions
        │   ├── Http
        │   ├── Jobs
        │   └── Providers
        ├── artisan
        ├── bootstrap
        │   └── app.php
        ├── composer.json
        ├── composer.lock
        ├── phpunit.xml
        ├── public
        │   └── index.php
        ├── readme.md
        ├── server.php
        ├── storage
        │   ├── app
        │   ├── framework
        │   └── logs
        ├── tests
            ├── ExampleTest.php
            └── TestCase.php
    

    아무튼 이동을 해보도록 하겠습니다.


    슬림 등과 같은 사용법은 만지작거리기service/app/Http/routes.php초기 상태에서 routes.php에 다음과 같은 코드를 기술하였다.
    <?php
    
    /*
    |--------------------------------------------------------------------------
    | Application Routes
    |--------------------------------------------------------------------------
    |
    | Here is where you can register all of the routes for an application.
    | It's a breeze. Simply tell Laravel the URIs it should respond to
    | and give it the controller to call when that URI is requested.
    |
    */
    
    $app->get('/', function() use ($app) {
        return $app->welcome();
    });
    
    
    일단 시동 걸어봐.
    고친 곳service 디렉터리 아래에서 명령을 누르면 서버가 시작됩니다.
    php artisan serve
    
    #指摘前はportを8080番で動かしていましたが、serveコマンドは8000番で動きます。
    # portを指定するには --portを利用します。
    # php artisan serve --port=8080
    
    상술한 내용을 수정하다.
    php5.4 이상?만약 그렇다면 내장 서버를 이용할 수 있기 때문에 service 디렉터리 이하의 server.php를 이용하여 아래 명령을 찍고localhost:8080에 접근합니다.
    php -S 127.0.0.1:8080 server.php
    
    #上記の方法だと、エラーが出た瞬間にログを吐き出す際の設定上の問題で上手くいかないので、appディレクトリの中でいっこ下の階層のserver.phpを叩く形式にしたほうがいいのかもしれない。
    # appディレクトリ内で
    # php -S 127.0.0.1:8080 ../server.php
    
    그래서 다음과 같은 화면이 되었다.

    간단하다

    Get Requset


    routes.php에 다음과 같은 내용을 보충하다
    get 방법의 첫 번째 인자ulr입니다.이때 {}에서 정리한 매개 변수는 무명 함수의 매개 변수로 사용할 수 있다.
    $app->get('/{name}', function($name) {
        return "Hello $name";
    });
    
    
    아까처럼 내부 서버를 가동하고 방문http://localhost:8080/hogehoge하면Hello hogehoge 돌아옵니다.

    Post Request


    routes.php에 다음과 같은 내용을 보충합니다.
    # Requestクラスを使うからと言って、routes.phpに何かをuseする必要はない。
    $app->post('/',function() use($app){
        $data = Request::all();
        return json_encode($data);
    });
    

    추기

    bootstrap/app.php 제20행의 아래 내용은 평론을 해야 한다.
    $app->withFacades();
    
    추기 끝
    post의 값은 Request 방법을 통해 얻을 수 있습니다.
    한 마디로 하면post의 값은 모두 json의 형식으로 되돌아왔다.동일한 부팅 서버
    curl -F "name=hogehoge" http://127.0.0.1:8080/
    
    이런 식으로 지령을 내리면,
    {"name":"hogehoge"}
    
    다녀왔습니다.

    View 활용


    먼저 app 디렉토리와 같은 레벨에서 `resources 디렉토리를 만들고 이 하위 디렉토리로 views 디렉토리를 만듭니다.
    이 디렉토리는 구성 템플릿의 기본 디렉토리입니다.
    여기는 index입니다.다음과 같이 php를 만들어 보세요.
    <h1><?php echo $name;?</h1>
    
    이후 Get Request에 추가된 섹션을 변경해 보십시오.
    $app->get('/{name}',function($name) use($app){
    -    return "Hello $name";
    +    return view("index",["name"=>$name]);
    });
    
    또한 서버를 시작합니다. http://localhost:8080/hogehoge 방문하면 h1 탭에 둘러싸인 것) 을 요청으로 되돌려줍니다.

    거푸집


    laavel에서 생산한 것이기 때문에 blade 템플릿 엔진을 사용할 수 있습니다.
    아까 인덱스.php 이름 바꾸기index.php => index.blade.php
    - <h1><?php echo $name;?</h1>
    + <h1>{{$name}}</h1>
    
    아까처럼 방문해 보면 똑같은 결과가 돌아올 거예요.

    살짝 건드렸어요.

  • 슬림과 트위트와 ~부터 루멘의 종류가 완비되어 있어 가벼울 수 있습니다.
  • 곳곳에서 라벨 지식을 배워야 한다는 느낌이 든다.
  • 아이콘이 스타일리시하네요.
  • 나는 문턱이 매우 낮다고 생각한다. 여러분도 만져볼 수 있다.

    좋은 웹페이지 즐겨찾기