コマンドラインで実行できるスクリプトを作成する方法はありますか$this->EE->db
(つまり、式エンジンのクラスを使用してデータベースにアクセスするなど)。
検索してみましたが、ドキュメントにはこの情報が含まれていないようです (間違っている場合は修正してください)。私は EE 2.4 を使用しています (上記のリンクは 2.4 ドキュメントを指す必要があります)。
コマンドラインで実行できるスクリプトを作成する方法はありますか$this->EE->db
(つまり、式エンジンのクラスを使用してデータベースにアクセスするなど)。
検索してみましたが、ドキュメントにはこの情報が含まれていないようです (間違っている場合は修正してください)。私は EE 2.4 を使用しています (上記のリンクは 2.4 ドキュメントを指す必要があります)。
次の記事には、可能なアプローチがあるようです: CLI アクセス用の EE のブートストラップ
- index.php ファイルを複製して、cli.php という名前を付けます。
- index.php ファイルを DOCUMENT_ROOT の外に移動します。技術的には、これは必須ではありませんが、あなたのハードワークを詮索好きな目で見られる理由はないので、保護しないでください。
- cli.php 内で、26 行目の $system_path を更新して、システム フォルダーを指すようにします。
- cli.php 内で、96 行目の $routing['controller'] を cli に更新します。
- cli.php 内で、96 行目の APPPATH を $system_path.'cli/' に更新します。
- system/expressionengine ディレクトリを複製し、system/cli という名前を付けます。
- cli/controllers/ee.php ファイルを複製し、cli/controllers/cli.php という名前を付けます。
- 最後に、cli/controllers/cli.php のクラス名を Cli に更新し、メソッドを削除します。
- デフォルトでは、EE は index メソッドを呼び出すので、index メソッドを追加して必要なことを行います。
この問題の独自のバリエーションを解決した後、@Zenbuman の回答を見つけました。私の例では、cron スクリプトをモジュール内に保持できるため、モジュールに cron 機能が必要な場合は、すべてがきちんとパッケージ化されたままになります。これが私のブログの詳細なガイドです。