ホームページ  >  記事  >  バックエンド開発  >  Laravel 5 の基本 (9) - フォーム

Laravel 5 の基本 (9) - フォーム

WBOY
WBOYオリジナル
2016-08-08 09:26:50916ブラウズ

まず、ルーティングを変更して、公開する記事を追加しましょう。

リーリー

次にコントローラーを変更します

リーリー

ビューを返し、新しいビューを作成します。もちろん、HTML を使用して直接フォームを作成することもできますが、より機能的な方法があります。私たちは Jeffrey Way によって開発されたオープンソース ライブラリ、illuminatehtml を使用します。依存ライブラリをインストールします:

リーリー

Laravelのライブラリを使用するには、laravelに登録する必要があります。 config/app.php 中,我们可以看到 laravel 提供的 provider 字段,这里描述了laravel的库功能。在Laravel Framewirk Service Providers... 最后添加我们新增的 HtmlProvider

で リーリー

エイリアスセクションを見つけて最後にエイリアスを追加するためにIlluminateHtmlFromFacade 这么长的名字来引入,我们需要简短的名字。在当前的 app.phpを使用したくありません。

リーリー

OK、ではビューを作成しましょう、views/articles/create.blade.php

リーリー

訪問 /articles/create エラーを確認してください。何が問題だったのかをテストしてみましょう。コントローラーで次の変更を加えます:

リーリー

はい、そのとおりです。dd() メソッドを show メソッドに追加するだけです。このメソッドは単にメッセージを出力して終了します。もう一度 show 方法中添加 dd() 方法,这个方法简单的输出一个信息然后死掉。我们再来访问 /articles/create ,你看到了什么,你看到输出了 show にアクセスしてみましょう。show の出力が表示されます。

なぜアクセスするのか create 结果路由给了我们 show ルーティングと何が起こっているかを見てみましょう。

リーリー

上記は私たちのルートです。articles/{id} はこれがワイルドカードであることを意味し、articles/ 以降のすべてが一致することに注意してください。うちのarticles/{id} 意味着这是一个通配符,所有在 articles/ 后面的东西都会匹配,你知道了么?我们的 /articles/createも彼に合わせてもらいました。ああ、神様!

解決策は順序を調整することです:

リーリー

つまり、特別なものから通常のものまで、今後のルーティング設定では常にこの問題に注意を払う必要があります。今、私たちはarticles/createを訪れていますが、すべて問題ありません。

ブラウザでソースコードをチェックすると、ハッカーによる偽造攻撃を避けるためにmethodaction 同时生成了一个隐藏的 _tokenフィールドだけがサーバーのフォーム検証として生成されているわけではないことがわかります。

ビューを変更してフィールドを追加しましょう:

リーリー

フォームが送信されるとき、実際には post メソッドを使用して post 方法提交到 articles/create 上的,但根据RESTful的习惯,我们希望能够 post/articles に送信されますが、RESTful の習慣に従って、/ に <code>post できるようにしたいと考えています。記事では、ビューのフォームメソッドを変更し、送信パスを設定しましょう。

リーリー

次に、ルート内でフォーム送信イベントを処理します。

リーリー

コントローラーを扱いましょう

リーリー

入力フォームのjson結果を直接確認できます。 title 字段的值,则可以使用 Request::get('titel')が必要な場合のみ。

データベースに追加するにはどうすればよいですか?モデルの助けを借りて、次の方法を直接採用できます

リーリー

とても単純ですが、とても意志的です

Mass Assignment を忘れない場合は、モデルで $fillable 数组,来定义那些字段可以直接在 create を定義するときに直接入力してください。

コントローラーを変更し、モデルに追加して、データベースに保存します。

リーリー

レコードを追加してみてください。素晴らしいです。でも忘れないでください。 published_at というフィールドもあるので、それを扱いましょう。

リーリー

新しいレコードを追加してテストします。

もう一つ問題があります。新しく追加したコントローラーが最前面に表示されるはずです。次のコントローラーを修正しましょう。

リーリー

以上、Laravel 5 (9) - Form の基本について、さまざまな側面を含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。

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