LoginSignup
0
0

More than 1 year has passed since last update.

Ibexa DXP の概念や技術、構成について

Last updated at Posted at 2021-12-31

プロジェクト構成

Ibexa DXP は Symfony アプリケーションであり、Symfony で使用されるプロジェクト構造に従っています。

Ibexa Experience Beginner チュートリアルコンパニオンリポジトリで、簡単なプロジェクトを編成する例を見ることができます。

PHP コード

プロジェクトの PHP コード(コントローラ、イベントリスナーなど)は、src フォルダに配置する必要があります。

再利用可能なライブラリは、Composer で簡単に管理できるようにパッケージ化する必要があります。

テンプレート

プロジェクトのテンプレートは templates フォルダに入れる必要があります。

例えば templates/full/article.html.twig は Twig テンプレートや PHP で full/article.html.twig として参照することができます。

アセット

プロジェクトのアセットは assets フォルダに入れる必要があります。

例えば、 assets/js/script.js はテンプレートから js/script.js として参照することができるように、ルートからの相対参照とすることができます。

すべてのプロジェクトのアセットは、assets パスを通してアクセスできます。

assets の手動削除
assets フォルダを手動で削除することがあれば、 yarn encore <dev|prod> コマンドを実行する前にトランスレーションをダンプする必要があります。

php bin/console bazinga:js-translation:dump assets --merge-domains

設定

プロジェクトの設定は、 config/packages 内のそれぞれのファイルに配置されます。詳しくは Configuration をご覧ください。

プロジェクトの構成は、のそれぞれのファイルに配置されますconfig/packages。詳細については、構成を参照してください。

バンドルからの設定のインポート

あなたのコードの一部をバンドルで保持している場合、メインの config/packages/ibexa.yaml 設定ファイルで保守すると、コアバンドル意味設定の取り扱いが面倒になります。

Symfony のチュートリアル How to Import Configuration Files/Resources に従って、バンドルから設定をインポートすることができます。

プロジェクトのバージョン管理

推奨される方法は、プロジェクトのリポジトリ全体をバージョン管理することです。

アーキテクチャ

Ibexa DXP のアーキテクチャは、長期的にメンテナンスされる API を使用するという哲学に基づいています。これにより、アップグレードが容易になり、アーキテクチャのすべての部分間のロスレス結合が実現されると同時に、システムの移行機能が向上します。

Ibexa DXP のアーキテクチャはレイヤー化されており、レイヤー間で明確に定義された API を使用しています。

バンドル

Symfony (および Ibexa DXP) のバンドルは、機能を実装するアプリケーションの独立した部分です。自分でバンドルを作成するか、利用可能なオープンソースのバンドルを利用することができます。また、作成したバンドルを他のプロジェクトで再利用したり、コミュニティで共有したりすることもできます。

Ibexa DXP の多くの機能は、インストールに含まれる個別のバンドルを通じて提供されます。Ibexa DXP と共に自動的にインストールされるバンドルは、それぞれの composer.json ファイルで確認することができます。例えば Ibexa Content について、GitHub にある JSON ファイルを参照してください。

バンドルを機能させる

Ibexa DXP のビルトイン機能を含むすべてのバンドルは自動的にインストールされます。さらに、コミュニティが開発したバンドルは、Ibexa DXP パッケージからインストールできます。

独自のバンドルを作成する方法については、バンドルに関する Symfony ドキュメントを参照してください。

サードパーティーバンドルに上書き

外部バンドルを利用する場合、テンプレートやコントローラなどの部分をオーバーライドすることができます。これを行うには、Symfony のバンドルオーバーライドメカニズムを利用します。ファイルをオーバーライドするとき、アプリケーション内のパスはバンドル内のパスに対応しなければならないことに注意してください。

バンドルの削除

バンドル(自分で作成したもの、または不要な既成のもの)を削除するには、Symfony ドキュメントの How to Remove a Bundle を参照してください。

コアパッケージ

バンドル 説明
ibexa/support-tools システム情報
ibexa/admin-ui-assets 管理画面のアセット
ibexa/admin-ui 管理画面インターフェース
ibexa/content-forms カーネルの Content および User オブジェクトへの Symfony Forms のフォームベースの統合
ibexa/core-extensions システムの中核機能
ibexa/cron ibexa:cron:run コマンドで使用するための Cron パッケージ
ibexa/design-engine デザインフォールバックシステム
ibexa/graphql GraphQL server for Ibexa DXP
ibexa/http-cache HTTP cache handling, using multi tagging
ibexa/core Ibexa DXP アプリケーションのコア部分
ibexa/matrix-fieldtype Matrix のフィールドタイプ
ibexa/query-fieldtype Query のフィールドタイプ
ibexa/rest REST API
ibexa/richtext 構造化された XML 形式で保存されたリッチフォーマットテキストをサポートするためのフィールドタイプ
ibexa/search 共通の検索機能
ibexa/solr-search-engine Solr 搭載の検索ハンドラ
ibexa/standard-design デザインエンジンによって処理される標準デザインおよびテーマ
ibexa/user ユーザー管理

Ibexa Content パッケージ

Ibexa Experience パッケージ

Ibexa Commerce パッケージ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0