検索
ホームページバックエンド開発PHPチュートリアルJoomla でサードパーティの PHP ライブラリを接続する

PHP ライブラリは、プラグイン、コンポーネント モデル、モジュールなど、アプリケーション内のどこからでもアクセスできるため便利です。誰かがすでに同様の問題を解決し、それをライブラリとして設計し (さらには更新している)、このライブラリを Joomla に接続することは理にかなっています。たとえば、オンライン ストアの支払い方法を開発するには、支払いアグリゲーターの公式ライブラリが必要です。それとも、CRM の公式 PHP SDK に満足していますか?

作曲家

Joomla は Composer を直接操作することをサポートしていません。作業でライブラリを使用するには、それを Joomla 拡張タイプ ライブラリに「ラップ」してインストールする必要があります。本格的なプロジェクトでは、プロジェクトのすべてのコンポーネントのバージョンを修正するアプローチが採用されます。コードは複数回チェックされ、テストされ、本番環境で動作することが許可されています。

ライブラリを含むパッケージを作成し、必要な場所にインストールします。ライブラリの新しいバージョンがリリースされると、ラッパーを更新し、Joomla 拡張機能を使用するすべての利点 (CLI を含む標準的な方法で拡張機能を更新) を利用できます。更新などの前に、管理エリアで拡張機能の変更ログを確認してください。

Connecting third-party PHP libraries in Joomla
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 にコピーされることを意味します。 セクションでは、アーカイブから何を入力する必要があるかを示します。そして、WebtolkAmocrm名前空間 WebtolkAmocrm を JPATH_SITE/libraries/Webtolk/Amocrm の src フォルダーに登録する必要があると述べています。

重要な注意事項!

  • 実際、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 サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPを使用して電子メールを送信する最良の方法は何ですか?PHPを使用して電子メールを送信する最良の方法は何ですか?May 08, 2025 am 12:21 AM

BestappRoachforseminginphpisusingthephpmailerlibrarydueToitsReliability、featurrichness、andeaseofuse.phpmailerSupportssmtpは、detairederorhandlingを提供します

PHPでの依存関係注射のベストプラクティスPHPでの依存関係注射のベストプラクティスMay 08, 2025 am 12:21 AM

依存関係注射(DI)を使用する理由は、コードのゆるい結合、テスト可能性、および保守性を促進するためです。 1)コンストラクターを使用して依存関係を注入します。2)サービスロケーターの使用を避け、3)依存関係噴射コンテナを使用して依存関係を管理する、4)依存関係を注入することでテスト可能性を向上させる、5)注入依存性を回避、6)パフォーマンスに対するDIの影響を考慮します。

PHPパフォーマンスのチューニングのヒントとコツPHPパフォーマンスのチューニングのヒントとコツMay 08, 2025 am 12:20 AM

phpperformancetuningisucial cuseenhancess andandandadsand。

PHP電子メールセキュリティ:電子メールを送信するためのベストプラクティスPHP電子メールセキュリティ:電子メールを送信するためのベストプラクティスMay 08, 2025 am 12:16 AM

bestpracticesforsendingemails securlyinphpinclude:1)sutureconsmttarttlsencryptionとの使用の使用、2)検証およびサンシジン化のinputStopReventinjectuctacks、3)adinitivedinitivedInemailsopenslsl、4)adlinglinglingemailoaに

パフォーマンスのためにPHPアプリケーションをどのように最適化しますか?パフォーマンスのためにPHPアプリケーションをどのように最適化しますか?May 08, 2025 am 12:08 AM

tooptimizephpapplicationsforporformance、usecaching、databaseoptimization、opcodecaching、andserverconfiguration.1)cachingwithedatedatedatafethtimes.2)最適化バイズビーインデキシング、readedandandandwriteoperations.3)

PHPの依存噴射とは何ですか?PHPの依存噴射とは何ですか?May 07, 2025 pm 03:09 PM

依存関係の依存性、テスト可能性、および維持可能性の依存性の依存性の依存性、および維持可能性は、エクステルンド依存性を維持する可能性があります

最高のPHPパフォーマンス最適化手法最高のPHPパフォーマンス最適化手法May 07, 2025 pm 03:05 PM

PHPパフォーマンスの最適化は、次の手順を通じて実現できます。1)スクリプトの上部にrequire_onceまたはinclude_onceを使用して、ファイルの負荷数を減らすことができます。 2)プリプロセシングステートメントとバッチ処理を使用して、データベースクエリの数を減らします。 3)OpCodeキャッシュのOpCacheを構成します。 4)PHP-FPM最適化プロセス管理を有効にして構成します。 5)CDNを使用して静的リソースを配布します。 6)コードパフォーマンス分析には、XdebugまたはBlackfireを使用します。 7)配列などの効率的なデータ構造を選択します。 8)最適化実行のためのモジュラーコードを記述します。

PHPパフォーマンスの最適化:OpCodeキャッシングの使用PHPパフォーマンスの最適化:OpCodeキャッシングの使用May 07, 2025 pm 02:49 PM

opcodeCachingsificlyprovesppherformanceBycachingCompiledCode、reducingServerloadandResponsetimes.1)itStoresPhpCodeInMemory、バイパス補助補強団体

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版

SublimeText3 Mac版

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

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。