ルート1:として記載されているブラウザ要求のホームページを取得:リストページの背景参照
要求を追加ポストを
修正要求が置か
削除要求を削除
=========== ===========ポスト
のみポストこの方法は、単一のフォームcsrf_field CSRFクロスサイト攻撃を防ぐために投稿を追加することであった{{()}}
=========== =========== PUTの
PUTを用いて送信されます方法=「ポスト」が、method_fieldと{{(「PUT」)}}
=========== ===========削除
方法でも削除要求を=「ポスト'しかしと{{method_field('「DELETE) }}
===========テンプレートを読み込む==============
以下のリソースビューのビューはpost.blade.php
テンプレートを読み込む
ルート::(「CC」、取得機能を( ){
;表示(「POST」)を返す
)};
======ミドルウェア======
PHP作る職人:内部作成アプリ\のHttp \ミドルウェアにおけるAgemiddlewareミドルウェアミドルウェア
アプリで:登録ミドルウェア\ HTTPは第三最初の$ミドルウェアでKernel.php \グローバルなミドルウェアを表し、2番目の$ middlewareGroups指定されたミドルウェア・ルーティングファイル
の年齢'=> \名前空間のクラス\クラス名:クラス、フォームの
応答( 'マイナー')
===ルート::ミドルウェア(中間という名前の[,,])の'中間名'複数- >グループ ()===
ような列:ルート::ミドルウェア( '時代' ) - >グループ(関数(){
追加する必要「線方法の内部に年齢
});
===ルート::ミドルウェア(」年齢) - >プレフィックス( 'ユーザ) - >グループ(関数(){})===
*****作曲で作成したコントローラを作成|その名前を制御するために作成することは
TP5のPHPの職人のメイクにフレームワークを作成するために、右クリックと同じであってもよい:コントローラPhotoController
ルート::リソース文言ルート::リソース(「/テスト」 、「管理者\ TestController 『);
ポイントに三番目のパラメータで記述されただけでいくつかのメソッド:ルート::リソース(』 /テスト 」、「管理\ TestController 「[」のみ『=> [』インデックス「」更新『]]);
または何第三のパラメータに書き込むことへのポインタである除外する:ルート::リソース(』 /テスト 」、 『管理\ TestController』、 除い=> [「インデックス」、 「更新」]])// インデックスと負のアップデート;
ルート再定義する必要がある唯一の制御方法7の方法ので、//は、追加のリソースを追加する
ルートを::(「/テスト/取得する楽しさを/ {ID} ''管理\ TestController楽しい@ ');
//の追加方法の追加
パブリック関数fun($ ID){
リターンを';楽しい「$ IDは
}
に新しいリソースのための提案しました
====グローバルマッチングルート::パターン( 'テスト'、 '[0-9] +');を見つけるのアプリ\プロバイダー\ routesserviceprivider.phpブートで
====フォーム要求操作
== DD迅速な印刷部数と停止();
==取得した帳票データ$データ= $要求- >すべての( ); アクション=受け取ることができます'= 12 /管理者IDを &セックス= M?' そこにリンクされた値の値のドロップダウンボックス単一のボックスは
==フィールド$名= $要求- >入力(単一の値を取得するフォーム 「名前」); $名= $データをも使用することができる[「名前 」 ]
==「デフォルト値フィールド形式でない添加することができる:$アドレス= $要求- >入力の入力であれば(」)(「AAA」 、「 ビルXinpeng」);
==フォームはのみ受け入れどのデータを受け付け$のみ= $要求- >のみ( [ '名前'、 'CLASSID']); と長い名前のClassID
==除外するどのような形を除い= $要求- >を除いて$を受信データ( [ '_トークン'、 '名前'] ); //名前と_token負
存在しない場合に決意は==指定された値がネゲートされる
(!要求- $>有する(「sdasdsa」)){IF
リターン1;
}
==指定された値がnullで否定されるか否かを判断しますそれは存在しない
(!$要求- >( '名前')充填)のIF {
リターン2;
}
; ==フラッシュ一時的に保存されたセッションでは、一度$要求- >フラッシュ()セッションを呼び出して自動的に空古いテンプレートに含めることによってコール:{{古い(「名」 )}} や()戻ら- > withInput( ); また、コードの1行を省略すること
)(戻る戻る)(機密情報withInputの内部を削除するには- > withInputは(
$要求- >(「パスワード」)を除く
);
==戻る戻る();前に戻り、それが通過でした
==)(destroyメソッドを削除します
==ホームページインデックス()ロード
==)を(作成ロードするためにページを追加
==修飾法の更新を()
==ページがロードされ、[編集]を()修正する
メソッドShow()を削除==
(==実行ストアを追加)
======= ============ファイルをアップロード
<「名前=「AAA」マルチ=」タイプ=「ファイル」のINPUT>が
//ファイルが存在するかどうかを確認し、通常のファイルをアップロード
IF($要求- > HasFile( 'AAA')&& $要求- >ファイル( 'AAA') - >のisValid()){
//その後、IMGSが自動的にストレージのデフォルトを作成しない追加するには、ここストア内のファイルを受け入れます/彼はストレージへ/アプリケーション/公共/ IMGSここでアプリ/ IMGS //は彼を救う
$要求-ファイル= $>( 'AAA')をファイル- >ストア( 'IMGS'、 'パブリック'); ****下の公衆への推奨ストレージ
DD($ファイル);//このとき、ファイル名は$ファイルである
}
=======ロードビュー============
ビュー( 'admin.test.list'を返す[ 'AA' => [ ' AA '=>' CS'] ])。
テンプレートページを受信{{$のAA [「A」 ]}} 2つのかっこ
====すなわちヘッドの一般的な見解を共有する
方法AppServiceProvider.phpビューでアプリの\プロバイダー\ブートに::シェアプラス();
**** Viewクラスを使用することを覚えて、
公共のブート機能()
{
;ビュー::シェア( 'ユーザー'、[ '名前' => 'ジョン・ドウ'])
}
****公共でテンプレートライト<H1>ようこそ{{$ユーザー[ '名前' ]}} <の/ H1>ログ
****インデックスファイル@include( 'admin.public.head');
==フラッシュリダイレクトセッション= =
//における書き込み方法
リターンリダイレクト( '/テスト') - >( 'AA'、 'OK')と;
//はblade.php書き込み
@If(セッション( 'AA'))
<DIVクラス= "警告アラート成功">
{{セッション( 'AA')}}
</ div>
@endif
==== ====セッションヘルパー
記憶されたセッションのセッション([ '名前' = > ' 半分ワン']);
セッションを取る{{セッション( 'ABC' )}}
セッションにセッションを空にします([「名前」=> nullを]);
==== ====フォームフォームバリデーション
リファレンス
パブリック関数のストア(リクエストリクエスト$)
{
//のみ、フラッシュメモリに割り当てられたアドレス変更は、$を持っていますエラー値
の$ this - >検証($要求、[
=> '名前'が必要| alpha_dash |分:2 |最大:255'、
'年齢'=> '必要|分:2 |最大:99'、
"パスワード'=>'必要|確認」、
]、[
'name.required '=>'必要な名前'、
'name.min '=>'名前最小'、
'' age.min '=>'最年少
'name.max' => '最大の名前'、
'age.max' => '最も古いです'
=> '名前必須' 'age.required'、
'password.required' => 'パスワードが必要です'
=> '2つのパスワードが一致しません' 'password.confirmed'
)];
ビュー( 'ceshi.admin.aa')を返します;
}
コード// HTMLの
<H1>ポストを作成</ H1 >
@If(COUNT($エラー)> 0)
<DIV CLASS = "アラートアラート危険">
<UL>
@foreach($エラー- >すべての()$エラーAS)
<LI> {$ {エラー}} </ LI>
@endforeach
</ UL>
</ div>の
@endif
==========継承されたテンプレート
<! -継承ADMINにおける公共.blade.php次のレイアウト- >
@extends(「ADMIN .gonggong.gonggong ')
**テンプレート何か交換
など**カラムの小さな部分を置換し、<タイトル> @yield(' A ')</タイトル>
別のテンプレートで:例えば:@section(' ' '内容を置き換えるために')
**最も置き換える
<divのスタイル= "幅100 %、高さ:400ピクセルを、背景:赤;"> </ DIV>
@section( 'AA')
admin.index」、[ '=> $ A BB']); }
ceshi.admin.indexで受信
{!! $!} BB
IF forach switchステートメントの==========を
プラス@If($ A> 0)が@endifで終了し
次のような列
@For($ 0 =私は、$ I 10 <;私は$ ++)を
現在のは、{{値}} $ iは
@endfor
========================== ==データベース=============================
.env設定ファイル名のデータベース・アカウントのパスワード変更
、アプリ\プロバイダ内の\ AppServiceProvider.phpブートプロセスのイベントリスナーに追加
DB ::聞く(関数($クエリ){
エコー$ query-> SQL;
// $ query->バインディング
// $ query->時間
})
== ==検索
// $ DB = DB ::テーブル( 'クラス ') - >最初の(); // 単一のクエリ
// $デシベル= DB ::テーブル( 'クラス') - >を取得() - >のtoArray(); // クエリのすべての
// $デシベル= DB ::テーブル( 'クラス') - >数(); / 内部のデータ/クエリの個数
// $デシベル= DB ::テーブル( 'クラス') - >最大( '年齢'); // 最古の内部クエリ
// $デシベル= DB ::テーブル( 'クラス' ) - >分( '時代' ); //クエリの最小年齢内側
// $デシベル= DB ::テーブル( 'クラス') - >平均( '年齢'); // クエリの平均年齢
// $ DB = DB ::テーブル( 'クラス' ) - >ここで( 'ID'、1) - >(存在する); // ID = 1のみがブール値の戻り値として存在確認
// $ DB = DB ::テーブル( 'クラス') - > ( 'ID'は、1) - > doesntExist(); // 上記反対と
// $デシベル= DB ::テーブル( 'クラスは') - >( '名前'を選択し、[ 年齢'' AAA ID AS ') - > GET();
// DB = $ DB ::表('クラス) - > DISTINCT() - > GET() - >toArray(); //のtoArray()は異なる繰り返しの配列に変換されることができ、クエリを強制することは、結果セットを返し
// $デシベル= DB ::テーブル( 'クラス') - >ここで( 'ID'、 '>'、」1 「) - >(GET); //どこクエリ条件
// $デシベル= DB ::テーブル( 'クラス') - >( '年齢'、 '>'、 '100') - > orWhere( '名前'、 '='、 '张三') - > GET (); //ここで、条件和orWhere或查询
戻りビュー( 'ceshi.admin.index'、[ 'B' => $ DB])。
====便利数据
@foreach($としてB $ BB)
<TR>
<TD> {{$ BB-> ID}} </ TD>
<TD> {{$ BB->名}} </ TD>
<TD> {{$ BB->年齢}} </ TD>
<TD> {{$ BB->クラス}} </ TD>
<TD> {{$ BB->セックス}} </ TD>
</ TR>
@endforeach
====タブ
の$デシベル= DB ::テーブル( 'クラス') - >のpaginate( '2'); // クエリのすべての
{{$ B->リンク()}}
======追加
の$ ARRを= [ '名前' => '王企業'、 '年齢' => 12 、 'セックス' => ' M'、 'クラス' =>」11' ];
$ ::追加表DB =( 'クラスの) - > INSERT($のARR);
DD(追加$); //戻り値bool値
=======変更
$のARR2 = [ '名前' = > ' 「年齢広がり大声で大きな広がり' '=> 12、'性別' =>' M ''クラス=> '11 '];
$ =編集DB ::表( 'クラス') - >(' ID'、6。) - >更新( ARR2は$)であり、
DD($編集);
=======削除
$ DBは::表・デル=( 'クラス') - >(削除)、
DD($デル)。
========= AJAX URL値伝達
関数エディット(ID){
$アヤックス({
タイプ: "GET"、
URL: '/ニュース/' + ID + '/編集'、
成功:機能(データ){
アラート(データ);
}、
エラー:関数(){
アラート(「Ajaxリクエストエラー「)
}
});
}
=========== URLノート***
== URL: "/ニュース"メソッド= GETインデックスへ
== URL:storeメソッドに"/ニュース" =ポスト
URLの==: '/ニュース/' + ID + '/編集'、= GETメソッド
===========通常のタップ値***
リクエスト() - > INPUT( '値のパス')
= ==========保存した検索の検索方法
$検索を= []; //は、空の配列を定義する
()(空(要求- > INPUT( '名前')))IFを、{
$ DB = DB ::テーブル( 'クラス ') - > ORDERBY(' ID」、 'DESC') - >のpaginate(1)。
}他{
//然后指下标
$検索[ '名前'] =要求() - >入力( '名前');
$ DB = DB ::テーブル( 'クラス') - > ORDERBY( 'ID'、 'DESC') - >( '名前'、 '等'、 "%"リクエスト() - >入力( '名前' 。) "%") - >のpaginate(1)。
}
戻りビュー( 'bb.ceshi.index'、[ 'DB' => $デシベル、 '検索' => $検索])。
//アペンド
(){{$ DB->を追加($検索) - >リンク()}}
===========================================モデルの
モデルPHPの職人のメイクを作成するために作曲:私のモデル
//テーブルのこの動作モデル名を実行するには、Sを示すために、追加する必要があり
、保護テーブル$ =「MYSを」;
//メインの実行モデル構築
保護PRIMARYKEY $ =「IDを」;
//モデルが自動的にスタンプを維持されているかどうか
真の公共$タイムスタンプ=;
ホワイトリストは、ホワイトリストのフィールドに//フィールドが追加されることはありません指定されたコンテンツに追加されていない
保護されたの$充填可能= [「タイトル」 、「コンテンツ」]
コントローラに良いモデルを作成する* 1最初のステップの後に最初のモデルこのような使用のApp \マイを導入しました。
定義されたフィールド名の形式は、フィールド名属性を取得する2つの* @アクセサ関数は、元のフィールド値の$値
パブリック関数getcontentAttribute($値){
// mb_substr(、いくつかを取る、開始位置、「文字列が取られるべき」 'UTF-8')撮影した中国の文字列
戻りmb_substr($値、0,4 'UTF-8');
}
=========================================モデルのアプリケーションが開始されます===== ====================================
// ============ =モデルビュー=============
// $私=マイ:: WHERE( '上記のid'、1) - > GET(); //もし必要性についてここで、()モデルはクラスに属していないので、()のデータを取得するために取得する
// $私=マイ::すべて( ;) //モデル名::すべての()は、すべてのデータが雄弁モデルのコレクションを呼び出すために使用することができ得ることです
// $私=マイ::見つける( 1) - >タイトル; // フィールドを指定することができ、クエリデータとモデルを見つけることが白羽
// $私=マイ::見つける( //; [1,3,5]) モデル配列として指定されたIDを持つクエリの数を見つける
// $私=マイ:: findOrFail( //; [1,3,5,100]) はデータが404not代わりに見つからない場合findOrFail付きモデル()クエリの個人または複数のエラー
// $私=マイ::ここで、( 'タイトル'、 "%の、 'のような' テスト%") - >数() ; // クエリモデルどこピースの数
// $私=私の::( 'タイトル' 、 "%テスト%" 'のような') - >最大( ' ID'); // 最大値は、クエリモデル
// DD($私の);
//追加============= =============モデル
//最初の最も簡単な方法
// $のA =新しいマイ; //インスタンス化します現在のモデル
// $ A->タイトル=「記事ホワイトボディ111」;タイトルに//ポイント
=「テキスト// $ A->コンテンツは、あなたは今まであなたが死ぬ幸せスヌーカーラスシーザー電話カードを検討しました是非、あなたはどのカードのハードドライブは、「章ホワイトボディ111をNCS 3で遊ぶ誰が演じるものを果たし;
// $ A->保存(); //戻り値を追加していません
// 2番目の方法は、常に******注意をインスタンス化しない利点です:あなたは[「タイトル」、「コンテンツ」] =保護されたコンテンツホワイトリスト$入力可能なを追加したモデルで指定したフィールドを追加する必要があります。
// $ DA = [ 'タイトル' => 'DSAD '、 'コンテンツ' => ' ケサダ大規模なマルチDuosaduosa'];
//作成します:: $ A =私($ DA);
// DD($ A-> toArray())。
// ============= =============モデル修正は
//最初はバーにIDを与えるために取った後、チェックアウトするポイント
/ / $ A =マイ:: findOrFail( '2'); // 最初のチェック条
// $ A->タイトル= '第二の都市?';
// $ A->コンテンツ=「都市のフィリップスとの間で分配ああ検索時間を送信するためにEUの広がりのマサカレベル阿萨德佛撒ジョンソンはありません2クリスマス;?
// $ A->保存();
// DD($ A);
//最初の2種類
// //シンプル
=私:: //する$ A( "ID"、1) - >更新([=> 'コンテンツ' ' 実際に私が欲しい']);
// DD(A $)。
第三//
// $ A =私:: findOrFail(1);
'私が?' => //データ$ = [ 'タイトル'、 'コンテンツ' =>「ビッグ佐田Duosaduosaマルチ「];
// $ A->フィル($データ); //修正
// $ A->は、(保存); // 正常に変更
// DD($ A)。
//モデルを削除============= =============
// $ A =マイ:: 1,2,3,4,5 [(破壊]);
// DD(A $);
アクセサアクセスフィールドで提供される// ======場モデル
// $のA =マイ::見つける( 11) - >コンテンツ; // 取得したコンテンツであればアクセサは、元の値を取得するために必要に応じてフィールドを定義します
::検索$を私= - > getOriginal( 'コンテンツ')(11)、
DD($);
==============アプリケーション=========================== ===================ハイエンドモデル======================
========= AJAX URL値伝達
関数エディット(ID){
$アヤックス({
タイプ: "GET"、
URL: '/ニュース/' + ID + '/編集'、
成功:機能(データ){
アラート(データ);
}、
エラー:関数(){
アラート(「Ajaxリクエストエラー「)
}
});
}
=========== URLノート***
== URL: "/ニュース"メソッド= GETインデックスへ
== URL:storeメソッドに"/ニュース" =ポスト
URLの==: '/ニュース/' + ID + '/編集'、= GETメソッド
===========通常のタップ値***
リクエスト() - > INPUT( '値のパス')
= ==========保存した検索の検索方法
$検索を= []; //は、空の配列を定義する
()(空(要求- > INPUT( '名前')))IFを、{
$ DB = DB ::テーブル( 'クラス ') - > ORDERBY(' ID」、 'DESC') - >のpaginate(1)。
}他{
//然后指下标
$検索[ '名前'] =要求() - >入力( '名前');
$ DB = DB ::テーブル( 'クラス') - > ORDERBY( 'ID'、 'DESC') - >( '名前'、 '等'、 "%"リクエスト() - >入力( '名前' 。) "%") - >のpaginate(1)。
}
戻りビュー( 'bb.ceshi.index'、[=> $ DB 'DB' => $検索を'検索']);
//()が追加
{{$ DB->は、($の検索)を追加- >リンク()}}
================ Laravel生成キー
PHP職人キー:生成
================ Laravelデータベース移行
今ローカルに作成しますコマンドラインのより良い実施のための構成変更内のファイル.evnするユーザーアカウントのパスワードでデータベースを作成して
PHP職人移行を
---------------------