検索

転載元: 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 '';
});
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);


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

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPおよびPython:類似点と相違点を調査しますPHPおよびPython:類似点と相違点を調査しますApr 19, 2025 am 12:21 AM

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境