Clockwork は、ブラウザで直接利用できる PHP の開発ツールです。 Clockwork は、HTTP リクエスト、コマンド、キュー ジョブ、テストに関するリクエスト データ、パフォーマンス メトリクス、ログ エントリ、データベース クエリ、キャッシュ クエリ、Redis コマンド、ディスパッチされたイベント、キューに入れられたジョブ、レンダリングされたビューなど、アプリケーションのランタイムに関する洞察を提供します。 。
このリポジトリには、Clockwork のサーバー側コンポーネントが含まれています。
詳しくはClockworkのWebサイトをご覧ください。
Composer 経由で Clockwork ライブラリをインストールします。
composer require itsgoingd/clockwork
おめでとうございます。完了しました。コマンドやキュー ジョブ プロファイリングなどのその他の機能を有効にするには、 vendor:publish
Artisan コマンドを使用して構成ファイルを公開します。
注: Laravel ルート キャッシュを使用している場合は、route:cache Artisan コマンドを使用してキャッシュを更新する必要があります。
Clockwork の Web サイトで完全なインストール手順をお読みください。
Clockwork サーバー側コンポーネントは、アプリケーションに関するデータを収集して保存します。
Clockwork は、デフォルトでアプリがデバッグ モードの場合にのみアクティブになります。 Clockwork を明示的に有効または無効にすることを選択したり、さらなる分析のためにデータを公開せずに常にデータを収集するように Clockwork を設定したりすることもできます。
デフォルトでは大量の有用なデータが収集されますが、構成ファイルでさらに多くの機能を有効にしたり、不要な機能を無効にしたりできます。
一部の機能では、高度なオプションを使用できる場合があります。データベース クエリの場合、低速クエリのしきい値を設定したり、重複 (N+1) クエリの検出を有効にしたりできます。 Clockwork でできることをすべて確認するには、構成ファイルをチェックしてください。
Clockwork をアクティブにするリクエストを選択できるオプションがいくつかあります。
オンデマンド モードでは、Clockwork アプリが開いている場合にのみデータが収集されます。リクエストを収集するためにアプリの設定で設定するシークレットを指定することもできます。エラーのみでは、4xx および 5xx 応答で終わるリクエストのみが記録されます。 「低速のみ」は、設定された低速しきい値を超える応答を持つリクエストのみを収集します。収集および記録されたリクエストをカスタム クロージャでフィルタリングすることもできます。 CORS プリフライト リクエストはデフォルトでは収集されません。
Clockwork 4.1 の新機能として、artisan コマンド、キュー ジョブ、およびテストも収集できるようになりました。これを構成ファイルで有効にする必要があります。
Clockwork は、ログ メッセージやデータベース クエリなどのデータのスタック トレースも収集します。デフォルトでは、トレースの最後の 10 フレームが収集されます。構成ファイルでフレーム制限を変更したり、この機能を無効にしたりできます。
/clockwork
ルートにアクセスして、収集されたデータを表示および操作します。
アプリには実行されたすべてのリクエストが表示されます。これは、リクエストがブラウザーによって行われたものではない場合、たとえば API を開発しているモバイル アプリケーションの場合に便利です。
ブラウザ開発ツール拡張機能は、Chrome と Firefox でも利用できます。
Clockwork では、アプリのツールバーの形式で基本的なリクエスト情報を表示するオプションが提供されるようになりました。
ツールバーはクライアント側で完全にレンダリングされ、小さな JavaScript ライブラリをインストールする必要があります。
詳細については、Clockwork の Web サイトをご覧ください。
単純な文字列から配列やオブジェクト、さらには複数の値に至るまで、クロック() ヘルパーを介して任意の変数をログに記録できます。
clock (User:: first (), auth ()-> user (), $ username )
clock()
ヘルパー関数は最初の引数を返すため、コードにインライン デバッグ ステートメントを簡単に追加できます。
User:: create ( clock ( $ request -> all ()))
ログ レベルを指定したい場合は、長い形式の呼び出しを使用できます。
clock ()-> info ( " User { $ username } logged in! " )
タイムラインは、アプリケーションのランタイムを視覚的に表現します。
イベントをタイムラインに追加するには、説明で開始し、追跡されたコードを実行してイベントを終了します。イベントをさらに構成するには、Fluent API を使用できます。
// using timeline api with begin / end and fluent configuration
clock ()-> event ( ' Importing tweets ' )-> color ( ' purple ' )-> begin ();
. . .
clock ()-> event ( ' Importing tweets ' )-> end ();
あるいは、追跡されたコード ブロックをクロージャとして実行することもできます。 Fluent API の代わりに配列ベースの構成を使用することも選択できます。
// using timeline api with run and array - based configuration
clock ()-> event ( ' Updating cache ' , [ ' color ' => ' green ' ])-> run ( function () {
. . .
});
利用可能な機能の詳細については、Clockwork Web サイトをご覧ください。