Joomla でサードパーティの PHP ライブラリを接続する
PHP ライブラリは、プラグイン、コンポーネント モデル、モジュールなど、アプリケーション内のどこからでもアクセスできるため便利です。誰かがすでに同様の問題を解決し、それをライブラリとして設計し (さらには更新している)、このライブラリを Joomla に接続することは理にかなっています。たとえば、オンライン ストアの支払い方法を開発するには、支払いアグリゲーターの公式ライブラリが必要です。それとも、CRM の公式 PHP SDK に満足していますか?
作曲家
Joomla は Composer を直接操作することをサポートしていません。作業でライブラリを使用するには、それを Joomla 拡張タイプ ライブラリに「ラップ」してインストールする必要があります。本格的なプロジェクトでは、プロジェクトのすべてのコンポーネントのバージョンを修正するアプローチが採用されます。コードは複数回チェックされ、テストされ、本番環境で動作することが許可されています。
ライブラリを含むパッケージを作成し、必要な場所にインストールします。ライブラリの新しいバージョンがリリースされると、ラッパーを更新し、Joomla 拡張機能を使用するすべての利点 (CLI を含む標準的な方法で拡張機能を更新) を利用できます。更新などの前に、管理エリアで拡張機能の変更ログを確認してください。
Joomla 5 に更新する前に、管理エリアで変更ログ拡張機能を表示してください。
Joomla、PSR、Symfony
Joomla は PSR 標準に準拠しているため、この点で作業すると便利です。一部の Symfony パッケージは Joomla コア (コンソール、文字列、vardumper、yaml、error-handler など) に含まれているため、突然さらに追加したくなった場合でも、それらは適合し、うまく機能します。 Joomla では、ライブラリ/ベンダーの Symfony コンポーネント以外に何が価値があるのかを確認できます。
サードパーティの PHP ライブラリを Joomla 拡張機能でラップするにはどうすればよいですか?
複雑なことは何もありません。ライブラリ ファイルは通常、src フォルダーにあります。このフォルダーの隣に、ドキュメント (manual.joomla.org) に従って Joomla 拡張機能の XML マニフェストを作成する必要があります。次に、すべてを zip アーカイブに圧縮するだけです。インストール可能です。
ライブラリを機能させるためにデータベース内に独自のテーブルが必要な場合は、インストールまたは更新中に SQL クエリを使用して必要なファイルを追加する必要があります。 Joomla 4 は名前空間で動作するため、拡張機能の XML マニフェストでこの名前空間を指定することが重要です。以下は、Joomla ライブラリの XML マニフェストの省略された例です。
タグは、アーカイブの src フォルダーが JPATH_SITE/libraries/Webtolk/Amocrm にコピーされることを意味します。 <ファイル>セクションでは、アーカイブから何を入力する必要があるかを示します。そして、
重要な注意事項!
-
実際、Joomla 4.2.7 より前では、タグ
は そのため、JLoader クラスを使用して onAfterInitialize イベント (Event Dispatcher) に名前空間を登録するシステム プラグインをライブラリ パッケージに追加する必要がありました。そのため、ライブラリとプラグインからパッケージを構築する必要がありました。 Joomla 4.2.7 以降、この問題は修正され、プラグインなしで実行できるようになりました。 - これまでのところ、ライブラリの更新 = 再インストールです。 つまり、拡張機能が削除され、インストールされます。この決定は、Joomla 3.x のバージョンの深いところで行われました。なぜ? - PRの山の下に隠されています。探す必要があります。これがなぜ重要なのでしょうか?拡張機能をインストールすると、拡張機能の「レジストリ」、つまりデータベース内の #__extensions テーブルにエントリが作成されるためです。このテーブルには、TEXT 型の 2 つの列 (params とcustom_data) があります。そして、これはかなりの量のデータであることは認めざるを得ません。 JoomlaCMSHelperLibraryHelper を使用して一部のライブラリ パラメータをデータベースに保存する場合は、インストーラのこの動作を考慮して事前に保存し、ライブラリを更新するときに保存したパラメータを拡張機能のインストーラ スクリプトに追加し直す必要があります。
それに応じて、postflight() メソッドで、LibraryHelper::saveParams('Webtolk/Amocrm', $lib_params); を使用して、保存したパラメータを元に戻します。
- ライブラリが機能するには、拡張機能マネージャーで有効にする必要があります (メニュー - システム - 管理 - 拡張機能)。
- 多くの場合、ライブラリが動作するには特定のパラメータ (API キー、トークンなど) が必要であり、Joomla 管理領域のユーザーが指定する必要があります。 これらの目的のために、プラグインを作成すると便利です。 (拡張タイプ ライブラリには、パラメーターを構成するための独自のインターフェイスがありません)。システムのグループでも独自のカスタム グループでも問題ありません。ライブラリ内では、次のようにプラグイン パラメータを非常に迅速に取得できます。
Joomla コミュニティ リソース
- https://joomla.org/
- Mattermost の Joomla コミュニティ チャット
- WebTolk Joomla 拡張機能
- この記事はロシア語です
以上がJoomla でサードパーティの PHP ライブラリを接続するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...
