現時点では、Drupal 8の3つのアルファバージョンが利用可能で、構成管理、設計、モバイルデバイス、多言語対応、Webサービスなどの主要分野で活動する複数のイニシアチブグループが作成されています。 現在、カーネルには1,600以上の貢献者がいます(Drupal 7の約2倍)。 新しいバージョンでは、500を超える革新と変更が行われています。 私の意見では、以下で最も重要なものについて言及します。 変更は、Drupal 7に関連して説明されています。 読者はDrupal 7に精通していることを前提としています。
インターフェースを介して利用可能な変更
デフォルトのインターフェースに多くの改良が加えられました。これにより、非専門ユーザーによるCMSの使用が簡素化されます。 最も人気のある機能がカーネルに追加されているため、サードパーティのモジュールを使用せずに「中」のWebサイトを構築するために必要なものは、ほとんどすべてすぐに使用できます。 これにより、リリース後すぐに8-kuを使用できるようになります。メインモジュールのリリースを待つのではなく、以前のバージョンのように、通常約6か月かかりました。 そして、変更点:
インライン編集
コンテンツの編集は非常に簡単で便利になります。目的のコンテンツの横にある鉛筆アイコンをクリックすることで、もちろん適切な権限があれば編集可能になります。
カーネルのビューモジュール
ビューは最も人気のあるモジュールです。 Drupalの以前のバージョンでの使用が示すように、Drupalの新しいバージョンの使用は、この特定のモジュールのリリース後に大幅に増加します。
組み込みの多言語主義
Drupalの以前のバージョンで多言語を完全に使用するには、約5つの追加モジュールをインストールする必要がありましたが、現在は多言語がカーネルで完全にサポートされています。 8-keでは、デフォルトの言語である英語を別の言語に置き換えることができます。
ビルトインCKEditorエディター
便利なテキストエディタがすぐに使用できるようになりました。
画像を追加する
これで、追加のモジュールをインストールすることなく、テキスト内の適切な場所に画像を挿入できます。 複数の画像を同時にダウンロードすることもできます。
組み込みテーマのレスポンシブデザイン
組み込みのテーマがレスポンシブになり、モバイルデバイスで使用できるようになりました。
新しいツールバー
ツールバーは完全に再作成され、適応性が高まり、より便利で直感的になりました。
ノード形状の表示を変更する機能
ノードフォームの表示の変更は、コードを記述せずに可能になりました。
新しいフィールドタイプ
一般的に使用される追加のフィールドタイプがカーネルに組み込まれています:エンティティリファレンス(コンテンツ間の接続を確立できます)、日付(イベント用)、リンク、電話、電子メール、画像。
構成管理システム
構成システムは完全に再作成され、設定データは以前のようにデータベースではなくファイルに保存されるようになりました。 これにより、設定のエクスポート/インポート、開発とリリースのさまざまな設定の使用、バージョン管理システムへのデータの保存が簡単になります。
カーネルから削除されたいくつかのモジュール
これらのモジュールは、ダッシュボード、投票、ブログ、プロファイル、オープンID、PHPフィルター、トリガーです。 ほとんどの場合、これらのモジュールは個別に入手できます。
以前のバージョンからのアップグレード
以前のメジャーバージョンからアップグレードするために、Migrateモジュールがカーネルに統合されているため、6、7から8に直接アップグレードできます。
開発者の変更
開発者は、通常のDrupal開発テクノロジーからOOPに移行し、Symfony2コンポーネントを使用するため、最大の変更点が懸念されます。
誰もがDrupalの急な学習曲線を知っています。 OOPを使用すると、学習がより簡単になり、手頃な価格になります。 Symfony2コンポーネントの優れたドキュメントのおかげで、Drupalコアのドキュメント化はこれまでにありませんでした。
OOPを使用する
OOPは以前は部分的に使用されていましたが、8-keではOOPの使用が公式に受け入れられています。 PHPで適切な量のOOPがまだ利用できなかったときに使用されていた手続き型プログラミングとフックの使用から徐々に離れ始めました。 これに関して、多くの新しい、Drupalの概念と概念があります。 名前空間の場合、PSR-0標準(少し後で、おそらくPSR-4)に従うことが習慣です。 8-keでは、OOPへの完全な移行は行われず、手続き型コードの形での部分的なレガシーが残りますが、これはDrupal 9で実装されます。
Symfony2コンポーネントの使用
8-keの主な革新の1つは、Symfony2コンポーネントの使用です。
- HttpFoundationとHttpKernelは、Symfony2のDrupalへの統合を開始した主要コンポーネントの一部です。 要求および応答でHTTPに接続されているすべてのものをオブジェクトに変換します。
- ルーティング-HTTPリクエストをhook_menuのような特定の関数への呼び出しに変換します。
- ClassLoader-必要に応じてクラスをロードするために使用。
- DependencyInjectionまたはService Container-クラスを独立させることができるため、クラスを再利用および単体テストに使用できます。
- EventDispatcher-Observerパターンを実装します。 フックシステムと同じですが、現時点では完全に置き換えられません。
- Yaml-yaml形式で作業できます。
- Twig-新しい便利で強力なテンプレートエンジン。
- シリアライザー-オブジェクトを特定の形式に、またはその逆に変換します。
- 翻訳-翻訳システム;
- プロセス-サブプロセスでコンソールからコマンドを実行するために使用されます。
- Validator-値をチェックするためのコンポーネント。
作曲家
使用されるライブラリであるプロジェクトコンポーネントのダウンロードと保守に使用される依存関係マネージャー。
Twigテンプレートエンジン
以前のphptemplateテンプレートエンジンは、それを使用することの不便さ、PHPの挿入の使用、およびセキュリティの低さからしばしば批判されました。 Twigにはこれらの欠点がないだけでなく、多くの利点もあります。習得が容易で、柔軟で、読みやすいテンプレートであり、口コミは彼らの喜びです。
構成システム
前述のように、構成システムは完全に再設計され、データは非常に便利なyaml形式でテキストファイルに保存されるようになりました。
Phpunit
Simpetestを最新のテクノロジーに置き換える単体テストの可能性を追加します。
新しいブロックのコンセプト
8-keでは、ブロックはエンティティ(エンティティ)であり、固有のプロパティ(追加フィールドの作成、ブロックのタイプ、バージョン)があります。
RESTfulサーバー
初期状態では、Drupal 8はRESTサーバーとして機能し、多くのデバイスに対応できます。
その他のサードパーティコンポーネント
- Doctrine-完全には使用されていませんが、ごく一部です-注釈。 これにより、たとえば、プラグインを構成するために注釈を使用する機能が追加されます。
- EasyRDF-RDFを追加し、それによってセマンティックWebを近似するために使用されるコンポーネント。
- Assetic-ページまたは他のコンテンツをダウンロードしてデータを圧縮および/または変換するときに使用されるフレームワーク。
- Guzzle-HTTPクライアント。
- PSR /ログ-ロギングシステム。
プラグイン
プラグインは、カーネルまたはモジュールの動作を補完するように設計されたクラスであり、基本的には情報フックの代わりになります。 プラグインは独立したコンポーネントではなく、多くのプラグインを持つことができるモジュールの一部です。
誰もが変更を必要とするわけではありません
ご存知のように、人々はどんな変化にも抵抗します-良いものであっても、結ばれたコロニーからそれらをノックアウトし、快適なゾーンを離れます そしてこの場合、特に最近の記事を踏まえると、それ自体が非常に有用です-
言及された革新は、Drupal 8が企業市場に向かっているという事実と関連していると思われます。 新しいアーキテクチャと開発技術を習得し
結論の代わりに
変更のリストは完全ではありません。詳細については、 こちらをご覧ください 。 Drupal 8の作業はまだ完了しておらず、予定されているリリースは来年の上半期です。 最新バージョンを試してみたい方は、ここまたはリポジトリからプレリリースを入手できます。