転載元: http://cheats.jesse-obrien.ca/#
Artisan
// 指定されたコマンドのヘルプを表示します phpArtisan --help OR -h
// メッセージを出力しません phpArtisan --quiet OR -q
// このアプリケーションのバージョンを表示します phpArtisan --versionまたは -V
// 対話型の質問をしない phpArtisan --no-interaction OR -n
// ANSI 出力を強制する phpArtisan --ansi
// ANSI 出力を無効にする phpArtisan --no-ansi
//コマンドが実行される環境 phpArtisan --env
// -v|vv|vvv メッセージの冗長性を高めます: 1 は通常の出力、2 はより冗長な出力、3 はデバッグ用 php 職人 --verbose
// 表示フレームワーク変更リスト phpArtisan変更 //コンパイルされたクラスファイルを削除します phpArtisanclear-compiled
//アプリケーションをメンテナンスモードにします phpArtisanDown //フレームワークオートロードファイルを再生成します phpArtisan dump-autoload
// 現在のフレームワーク環境を表示しますphpArtisan env //コマンドのヘルプを表示します phpArtisanhelp //コマンドをリストします phpArtisanList //パフォーマンスを向上させるためにフレームワークを最適化します phpArtisanOptimize // 登録されているすべてのルートをリストします phpArtisan Routes // PHP 開発サーバーでアプリケーションを提供しますphp 職人サーブ // デフォルトのポートを変更します php 職人サーブ --ポート 8080
// ローカルホストの外で動作するようにします php 職人サーブ --ホスト 0.0.0.0
// アプリケーションと対話します php 職人 ティンカー // アプリケーションを外部に取り出しますメンテナンスモードの phpArtisanup //新しいパッケージワークベンチを作成します phpArtisanWorkbench //パッケージのアセットをパブリックディレクトリに公開します phpArtisanasset:publish [--bench[="vendor/package"]] [--path[=] "..."]] [package]
// パスワードリマインダーテーブルの移行を作成します phpArtisanauth:reminders-table
//アプリケーションキャッシュをフラッシュします phpArtisancache:clear
// 新しい Artisan コマンドを作成します (L3 :task) php 職人コマンド:make name [--command[="..."]] [--path[="..."]] [--namespace[="..."]]
/ / パッケージの設定をアプリケーションに公開する phpArtisan config:publish
// 新しいリソースフルなコントローラーを作成する phpArtisanController:make [--bench="vendor/package"]
// データベースにレコードをシードする phpArtisan db:seed [--class[="..."]] [--database[="..."]]
// アプリケーションキーを設定します phpArtisan key:generate
//データベースの移行 phpArtisan 移行 [-- bench="ベンダー/パッケージ"] [--database[="..."]] [--path[="..."]] [--package[="..."]] [--ふり] [--seed]
// 移行リポジトリを作成します php 職人 移行:インストール [--database[="..."]]
// 新しい移行ファイルを作成します php 職人 移行:make name [--bench ="ベンダー/パッケージ"] [--create] [--package[="..."]] [--path[="..."]] [--table[="..."] ]
// すべての移行をリセットして再実行します phpArtisan 移行:refresh [--database[="..."]] [--seed]
// すべてのデータベース移行をロールバックします phpArtisan 移行:reset [-database [="..."]] [--pretend]
// 最後のデータベース移行をロールバックします php 職人 移行:rollback [--database[="..."]] [--pretend]
// を公開しますパッケージの移行ディレクトリへの移行 php 職人 移行:ベンダー/パッケージを公開
// 指定されたキューをリッスンする php 職人 キュー:リッスン [--queue[="..."]] [--lay[=...] "]] [--memory[="..."]] [--timeout[="..."]] [connection]
// Iron.io プッシュ キューに URL をサブスクライブする phpArtisan queue:subscribe [--type[="..."]] queue url
// キュー上の次のジョブを処理する phpArtisan queue:work [--queue[="..."]] [--lay[=] ..."]] [--memory[="..."]] [--sleep] [connection]
// セッションデータベーステーブルの移行を作成する php 職人 session:table
// パッケージのビューを公開するアプリケーションへ php 職人ビュー:パブリッシュ [--path[="..."]] package
php 職人テール [--path[="..."]] [--lines[="..." ]] [接続]
Composer
composer create-project laravel/laravel フォルダー名
composer install
composer update
composer dump-autoload [--optimize]
composer self-update
構成
Config::get('app.timezone');
//デフォルト値で取得 Config::get('app.timezone', 'UTC');
//set 構成 Config::set('database.default' 、 'sqlite');
ルーティング
Route::get('foo', function(){});
Route::get('foo', 'ControllerName@function ');
Route: :controller('foo', 'FooController');
RESTful コントローラー
Route::resource('posts','PostsController');
//ルート上で処理するアクションのサブセットを指定します Route::resource('photo', 'PhotoController',['only' => ['index', 'show']]);
Route::resource('photo', 'PhotoController',['例外' => ['update', 'destroy']]);
エラーのトリガー
App::abort(404);
App::missing(function($例外){});
新しいNotFoundHttpExceptionをスローする;
ルートパラメータ
Route::get('foo/{bar }', function($bar){});
Route::get('foo/{bar?}', function($bar = 'bar'){});
HTTP 動詞
Route:: any('foo', function(){});
Route::post('foo', function(){});
Route::put('foo', function(){});
ルート: :patch('foo', function(){});
Route::delete('foo', function(){});
// RESTful アクション Route::resource('foo', 'FooController');
安全なルート
Route::get('foo', array('https', function(){}));
ルートの制約
Route::get('foo/{bar}', function ($bar){})
->where('bar', '[0-9]+');
Route::get('foo/{bar}/{baz}', function($bar, $baz){})
->where(array('bar' => '[0-9]+'、'baz' => '[A-Za-z]'))
// ルート全体で使用されるパターンを設定します Route::pattern('bar', '[0-9]+')
フィルター
//認証フィルターを宣言 Route::filter('auth', function(){});
// クラスをフィルターとして登録 Route::filter('foo', 'FooFilter');
Route::get(' foo', array('before' => 'auth', function(){}));
// このグループ内のルートは 'auth' フィルターによって保護されます Route::get('foo', array(' before' => 'auth', function(){}));
Route::group(array('before' => 'auth'), function(){});
// パターン フィルター ルート: :when('foo/*', 'foo');
// HTTP 動詞パターン Route::when('foo/*', 'foo', array('post'));
名前付きルート
Route::currentRouteName();
Route::get('foo/bar', array('as' => 'foobar', function(){}));
ルートのプレフィックス
// このルートグループはプレフィックス 'foo' を持ちます Route::group(array('prefix' => 'foo'), function(){})
Route Namespacing
// このルート グループは名前空間 'FooBar' を持ちます' Route::group(array('namespace' => 'FooBar'), function(){})
サブドメインルーティング
// {sub} がクロージャーに渡されます Route::group(array('domain' => '{sub}.example .com'), function(){});
App
App::environment();
// App::environment('local');
App::runningInConsole();
と等しいテストApp::runningUnitTests();
Log
Log::info('info');
Log::info('info',array('context'=>'追加情報'));
Log ::error('error');
Log::warning('warning');
// モノログインスタンスを取得 Log::getMonolog();
// リスナーを追加 Log::listen(function($level, $message , $context) {});
// 実行されたすべてのクエリを取得します。 DB::getQueryLog();
URLs
URL::full();
URL::current();
URL::previous();
URL::to('foo/bar', $parameters , $secure);
URL::action('FooController@method ', $parameters, $absolute);
URL::route('foo', $parameters, $absolute);
URL::secure('foo/ bar', $parameters);
URL::asset('css/foo.css', $secure);
URL::secureAsset('css/foo.css');
URL::isValidUrl('http:/ /example.com');
URL::getRequest();
URL::setRequest($request);
URL::getGenerator();
URL::setGenerator($generator);
イベント
Event::fire('foo.bar', array($bar));
Event::listen('foo.bar', function($bar){});
Event::listen('foo .*', function($bar){});
Event::listen('foo.bar', 'FooHandler', 10);
Event::listen('foo.bar', 'BarHandler', 5) ;
Event::listen('foor.bar', function($event){ return false; });
Event::queue('foo', array($bar));
Event::flusher('foo ', function($bar){});
Event::flush('foo');
Event::forget('foo');
Event::subscribe(new FooEventHandler);
データベース
DB ::connection('connection_name');
DB::statement('drop table users');
DB::listen(function($sql, $bindings, $time){ code_here; });
DB::transaction (function(){transaction_code_here; });
// $time 分間クエリをキャッシュ DB::table('users')->remember($time)->get();
// 生の入力をエスケープするDB::raw('ここに SQL 式');
Selects
DB::table('name')->get();
DB::table('name')->distinct() ->get();
DB::table('name')->select('column as column_alias')->get();
DB::table('name')->where( 'name', '=', 'John')->get();
DB::table('name')->whereBetween('column', array(1, 100))->get( );
DB::table('name')->whereIn('column', array(1, 2, 3))->get();
DB::table('name')-> whereNotIn('column', array(1, 2, 3))->get();
DB::table('name')->whereNull('column')->get();
DB ::table('name')->whereNotNull('column')->get();
DB::table('name')->groupBy('column')->get();
// デフォルトの Eloquent ソートは上位 DB::table('name')->orderBy('column')->get();
DB::table('name')->orderBy('column ','desc')->get();
DB::table('name')->having('count', '>', 100)->get();
DB:: table('name')->skip(10)->take(5)->get();
DB::table('name')->first();
DB::table( 'name')->pluck('column');
DB::table('name')->lists('column');
// DB::table('name')-> を結合します。 join('table', 'name.id', '=', 'table.id')
->select('name.id', 'table.email');
挿入、更新、削除
DB::table('name')->insert(array('name' => 'ジョン'、'電子メール' => 'john@example.com'));
DB::table('name')->insertGetId(array('name' => 'John', 'email' => 'john@example.com' ));
// バッチ挿入 DB::table('name')->insert(array(
array('name' => 'John', 'email' => 'john@example.com' ),
array('name' => 'James', 'email' => 'james@example.com')
));
// エントリを更新 DB::table('name')-> ;where('name', '=', 'John')
->update(array('email' => 'john@example2.com'));
// テーブル DB:: からすべてを削除します。 table('name')->delete();
// 特定のレコードを削除 DB::table('name')->where('id', '>', '10')->delete ();
DB::table('name')->truncate();
集計
DB::table('name')->count();
DB::table('name ')->max('column');
DB::table('name')->min('column');
DB::table('name')->avg('column' );
DB::table('name')->sum('column');
DB::table('name')->increment('column');
DB::table('name ')->increment('column', $amount);
DB::table('name')->decrement('column');
DB::table('name')->decrement( 'column', $amount);
DB::table('name')->remember(5)->get();
DB::table('name')->remember(5, 'キャッシュキー名')->get();
DB::table('name')->cacheTags('my-key')->remember(5)->get();
DB::table('name')->cacheTags(array('my-first-key','my-2nd-key'))->remember(5)->get();
Raw Expressions
// 行を返す DB::select('select * from users where id = ?', array('value'));
// 影響を受ける行を nr 個返す DB::insert('insert into foo set bar =2');
DB::update('update foo set bar=2');
DB::delete('delete from bar');
// void DB::statement('update foo set bar= を返します) 2');
// ステートメント内の生の式 DB::table('name')->select(DB::raw('count(*) as count, column2'))->get();
雄弁
Model::create(array('key' => 'value'));
// 属性によって最初に一致するレコードを検索するか、Model::firstOrCreate(array('key' => 'value'));
// 属性によって最初のレコードを検索するか、インスタンスを作成します Model::firstOrNew(array('key' => 'value'));
// 属性に一致するレコードを作成または更新し、値を入力します Model::updateOrCreate(array ('search_key' => 'search_value'), array('key' => 'value'));
// モデルに属性の配列を入力します。一括割り当てに注意してください。 Model::fill($attributes);
Model::destroy(1);
Model::all();
Model::find(1);
// 二重主キーを使用して検索 Model::find(array( 'first', 'last'));
// ルックアップが失敗した場合は例外をスローする Model::findOrFail(1);
// 二重主キーを使用して検索し、ルックアップが失敗した場合は例外をスローする Model::findOrFail(array( 'first', 'last'));
Model::where('foo', '=', 'bar')->get();
Model::where('foo', '=', ' bar')->first();
// 動的 Model::whereFoo('bar')->first();
// ルックアップが失敗した場合は例外をスローする Model::where('foo', ' =', 'bar')->firstOrFail();
Model::where('foo', '=', 'bar')->count();
Model::where('foo', ' =', 'bar')->delete();
//生のクエリを出力 Model::where('foo', '=', 'bar')->toSql();
Model::whereRaw( 'foo = bar and 車 = 2', array(20))->get();
Model::remember(5)->get();
Model::remember(5, 'キャッシュキー- name')->get();
Model::cacheTags('my-tag')->remember(5)->get();
Model::cacheTags(array('my-first-key) ','my-2-key'))->remember(5)->get();
Model::on('connection-name')->find(1);
Model::with ('relation')->get();
Model::all()->take(10);
Model::all()->skip(10);
// デフォルトの Eloquent ソートは優勢ですModel::all()->orderBy('column');
Model::all()->orderBy('column','desc');
ソフト削除
Model::withTrashed() ->where('cars', 2)->get();
// ソフト削除されたモデルを結果に含めます Model::withTrashed()->where('cars', 2)->restore ();
Model::where('cars', 2)->forceDelete();
// 結果セットを強制的にソフト削除のみに含めます Model::onlyTrashed()->where('cars', 2 )->get();
イベント
Model::creating(function($model){});
Model::created(function($model){});
Model::updating(function ($model){});
Model::updated(function($model){});
Model:: Saving(function($model){});
Model::saved(function($model){ });
Model::deleting(function($model){});
Model::deleted(function($model){});
Model::observe(new FooObserver);
雄弁な構成
// モデルの挿入と更新から一括割り当て例外がスローされるのを無効にします Eloquent::unguard();
// 一括割り当て例外をスローする機能を有効にします Eloquent::reguard();
Pagination
// Auto-Magicページネーション Model::paginate(15);
Model::where('cars', 2)->paginate(15);
// 「次」と「前」のみ Model::where('cars', 2 )->simplePaginate(15);
// Manual Paginator Paginator::make($items, $totalItems, $perPage);
// ビュー内のページ ナビゲーターを印刷 $variable->links();
スキーマ
// テーブルを作成する必要があることを示します Schema::create('table', function($table)
{
$table->increments('id');
});
// を指定しますConnection Schema::connection('foo')->create('table', function($table){});
// テーブルの名前を指定した名前に変更します Schema::rename($from, $to);
// テーブルを削除する必要があることを示します Schema::drop('table');
// テーブルが存在する場合、テーブルを削除する必要があることを示します Schema::dropIfExists('table');
// 指定されたかどうかを判断しますtable が存在します Schema::hasTable('table');
// 指定されたテーブルに指定された列があるかどうかを判断します Schema::hasColumn('table', 'column');
// 既存のテーブルを更新します Schema::table( 'table', function($table){});
// 指定された列の名前を変更する必要があることを示します $table->renameColumn('from', 'to');
// 指定された列の名前を変更する必要があることを示しますドロップ $table->dropColumn(string|array);
// テーブルに使用するストレージ エンジン $table->engine = 'InnoDB';
// MySQL でのみ動作 $table->string ('名前')->after('メール');
Indexes
$table->string('column')->unique();
$table->primary('column');
// 二重主キーを作成します $table->primary (array('first', 'last'));
$table->unique('column');
$table->unique('column', 'key_name');
// デュアルユニークを作成しますインデックス $table->unique(array('first', 'last'));
$table->unique(array('first', 'last'), 'key_name');
$table-> Index('column');
$table->index('column', 'key_name');
// 二重インデックスを作成します $table->index(array('first', 'last'));
$table->index(array('first', 'last'), 'key_name');
$table->dropPrimary('table_column_primary');
$table->dropUnique('table_column_unique');
$table->dropIndex('table_column_index');
外部キー
$table->foreign('user_id')->references('id')->on('users');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'|'restrict'|'set null'|'no action');
$table->foreign('user_id')->references('id')->on('users')->onUpdate('cascade'|'restrict'|'set null '|'アクションなし');
$table->dropForeign('posts_user_id_foreign');
列の型
// インクリメント $table->gt;increments('id');
$table->bigIncrements ('id');
// 数値 $table->integer('votes');
$table->tinyInteger('votes');
$table->smallInteger('votes');
$table->mediumInteger('votes');
$table->bigInteger('votes');
$table->float('amount');
$table->double('column', 15, 8);
$table->decmal('amount', 5, 2);
//文字列とテキスト $table->char('name', 4);
$table->string ('メール');
$table->string('name', 100);
$table->text('説明');
$table->mediumText('説明');
$table ->longText('description');
//日付と時刻 $table->date('created_at');
$table->dateTime('created_at');
$table->time( 'sunrise');
$table->timestamp('added_on');
$table->timestamps();
// created_at 列と updated_at 列を追加 $table->nullableTimestamps();
// その他$table->binary('data');
$table->boolean('confirmed');
$table->softDeletes();
// 論理的な削除用に delete_at 列を追加 $table->enum ('choices', array('foo', 'bar'));
$table->rememberToken();
// remember_token を VARCHAR(100) NULL として追加 $table->morphs('parent');
// INTEGER のparent_id と STRING のparent_type を追加します ->nullable()
->default($value)
->unsigned()
Input
Input::get('key');
//キーが欠落している場合のデフォルト Input::get('key', 'default');
Input::has('key');
Input::all();
// 'foo' と 'bar のみを取得する' 入力を取得するとき Input::only('foo', 'bar');
// 入力を取得するときは 'foo' を無視する Input::Except('foo');
Input::flush();
Session Input (flash)
// セッションへのフラッシュ入力 Input::flash();
// セッションへの入力の一部のみをフラッシュする Input::flashOnly('foo', 'bar');
// フラッシュセッションへの入力の一部のみ Input::flashExcept('foo', 'baz');
// 古い入力項目を取得する Input::old('key','default_value');
Files
// アップロードされたファイルを使用する Input::file('filename');
// ファイルがアップロードされたかどうかを確認する Input::hasFile('filename');
// ファイルのプロパティにアクセスする Input::file('name ')->getRealPath();
Input::file('name')->getClientOriginalName();
Input::file('name')->getClientOriginalExtension();
Input::file(' name')->getSize();
Input::file('name')->getMimeType();
// アップロードされたファイルを移動する Input::file('name')->move($destinationPath );
// アップロードされたファイルを移動する Input::file('name')->move($destinationPath, $fileName);
Cache
Cache::put('key', 'value', $ minutes);
Cache::add('key', 'value', $ minutes);
Cache::forever('key', 'value');
Cache::remember('key', $ minutes, function (){ '値' を返す });
Cache::rememberForever('key', function(){ return 'value' });
Cache::forget('key');
Cache::has('key');
Cache::get('key ');
Cache::get('key', 'default');
Cache::get('key', function(){ return 'default'; });
Cache::tags('my-tag ')->put('key','value', $ minutes);
Cache::tags('my-tag')->has('key');
Cache::tags('my- tag')->get('key');
Cache::tags('my-tag')->forget('key');
Cache::tags('my-tag')-> flash();
Cache::increment('key');
Cache::increment('key', $amount);
Cache::decrement('key');
Cache::decrement('key', $amount);
キャッシュ::section('group')->put('key', $value);
キャッシュ::section('group')->get('key');
キャッシュ: :section('group')->flush();
Cookies
Cookie::get('key');
Cookie::get('key', 'default');
// を作成します永遠に続くクッキー Cookie::forever('key', 'value');
// N 分間続くクッキーを作成する Cookie::make('key', 'value', ' minutes');
//応答が作成される前に Cookie を設定します Cookie::queue('key', 'value', ' minutes');
// Cookie を忘れます Cookie::forget('key');
// Cookie を送信しますresponse $response = Response::make('Hello World');
// レスポンスに Cookie を追加 $response->withCookie(Cookie::make('name', 'value', $ minutes));
Sessions
Session::get('key');
// セッションから項目を返します Session::get('key', 'default');
Session::get('key', function( ){ 'デフォルト' を返します; });
// セッション ID を取得します Session::getId();
// キーと値のペアをセッションに配置します Session::put('key', 'value');
// 値をプッシュしますセッション内の配列 Session::push('foo.bar','value');
// セッションからすべての項目を返します Session::all();
// 項目が定義されているかどうかを確認します Session::has ('key');
// セッションから項目を削除します Session::forget('key');
// セッションからすべての項目を削除します Session::flush();
// 新しいセッションを生成します識別子 Session::regenerate();
// キーと値のペアをセッションにフラッシュします Session::flash('key', 'value');
// すべてのセッションのフラッシュ データを再フラッシュします Session::reflash() ;
// 現在のフラッシュ データのサブセットを再フラッシュします Session::keep(array('key1', 'key2'));
Requests
// url: http://xx.com/aa/bb Request::url();
// path: /aa/bb Request::path();
// getRequestUri: /aa/bb/?c=d Request::getRequestUri();
// ユーザーの IP を返しますRequest::getClientIp();
// getUri: http://xx.com/aa/bb/?c=d Request::getUri();
// getQueryString: c=d Request::getQueryString();
// リクエストのポート スキームを取得します (例: 80、443 など) Request::getPort();
// 現在のリクエスト URI がパターンと一致するかどうかを判断します Request::is('foo/*') ;
// URI からセグメントを取得します (1 ベースのインデックス) Request::segment(1);
// リクエストからヘッダーを取得します Request::header('Content-Type');
// サーバーを取得しますリクエストの変数 Request::server('PATH_INFO');
// リクエストが AJAX 呼び出しの結果であるかどうかを判断する Request::ajax();
// リクエストが HTTPS 経由であるかどうかを判断する Request::secure( );
// リクエスト メソッドを取得します Request::method();
// リクエスト メソッドが指定されたタイプであるかどうかを確認します Request::isMethod('post');
// 生の POST データを取得します Request::instance( )->getContent();
// 要求された応答形式を取得します Request::format();
// HTTP Content-Type ヘッダーに */json が含まれる場合は true Request::isJson();
// HTTP Accept の場合は trueヘッダーは application/json Request::wantsJson();
Responses
return Response::make($contents);
return Response::make($contents, 200);
return Response::json(array ('キー' => '値'));
return Response::json(array('key' => 'value'))
->setCallback(Input::get('callback'));
return Response::download( $filepath);
return Response::download($filepath, $filename, $headers);
// レスポンスを作成し、ヘッダー値を変更 $response = Response::make($contents, 200);
$response- >header('Content-Type', 'application/json');
return $response;
// レスポンスに Cookie を添付 return Response::make($content)
->withCookie(Cookie::make ('key', 'value'));
リダイレクト
return Redirect::to('foo/bar');
return Redirect::to('foo/bar')->with('key ', '値');
return Redirect::to('foo/bar')->withInput(Input::get());
return Redirect::to('foo/bar')->withInput(Input::例外('パスワード'));
return Redirect::to('foo/bar')->withErrors($validator);
// 前の場所への新しいリダイレクト応答を作成 return Redirect::back();
// Create名前付きルートへの新しいリダイレクト応答 return Redirect::route('foobar');
return Redirect::route('foobar', array('value'));
return Redirect::route('foobar', array ('key' => 'value'));
// コントローラーアクションへの新しいリダイレクト応答を作成します return Redirect::action('FooController@index');
return Redirect::action('FooController@baz' , array('value'));
return Redirect::action('FooController@baz', array('key' => 'value'));
// 意図したリダイレクトが定義されていない場合、デフォルトは foo/バー。 return Redirect::intended('foo/bar');
IoC
App::bind('foo', function($app){ return new Foo; });
App::make('foo' );
// このクラスが存在する場合、それが返されます App::make('FooBar');
// コンテナに共有バインディングを登録します App::singleton('foo', function(){ return new Foo; } );
// 既存のインスタンスをコンテナ内で共有として登録します App::instance('foo', new Foo);
// バインディングをコンテナに登録します App::bind('FooRepositoryInterface', 'BarRepository');
// サービス プロバイダーをアプリケーションに登録します App::register('FooServiceProvider');
// オブジェクトの解決をリッスンします App::resolve(function($object){});
セキュリティ
パスワード
ハッシュ::make('secretpassword');
Hash::check('secretpassword', $hashedPassword);
Hash::needsRehash($hashedPassword);
Auth
// 現在のユーザーが認証されているかどうかを確認します。 :check();
// 現在認証されているユーザーを取得します Auth::user();
// 現在認証されているユーザーの ID を取得します Auth::id();
// 指定された資格情報を使用してユーザーの認証を試みますAuth::attempt(array('email' => $email, 'パスワード' => $password));
// Auth::attempt() に true を渡すことで「私を覚えておいてください」 Auth::attempt($credentials, true);
// 単一のリクエストに対してログインします Auth::once($credentials) ;
// ユーザーをアプリケーションにログインします Auth::login(User::find(1));
// 指定されたユーザー ID をアプリケーションにログインします Auth::loginUsingId(1);
// ユーザーをログアウトしますアプリケーションの Auth::logout();
// ユーザーの認証情報を検証します Auth::validate($credentials);
// HTTP 基本認証を使用して認証を試みます Auth::basic('username');
// 実行しますステートレス HTTP 基本ログイン試行 Auth::onceBasic();
// ユーザーにパスワード リマインダーを送信 Password::remind($credentials, function($message, $user){});
暗号化
Crypt ::encrypt('secretstring');
Crypt::decrypt($encryptedString);
Crypt::setMode('ctr');
Crypt::setCipher($cipher);
Mail
Mail::send ('email.view', $data, function($message){});
Mail::send(array('html.view', 'text.view'), $data, $callback);
メール: :queue('email.view', $data, function($message){});
Mail::queueOn('queue-name', 'email.view', $data, $callback);
Mail:: Later(5, 'email.view', $data, function($message){});
// Mail::pretend() を送信する代わりに、すべてのメールをログに書き込みます;
Messages
// これらはMail::send() または Mail::queue() に渡される $message インスタンスで使用されます。 $message->from('email@example.com', 'Mr. Example');
$message->sender('email@example.com', 'Mr. Example');
$message->returnPath('email@example.com');
$message-> to('email@example.com', '例の氏');
$message->cc('email@example.com', '例の例');
$message->bcc('email @example.com', 'ミスター・サンプル');
$message->replyTo('email@example.com', 'ミスター・サンプル');
$message->subject('ジャングルへようこそ' );
$message->priority(2);
$message->attach('foobar.txt', $options);
// これはメモリ内のデータを添付ファイルとして使用します $message->attachData(' bar', 'データ名', $options);
// メッセージにファイルを埋め込み、CID を取得 $message->embed('foobar.txt');
$message->embedData('foo' , 'Data Name', $options);
// 基になる Swift Message インスタンスを取得 $message->getSwiftMessage();
キュー
Queue::push('SendMail', array('message' => $message));
Queue::push('SendEmail@send', array('message' => $message) );
Queue::push(function($job) use $id {});
// 複数のワーカーに同じペイロード Queue::bulk(array('SendEmail', 'NotifyUser'), $payload);
/ / キューリスナーの開始 phpArtisanqueue:listen
phpartisanqueue:listenconnection
phpartisanqueue:listen --timeout=60
//キューの最初のジョブのみを処理する phpArtisan queue:work
//キューを開始するデーモンモードのワーカー phpArtisan queue:work --daemon
//失敗したジョブの移行ファイルを作成する phpArtisan queue:failed-table
//失敗したジョブをリストする phpArtisan Queue:failed
//ID によって失敗したジョブを削除する phpArtisan Queue :forget 5
// 失敗したジョブをすべて削除します phpArtisan queue:flush
Validation
Validator::make(
array('key' => 'Foo'),
array('key' => ' required|in:Foo')
);
Validator::extend('foo', function($attribute, $value, $params){});
Validator::extend('foo', 'FooValidator@validate' );
Validator::resolver(function($translator, $data, $rules, $msgs)
{
return new FooValidator($translator, $data, $rules, $msgs);
});
ルール
承認済み
active_url
後:YYYY-MM-DD
前:YYYY-MM-DD
alpha
alpha_dash
alpha_num
array
間:1,10
確認済み
date
date_format:YYYY-MM-DD
異なる:フィールド名
桁:値
桁間:最小、最大
ブール
メール
存在:テーブル、列
画像
in:foo、bar、...
not_in:foo、bar、...
整数
数値
ip
max:value
min:value
mimes:jpeg,png
regex:[0-9]
required
required_if:field,value
required_with:foo,bar,...
required_with_all:foo,bar,...
required_without:foo,bar,...
required_without_all:foo,bar,...
時々|必須|フィールド
同じ:フィールド
サイズ:値
タイムゾーン
一意:テーブル、列、例外、idColumn
url
ビュー
View::make('path/to/view');
View::make('foo/bar')->with('key', 'value');
View::make( 'foo/bar')->withKey('value');
View::make('foo/bar', array('key' => 'value'));
View::exists('foo/bar');
// すべてのビューで値を共有 View::share('key', 'value');
// ビューをネストする View:: make('foo/bar')->nest('name', 'foo/baz', $data);
// ビューコンポーザーを登録 View::composer('viewname', function($view){} );
//複数のビューをコンポーザーに登録 View::composer(array('view1', 'view2'), function($view){});
//コンポーザー クラスを登録 View::composer('viewname ', 'FooComposer');
View::creator('viewname', function($view){});
ブレード テンプレート
@extends('layout.name')
// セクションの開始 @section ('name')
// セクションを終了 @stop
// セクションを終了して yield @show
@parent
// テンプレート内のセクションを表示 @yield('name')
@include('view.name ')
@include('view.name', array('key' => 'value'));
@lang('messages.name')
@choice('messages.name', 1);
@if
@else
@elseif
@endif
@unless
@endunless
@for
@endfor
@foreach
@endforeach
@while
@endwhile
//forelse 4.2 機能 @forelse($users as $user)
@empty
@endforelse
// コンテンツをエコーする {{ $var }}
// エスケープされたコンテンツをエコーする {{{ $var }}}
{{-- Blade Comment --}}
// チェック後のデータをエコーする存在 {{{ $name または 'Default' }}}
// 中括弧で生のテキストを表示 @{{ これは Blade では処理されません }}
Forms
Form::open(array('url' => 'foo/bar', 'メソッド' => 'PUT'));
Form::open(array('route' => 'foo.bar'));
Form::open(array('route' => array('foo.bar', $parameter)));
Form::open(array('action' => 'FooController@method'));
Form::open(array('action' => array('FooController@method', $parameter)));
Form::open(array('url' => 'foo/bar', 'files' => true));
Form::close();
Form::token( );
Form::model($foo, array('route' =>array('foo.bar', $foo->bar)));
フォーム要素
Form::label('id', 'Description');
Form::label('id', 'Description', array('class' => 'foo'));
Form ::text('name');
Form::text('name', $value);
Form::text('name', $value, array('class' => 'name'));
Form::textarea('name');
Form::textarea('name', $value);
Form::textarea('name', $value, array('class' => 'name') );
Form::hidden('foo', $value);
Form::password('password');
Form::password('password', array('placeholder' => 'パスワード')) ;
Form::email('name', $value, array());
Form::file('name', array('class' => 'name'));
Form::checkbox(' name', 'value');
// チェックされたチェックボックスを生成 Form::checkbox('name', 'value', true, array('class' => 'name'));
Form:: radio('name', 'value');
// 選択されたラジオ入力を生成 Form::radio('name', 'value', true, array('class' => 'name'));
Form::select('name', array('key' => 'value'));
Form::select('name', array('key' => 'value'), 'key' 、array('class' => 'name'));
Form::selectRange('range', 1, 10);
Form::select Year('year', 2011, 2015);
Form::selectMonth ('月');
Form::submit('送信!', array('class' => 'name'));
Form::button('name', array('class' => 'name'));
Form::macro('fooField', function()
{
return '< input type="custom"/>';
});
Form::fooField();
HTML ビルダー
HTML::macro('name', function(){});
// 変換HTML 文字列をエンティティに変換 HTML::entities($value);
// エンティティを HTML 文字に変換 HTML::decode($value);
// JavaScript ファイルへのリンクを生成 HTML::script($url, $ attributes);
// CSS ファイルへのリンクを生成します HTML::style($url, $attributes);
// HTML 画像要素を生成します HTML::image($url, $alt, $attributes);
/ / HTML リンクを生成します HTML::link($url, 'title', $attributes, $secure);
// HTTPS HTML リンクを生成します HTML::secureLink($url, 'title', $attributes);
/ / アセットへの HTML リンクを生成します HTML::linkAsset($url, 'title', $attributes, $secure);
// アセットへの HTTPS HTML リンクを生成します HTML::linkSecureAsset($url, 'title', $attributes);
// 名前付きルートへの HTML リンクを生成します HTML::linkRoute($name, 'title', $parameters, $attributes);
// コントローラー アクションへの HTML リンクを生成します HTML::linkAction( $action, 'title', $parameters, $attributes);
// 電子メール アドレスへの HTML リンクを生成します HTML::mailto($email, 'title', $attributes);
// 電子メール アドレスを難読化しますスパムボットによる盗聴を防ぐため HTML::email($email);
// 項目の順序付きリストを生成する HTML::ol($list, $attributes);
// 項目の順序なしリストを生成する HTML ::ul($list, $attributes);
// リストの HTML 要素を作成します HTML::listing($type, $list, $attributes);
// リスト要素の HTML を作成します HTML::listingElement($ key, $type, $value);
// ネストされたリスト属性の HTML を作成します HTML::nestedListing($key, $type, $value);
// 配列 HTML::attributes から HTML 属性文字列を構築します($attributes);
// 単一の属性要素を構築します HTML::attributeElement($key, $value);
// スパムボットが盗聴できないように文字列を難読化します HTML::obfuscate($value);
Strings
// UTF-8 値を ASCII に音訳します Str::ascii($value)
Str::camel($value)
Str::contains($haystack, $needle)
Str::endsWith($ haystack, $needles)
// 指定された値の単一インスタンスで文字列をキャップします。 Str::finish($value, $cap)
Str::is($pattern, $value)
Str::length($value)
Str::limit($value, $limit = 100, $end = ' ...')
Str:: lower($value)
Str::words($value, $words = 100, $end = '...')
Str::plural($value, $count = 2 )
// より真に「ランダムな」英数字文字列を生成します。 Str::random($length = 16)
// 「ランダムな」英数字文字列を生成します。 Str::quickRandom($length = 16)
Str::upper($value)
Str::title($value)
Str::singular($value)
Str::slug($title, $separator = ' -')
Str::snake($value, $delimiter = '_')
Str::startsWith($haystack, $needles)
// 値をスタッドキャップケースに変換します。 Str::studly($value)
Str::macro($name, $macro)
ローカリゼーション
App::setLocale('en');
Lang::get('messages.welcome');
Lang::get('messages.welcome', array('foo' => 'Bar'));
Lang::has('messages.welcome');
Lang::choice('messages.apples', 10);
// Lang::get エイリアス trans('messages.welcome');
Files
File::exists('path');
File::get('path');
File::getRemote(' path');
// ファイルを要求してファイルの内容を取得する File::getRequire('path');
// 指定されたファイルを 1 回要求する File::requireOnce('path');
// ファイルの内容を書き込みますfile File::put('path', 'contents');
// ファイルに追加 File::append('path', 'data');
// 指定されたパスのファイルを削除 File::delete ('path');
// ファイルを新しい場所に移動 File::move('path', 'target');
// ファイルを新しい場所にコピー File::copy('path', ' target');
// ファイル パスからファイル拡張子を抽出 File::extension('path');
// 指定されたファイルのファイル タイプを取得 File::type('path');
// Get指定されたファイルのファイル サイズ File::size('path');
// ファイルの最終変更時刻を取得します File::lastModified('path');
// 指定されたパスがディレクトリであるかどうかを判断します File:: isDirectory('directory');
// 指定されたパスが書き込み可能かどうかを判断します File::isWritable('path');
// 指定されたパスがファイルであるかどうかを判断します File::isFile('file');
/ / 指定されたパターンに一致するパス名を検索します。 File::glob($patterns, $flag);
// ディレクトリ内のすべてのファイルの配列を取得します。 File::files('directory');
// 指定されたディレクトリからすべてのファイルを取得します (再帰的)。 File::allFiles('directory');
// 指定されたディレクトリ内のすべてのディレクトリを取得します。 File::directories('directory');
// ディレクトリを作成します File::makeDirectory('path', $mode = 0777, $recursive = false);
// ディレクトリをある場所から別の場所にコピーします File:: copyDirectory('directory', 'destination', $options = null);
// ディレクトリを再帰的に削除 File::deleteDirectory('directory', $preserve = false);
// 指定されたディレクトリのすべてのファイルとフォルダを空にするFile::cleanDirectory('directory');
Helpers
Arrays
array_add($array, 'key', 'value');
// コールバックを使用して新しい配列を構築 array_build($array, function() {});
// 配列を 2 つの配列に分割します。 1 つはキーを持ち、もう 1 つは値を持ちます array_divide($array);
// 多次元の連想配列をドットで平坦化します array_dot($array);
// 指定された項目の配列を除く、指定された配列をすべて取得します array_excel( $array, array('key'));
// ネストされた配列要素のフラット化された配列をフェッチします array_fetch($array, 'key');
// 指定された真理値テストに合格した配列の最初の要素を返します array_first( $array, function($key, $value){}, $default);
// 配列からキーを削除します array_ flatten($array);
// 「ドット」表記を使用して、指定された配列から 1 つまたは複数の配列項目を削除しますarray_forget($array, 'foo');
// ドット表記 array_forget($array, 'foo.bar');
// 「ドット」表記を使用して配列から項目を取得します array_get($array, 'foo', 'default');
array_get($array, 'foo.bar', 'default');
// 指定された配列から項目のサブセットを取得します array_only($array, array('key'));
/ / キーの配列を返す => value array_pluck($array, 'key');
// 配列から 'key' を返し、削除します array_pull($array, 'key');
// 「ドット」表記を使用して配列項目を指定された値に設定します array_set( $array, 'key', 'value');
// ドット表記 array_set($array, 'key.subkey', 'value');
array_sort($array, function(){});
// 最初配列の要素 head($array);
// 配列の最後の要素 last($array);
Paths
app_path();
// パブリック フォルダーへのパスを取得 public_path();
/ / アプリのルートパスbase_path();
// ストレージフォルダーへのパスを取得 storage_path();
Strings
// 値をキャメルケースに変換する Camel_case($value);
// クラス「basename」を取得" 指定されたオブジェクトの / class class_basename($class);
// 文字列をエスケープします e('');
// 指定された文字列が指定された部分文字列で始まるかどうかを判断します start_with('Foo bar.', 'Foo');
// 指定された文字列が指定された部分文字列で終わるかどうかを判断します end_with('Foo bar.', 'bar.');
// 文字列をスネークケースに変換しますskake_case('fooBar');
/ / 指定された文字列に指定された部分文字列が含まれるかどうかを判断します str_contains('Hello foo bar.', 'foo');
// 結果: foo/bar/ str_finish('foo/bar', '/');
str_is(' foo*', 'foobar');
str_plural('car');
str_random(25);
str_limit($value, $limit = 100, $end = '...')
str_singular('cars') ;
// 結果: FooBarstudy_case('foo_bar');
trans('foo.bar');
trans_choice('foo.bar', $count);
URL とリンク
action('FooController@method', $parameters);
link_to('foo/bar', $title, $attributes, $secure);
link_to_asset('img/foo.jpg', $ title, $attributes, $secure);
link_to_route('route.name', $title, $parameters, $attributes);
link_to_action('FooController@method', $title, $params, $attrs);
// HTML リンクasset('img/photo.jpg', $title, $attributes);
// HTTPS リンク secure_asset('img/photo.jpg', $title, $attributes);
secure_url('path', $parameters );
route($route, $parameters, $absolute = true);
url('path', $parameters = array(), $secure = null);
その他
csrf_token();
dd( $value);
value(function(){ return 'bar'; });
with(new Foo)->chainedMethod();
単体テスト
インストールして実行
// Composerに追加して更新: "phpunit/phpunit": "4.0.*"
// テストを実行します (プロジェクト ルートから) ./vendor/bin/phpunit
Asserts
$this->assertTrue(true);
$this-> ;assertEquals('foo', $bar);
$this->assertCount(1,$times);
$this->assertResponseOk();
$this->assertResponseStatus(403);
$this- >assertRedirectedTo('foo');
$this->assertRedirectedToRoute('route.name');
$this->assertRedirectedToAction('Controller@method');
$this->assertViewHas('name' );
$this->assertViewHas('age', $value);
$this->assertSessionHasErrors();
// セッションに指定されたキーのエラーがあることをアサートしています... $this->assertSessionHasErrors( 'name');
// セッションのアサート中にいくつかのキーにエラーがあります... $this->assertSessionHasErrors(array('name', 'age'));
$this->assertHasOldInput();
ルートの呼び出し
$response = $this->call($method, $uri, $parameters, $files, $server, $content);
$response = $this->callSecure('GET', ' foo/bar');
$this->session(['foo' => 'bar']);
$this->flushSession();
$this->seed();
$this->seed($connection);
SSH
コマンドの実行
SSH:: run(array $commands);
SSH::into($remote)->run(array $commands); // リモートを指定し、それ以外の場合はデフォルトとみなされます
SSH::run(array $commands, function($line)
{
echo $line.PHP_EOL;
});
Tasks
SSH::define($taskName,配列 $コマンド); //define
SSH::task($taskName, function($line) // {
echo $line.PHP_EOL;
});
SFTPアップロード
SSH::put($localFile, $remotePath) ;
SSH::putString($string, $remotePath);
ファイルシステム/クラウドストレージ
Storage::disk('s3');
Storage::disk('local')->put('file .txt', 'Contents');
Storage::disk('local')->get('file.jpg');
Storage::disk('s3')->exists('file.jpg ');
Storage::get('file.jpg');
Storage::put('file.jpg', $contents);
Storage::size('file1.jpg');
Storage::lastModified ('file1.jpg');
Storage::copy('old/file1.jpg', 'new/file1.jpg');
Storage::move('old/file1.jpg', 'new/file1. jpg');
Storage::prepend('file.log', '先頭に追加されたテキスト');
Storage::append('file.log', '追加されたテキスト');
Storage::delete(['file1. jpg', 'file2.jpg']);
Storage::files($directory);
Storage::allFiles($directory);
Storage::directories($directory);
Storage::allDirectories($directory) ;
Storage::makeDirectory($directory);
Storage::deleteDirectory($directory);