ホームページ  >  記事  >  バックエンド開発  >  Laravelでなじみのない知識ポイントを素早く学ぶ

Laravelでなじみのない知識ポイントを素早く学ぶ

WBOY
WBOYオリジナル
2016-08-08 09:19:57806ブラウズ

Laravelの馴染みのない知識ポイント

PHPパラメータのデフォルト値

<code><span><span><?php</span><span><span>function</span><span>makecoffee</span><span>(<span>$type</span> = <span>"cappuccino"</span>)</span>
{</span><span>return</span><span>"Making a cup of $type.\n"</span>;
}
<span>echo</span> makecoffee();
<span>echo</span> makecoffee(<span>null</span>);
<span>echo</span> makecoffee(<span>"espresso"</span>);
<span>?></span></span></code>

Output

<code>Making <span>a</span> cup <span>of</span> cappuccino.
Making <span>a</span> cup <span>of</span> .
Making <span>a</span> cup <span>of</span> espresso.</code>

Model Binding(モデルバインディング)

RouteServiceProviderではブートメソッドにモデルバインディングを実装

<code><span>public</span> function boot(Router <span>$router</span>)
    {
        <span>parent</span><span>::boot</span>(<span>$router</span>);
        <span>$router</span><span>-></span>model(<span>'users'</span>, <span>'App\User'</span>);
        <span>$router</span><span>-></span>model(<span>'goods'</span>, <span>'App\Good'</span>);
        <span>$router</span><span>-></span>model(<span>'categories'</span>, <span>'App\Category'</span>);
        <span>$router</span><span>-></span>model(<span>'tryClothes'</span>, <span>'App\TryRecord'</span>);
        <span>$router</span><span>-></span>model(<span>'carts'</span>, <span>'App\Cart'</span>);
        <span>$router</span><span>-></span>model(<span>'orders'</span>, <span>'App\Order'</span>);
        <span>$router</span><span>-></span>model(<span>'orderItems'</span>, <span>'App\OrderItem'</span>);
        <span>//</span>
    }</code>

Form Request(フォームリクエスト)

  • 次の手順を使用してカスタムリクエストを生成します
<code><span>php</span><span>artisan</span><span>make</span><span>:request</span><span>CreateArticleRequest</span></code>
  • リクエストのメソッドをカスタマイズします: authorize() と rules(); authorize は権限があるかどうかを判断し、ルールはデータ検証を実行します
<code><span>public</span><span><span>function</span><span>authorize</span><span>()</span>
    {</span><span>return</span><span>true</span>;
    }</code>
rree
  • リクエストを使用します通常、POST データが渡されます。カスタム Request クラスが定義されている理由は、コードを再利用して分離するためです。検証に合格した場合、Validate クラスを使用してカスタム Request 内のルール メソッドを処理できます。 $request->all() を使用すると、関連するクラスにデータを直接送信できます
<code><span>public</span><span><span>function</span><span>rules</span><span>()</span>
{</span><span>return</span> [
        <span>'title'</span> => <span>'required|min:3'</span>,
        <span>'body'</span> => <span>'required'</span>,
        <span>'published_at'</span> => <span>'required|date'</span>,
        <span>// 也可以使用数组</span><span>//'published_at' => ['required', 'date'],</span>
    ];
}</code>
    php storm laravel コードのヒント
https://gist.githubusercontent.com/barryvdh/5227822/raw/811f21a14875887635bb3733aef32da51fa0501e/_ ide_ヘルパー。 php

このファイルを.gitignoreファイルに忘れずに追加してください
  • 特定のフォルダーにコントローラーを作成してください
  • <code><span>public</span><span><span>function</span><span>store</span><span>(Request <span>$request</span>)</span>{</span><span>$this</span>->validate(<span>$request</span>, [<span>'title'</span> => <span>'required|min:3'</span>, <span>'body'</span> =><span>'required'</span>, <span>'published_at'</span> => <span>'required|date'</span>]);
            Article::create(<span>$request</span>->all());
            <span>return</span> redirect(<span>'articles'</span>);
        }</code>
routes.phpに書かれたコードに問題はないことに注意してください。そうしないと次のエラーが発生します

<code>Article<span>::create</span>(<span>$request</span><span>-></span><span>all</span>());</code>
    参考資料
Laravel 5.0 - フォームリクエスト

http://9ipp.com/web/laravel/laravel-5-form-request-controller-validation.html
  • laracast
  • 著作権声明: これ記事はブロガーによるオリジナル記事です。ブロガーの許可なしに転載することはできません。
上記では、Laravel の馴染みのない知識を簡単に学習する方法を、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。