多くの WordPress 開発者は、強力なプラグインの構築に役立つ Eloquent、Blade、Service Container、Service Provider などの機能を切望しています。 Falcon は、ゲームを変革し、これらの機能をすぐに使えるようにするためにここにいます。
注意: このプラグインは一連のサービスを提供するものであり、新しいプラグインを作成するためのベースとして使用することを目的としたものではありません。
PHP の最小バージョン: 8.2
ディレクトリの作成: wp-content
フォルダー内に、 mu-plugins
フォルダーが存在しない場合は作成します。その中にfalcon-base-services
フォルダーを配置します。
ローダー ファイルの作成: mu-plugins
フォルダーのルートに、任意の名前で PHP ファイルを作成し、次のコードを追加します。
<?php
require ' falcon-base-services/falcon-base-services.php ' ;
mu-plugins
フォルダーの内容は WordPress 管理画面でアクティブにする必要はなく、他のすべてのプラグインよりも前に実行されることに注意してください。また、WordPress は、明示的に指示されない限り、 mu-plugins
内のフォルダーをスキャンしません。
依存関係のインストール: falcon-base-services
フォルダーでターミナルを開き、次のコマンドを実行します。
composer install
Composer をインストールしていない場合は、このリンクからダウンロードしてインストールできます。
これでプラグインを使用する準備が整いました。その機能とその使用方法を見てみましょう。
サイトをメンテナンス モードにする必要がある場合は、 storage
フォルダー内のmaintenance.example.php
ファイルの名前をmaintenance.php
に変更するだけです。必要に応じてファイルの内容を編集することもできます。
.env.example
ファイルで言及されている項目は重要です。ファイルの名前を.env
に変更します。
次のように、 .env
ファイルに変数を設定し、コード内の任意の場所で使用できます。
$ _ENV [ ' item ' ];
//or
env ( ' item ' )
グローバル $_ENV 変数に項目を設定するには、次を使用できます。
setEnv ( $ key , $ value );
配列を返す構成ファイルをプロジェクトで使用することもできます。構成ファイルを config フォルダーに配置し、 falconConfig($file, $key = null, $folder_path = null)
関数を使用して目的の値にアクセスします。
$file
: 構成ファイルの名前。
$key
: 要求された配列のキー。 null の場合、ファイルの内容全体が返されます。
$folder_path
: デフォルトでは、構成ファイルへのパスは config フォルダー内にあります。プロジェクトに新しい構成を含める場合は、新しいフォルダーへのパスを指定することもできます。
このプラグインは、自動配線機能を備えた強力なサービス コンテナを使用します。
シングルトン サービス:以下を使用してシングルトン サービスを登録します。
FALCON_CONTAINER -> singleton (Test::class);
// or
FALCON_CONTAINER -> singleton ( ' test ' , Test::class);
非シングルトン サービス:以下を使用して非シングルトン サービスを登録します。
FALCON_CONTAINER -> bind (Test::class);
// or
FALCON_CONTAINER -> bind ( ' test ' , Test::class);
クロージャの使用:クロージャを使用することもできます。
FALCON_CONTAINER -> bind ( ' test ' , function () { return Test::class; });
サービスの使用: get
メソッドを使用してサービスを取得します。
FALCON_CONTAINER -> get ( ' test ' );
FALCON_CONTAINER -> get (Test::class);
メソッドの解決:以下を使用してクラスからメソッドを解決します。
FALCON_CONTAINER -> getMethod (Test::class, ' run ' );
これにより、クラスとメソッドの両方で必要な依存関係が自動的に解決されます。
サービス プロバイダーを作成するには、 app/providers
フォルダーにクラスを作成し、 ServiceProvider
クラスを拡張します。必要に応じて、 register
とboot
メソッドを使用します。次に、 bootstrap
フォルダーにあるproviders.php
ファイルにプロバイダーのアドレスを追加します。
すべてのデフォルトの WordPress テーブルは、 app/Model
フォルダー内のモデルとして利用できます。 WooCommerce
テーブルは間もなく追加される予定です。強力なクエリ ビルダーと Eloquent の両方を使用して、これらのテーブルを操作できます。
( new FalconBaseServices Model Post ())-> published ()-> with ( ' author ' )-> get ();
falconDB ():: table ( ' wp_posts ' )
-> where ( ' post_status ' , ' publish ' )
-> leftJoin ( ' wp_users ' , ' wp_posts.post_author ' , ' = ' , ' wp_users.ID ' )
-> select ( ' wp_posts.* ' , ' wp_users.user_nicename ' )
-> get ();
新しいテーブルをモデルとして使用する場合は、 FalconBaseServicesModelBaseModel
クラスを拡張してそのクラスを作成します。テーブルがデフォルトのプレフィックスを使用しない場合は、 $with_prefix
false に設定します。
protected $ with_prefix = false ;
モデルとクエリビルダー/Eloquent のルールと使用法は、Laravel ドキュメントとまったく同じです。
デフォルトでは、テンプレート エンジンとして Blade が使用されますが、標準とは使用方法が少し異なります。次の例に注目してください。
falconTemplate ()-> setViewDir ( ' path to dir ' )-> setView ( ' name of file without extension ' )
-> share ([ ' item ' => ' value ' ])-> render ();
小枝を使用することもできます。インターフェースapp/Services/TemplateEngine/Template.php
から派生したクラスは、パスapp/Services/TemplateEngine/Implements/Twig.php
で利用できます。 Composer 経由で Twig をプラグインに追加し、ファイルapp/Providers/TemplateServiceProvider.php
編集するだけです。使用方法は上記の例と同様です。
ロガーを使用するには、falconLogger() を使用します。
falconLogger ()-> error ( ' message ' , [ ' data ' => ' value ' ]);
ProcessIdProcessor
、 GitProcessor
、およびMemoryUsageProcessor
をログに含める場合は、 .env ファイル内の関連項目を true に設定します。
電子メールを使用するには、falconEmail() を使用できます。
falconEmail ()-> send ( $ to , $ subject , $ content , $ from = null , $ bcc = null );
電子メールの使用方法の詳細については、ファイルapp/Services/Sender/Implements/Email/PHPMailer.php
を参照してください。
コーディングを楽しんでください!