Php Artisan Tinker を使用して Laravel をデバッグする

WBOY
リリース: 2016-06-23 09:09:39
オリジナル
1474 人が閲覧しました

この記事は次から翻訳されています: Tinker with the Data in Your Laravel Apps with Php Artisan Tinker

今日は、Laravel データのあまり知られていない機能を導入して、データベースをすばやくデバッグする方法を説明します。で。 Laravel 職人の組み込み php 職人ティンカーを使用すると、データベース内のデータを簡単に確認し、さまざまな必要な操作を実行できます。

Laravel 職人のいじくり回しは REPL (read-eval-print-loop) であり、これを使用すると、コードを入力して実行し、実行結果をコマンド ライン インターフェイスに直接出力できます。

データベースのデータを簡単かつ迅速に確認するにはどうすればよいですか?

最良の方法は、次の使い慣れたコマンドを入力して、すぐに結果を確認することだと思います:

// see the count of all usersApp\User::count();// find a specific user and see their attributesApp\User::where('username', 'samuel')->first();// find the relationships of a user$user = App\User::with('posts')->first();$user->posts;
ログイン後にコピー

phpArtisan tinker を使用すると、これを実際に簡単に行うことができます。 Tinker は、PsySH 上に構築された Laravel 独自の REPL です。これにより、dd() と die() を常に使用する必要がなく、アプリケーションとの通信がより簡単になります。私たちのほとんどは、コードをデバッグするために常に print_r() と dd() を使用することの苦痛に共感できると思います。

tinker を使用する前に、まずテスト プロジェクトを作成しましょう。それを ScotchTest と呼びます。 laravel インストーラーが既にコンピューターにインストールされている場合は、最初に次のコマンドを実行します:

laravel new ScotchTest
ログイン後にコピー

コンピューターに Laravel インストーラーがインストールされていない場合は、composer を通じてこのプロジェクトを作成できます

composer create-project laravel/laravel ScotchTest --prefer-dist
ログイン後にコピー

データベースの初期化: 移行の実行

テスト プロジェクトの作成後(ScotchTest)、新しいテスト データベースを作成し、データベースの移行を実行してデータベースを初期化する必要もあります。この記事の説明では、Laravel のデフォルトの移行を直接使用するだけで十分です。まず、.env ファイルでデータベース接続情報を構成し、次に移行を実行する準備をします。デフォルトの移行は、users テーブルとpassword_resets テーブルの生成に役立ちます。

そうですか

移行が完了すると、次のような情報が表示されるはずです:

データベースを埋める

通常、Laravel のモデル ファクトリを使用してデータベースを素早く埋めることができ、データベースに偽のデータを挿入するのに役立ちます。私たちのテストのために。それでは、ティンカーを使ってみましょう。

php artisan migrate
ログイン後にコピー

このコマンドにより、使用する REPL ウィンドウが開きます。移行を実行したばかりなので、REPL でモデル ファクトリを直接使用してデータを設定できるようになりました。

php artisan tinker
ログイン後にコピー

この時点で、10 件の新しいユーザー レコードのコレクションが端末に印刷されます。ここで、これらのレコードが実際に作成されたかどうかを確認できます。

factory(App\User::class, 10)->create();
ログイン後にコピー

count メソッドを使用すると、データベース内に User モデルに含まれるユーザーの数を確認することもできます。

App\User::all();
ログイン後にコピー

AppUser::all() と AppUser::count() を実行すると、出力は次のようになります。生成されたコンテンツのみが異なります。

新しいユーザーを作成する

REPL を使用して、新しいユーザーを作成することもできます。 REPL で使用するコマンドは、laravel で記述するコードと同じであることに気づいたはずです。新しいユーザーを作成するコード:

App\User::count();
ログイン後にコピー

$user と入力すると、

ユーザーを削除する

ID 1 のユーザーを削除するには:

$user = new App\User;$user->name = "Wruce Bayne";$user->email = "iambatman@savegotham.com";$user->save();
ログイン後にコピー

クラス/メソッドのコメントドキュメントを確認する

tinker を通じて、REPL のクラス/メソッドのアノテーション ドキュメントを表示できます。ただし、ドキュメントの内容は、このクラス/メソッドにドキュメント コメント ブロック (DocBlocks) があるかどうかによって異なります。

$user = App\User::find(1);$user->delete();
ログイン後にコピー

例えば、dd のアノテーションドキュメントを確認してください

ソースコードを表示

特定のクラス/メソッドのソースコードを REPL で直接出力することもできます

doc <functionName> # replace <functionName> with function name or class FQN
ログイン後にコピー

例えば、ソースコードを確認してくださいLaravel Tinker は、laravel のデバッグを簡単にするツールです。これを使用すると、簡単なデバッグのためにローカル サービス (サーバー) を開く必要がありません。特に小さなコードをテストしたい場合、さまざまな var_dump や die を挿入したり、デバッグ後に削除したりする必要はなくなり、必要なのは phpArtisan tinker だけです。

元のアドレス: https://yii.im/post/tinker-with-the-data-in-your-laravel-apps-with-php-artisan-tinker/

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート