Habréで記事を書いているとき、私は多くの人が亡くなったKohanaフレームワークを好まないことに気付き、この理由からプロジェクトについて多くの批判を聞いて、質問について考えました
。 "、このフレームワークは一年を通してCMSの開発を完全には助長しないためです。
最初の考えは、コハナの独力での継続的な開発についてでした。 最初に、Composerがシステムに統合され、モジュールとプラグインが
https://packagist.org/packages/kodicms/リポジトリのパッケージに移行され、パッケージタイプ
https://github.com/composer/installersが composerインストーラーに追加されました。 その後、しばらく時間をかけて検索したところ、Kohana54プロジェクト(
https://github.com/kohana54/core )に出会いました。その開発者は、すべてのクラスをPSR-4標準に準拠させることを決めましたが、明らかに良い時間までそれを残しました。 最初はあまり気にしませんでしたが、終わらせようとしましたが、数日後、カーネル自体に加えて、残りの標準フレームワークモジュールとすべてのCMSモジュールを書き直す必要があることに気付きました。フレームワークとKohanaと最終的に結びつけることにしました。
「どのフレームワークを選択すべきですか?」という疑問が生じました。
- ララヴェル
- FuelPHP
- symfony
- Yii2
- Zend framework 2
- Cakephp
フレームワークの比較は記事全体に影響を与える可能性があるため、私は自分の選択であるLaravelフレームワークにのみ自分自身を制限します。
- アプリケーションのシンプルさと多かれ少なかれ論理構造
- ニーズに合わせて変更できる優れたアーキテクチャ、
- ポータブル機能の一部を実装するのに役立つ可能性のある、すぐに使用できる多数の機会の存在、
- 便利なコンソール
- 便利なデータベースツール(移行、シード)、
- 活発で活気のあるコミュニティ
- まあ、そして最も重要なことは、フレームワークが積極的に開発されていることです。私のプロジェクトで述べたように、これは非常に重要です。
多くの人にとって、4月1日は笑いの日であり、私にとっては、新しいプロジェクト-laravelフレームワークのKodiCMSの誕生日です。 この日、新しいリポジトリ
https://github.com/KodiCMS/kodicms-laravelが作成され、最初のコミットが追加されました。
新しいCMSの構造について少し説明します。 多くの人は、Laravelにはすぐに使用できるモジュール構造がなく、パッケージはモジュールと同じではないことを知っているため、最初に記述されたのは
ModuleLoaderでした 。
その結果、モジュールの構造は次の形式になります
- config-アプリケーションの構成は
/config/
フォルダーから上書きできます- permissions.php-権利のリストを指定するために使用されます
- sitemap.php-管理パネルメニューのページを指定するために使用
- behaviors.php
- コンソール
- データベース
- 移行 - 移行ファイルは
cms:modules:migrate
によって起動されcms:modules:migrate
- 種
- DatabaseSeeder.php-存在する場合、
cms:modules:seed
によって起動されcms:modules:seed
- ヘルパー -ヘルパーモジュールクラス
- Http
- コントローラー -モジュールコントローラー
- ミドルウェア
- routes.php-名前空間
KodiCMS\{module}
ラップされた現在のモジュールのルート
- オブザーバー -雄弁なモデルのオブザーバー
- プロバイダー
- ModuleServiceProvider.php-サービスプロバイダー(
KodiCMS\CMS\Providers\ServiceProvider
から継承)があれば、アプリケーションの初期化時に起動されます
- リソース
/backend/cms/js/{script.js}
このフォルダー内のJavaScriptファイル/backend/cms/js/{script.js}
ファイルは仮想パス/backend/cms/js/{script.js}
検索されます/backend/cms/js/{script.js}
trans('{module}::file.key')
小文字のtrans('{module}::file.key')
のモジュール名のキーでアクセスできるモジュールの翻訳ファイル- views-モジュールテンプレート。小文字の
view('{module}::template')
指定されたモジュール名のキーでアクセス可能view('{module}::template')
- packages.php-このファイルでは、アセット(メディア)パッケージを接続できます
- サービス -サービスコンテナー
- ModuleContainer.php-このファイルが存在する場合、モジュールのシステムファイルとして接続され、初期化時の相対パスとアクションを示します。
KodiCMS\CMS\Loader\ModuleContainer
から継承する必要がありKodiCMS\CMS\Loader\ModuleContainer
モジュール性の詳細については、
こちらをご覧ください。モジュールとの類推により、サードパーティのプラグインを接続することが計画されていますが、それらはリポジトリからダウンロードできる機能を備えた管理インターフェースを介してアクティブ化されます。
彼らが言うように、目は恐れており、手はしている。 モジュール構造の実装後、システムの標準モジュールを転送するプロセスと主な機能の実装が始まりました。 現時点では、私の推定によると、機能の60%を超えるものが転送されています。
Laravelにモジュール構造を追加するシステムカーネル転送APIモジュールの移行elFinderモジュールの移行Pagesモジュールの移行レイアウトモジュールの移行スニペットを移行するメールモジュールの移行Cronジョブモジュールを移行するウィジェットモジュールの移行ダッシュボードの移行ユーザー、役割モジュールの移行- ACLモジュールの移行
- データソースモジュールの移行
- Hyridプラグインの移行と高度な機能との統合
- システムインストーラーの実装
- モジュールに似た構造を持つプラグイン接続の実装
当初は少なくとも6か月ですべての機能を移行する予定でしたが、何かがうまく
いかず 、プロセスが速くなりました... VKグループの開発者
http://vk.com/laravel_rusと
LaravelRUSチャンネルは、
システムに興味を持ち始め、その後、愛好家が提供し始めました最もクールなフレームワークの1つで最もクールなオープンソースCMSのプロジェクトの開発を支援します。
なぜ別のCMSが必要なのですか?!
異なるCMSを使用するとき、それらの多くが同じ機能を提供するが、わずかな違いがあるという事実にしばしば遭遇しました。 つまり 実際、多くのCMSは、URL構造であろうとサイトのページ上のコンテンツの配置であろうと、ユーザーを特定のフレームワークに誘導します。 それらの多くには自己拡張型のカーネルがあり、拡張が困難であるか、開発を開始するためにドキュメントを学習するのに時間がかかります。
CMSを作成するとき、私はそれらからすべてのベストを収集し、1つに結合したかったのです。 まず、人気のあるフレームワークのいずれかを使用し、カーネルに最小限の変更を加えて、開発者が最短時間で開発プロセスに参加できるようにすることにしました。 さらに、他の人のようなCMSは必要ありません。私の名前だけで、私の目標は、管理パネルから必要なタイプのフィールドを追加して、独自のセクション(ブログ、ニュースなど)を設計できるようなコンストラクタを作成することですシステムコードにハードコーディングされていませんが、サードパーティの開発者がプラグインを使用して追加しています。 同じことが、サイトのページへのコンテンツの出力にも当てはまります。 そのため、サイトテンプレートのプログラミングと選択に特別な知識を持たない各ユーザーは、ドキュメントのリスト、サイトメニュー、または通常のHTMLのいずれでも、必要なデータを表示できます。コンテンツマネージャーがAPIを介してシステムに統合し、管理者で完全に使用できるように、お気に入りのテキストエディターを使用できるようにしますパネル。
海システムとそのすべてのアイデアは実現可能であり、それらのほとんどはすでに実装されています。 それらのいくつかは、さらなる開発を必要とするかもしれません。 しかし、すべては通常どおり開発者にかかっています。 そのため、特にLaravelフレームワークでの作業経験を増やし、将来の経験を活用するのに役立つので、開発に参加するように全員を招待します。
いつものように、あなたはいつでも仕事の結果を見ることができます:
ウェブサイト:
http :
//laravel.kodicms.ru/backend- ユーザー名 :admin@site.com
- パスワード :パスワード
または
- ユーザー名 :test@test.com
- パスワード :パスワード
または、
https://github.com/KodiCMS/kodicms-laravelをダウンロードしてローカルにインストールし
ます謝辞
KodiCMSのおかげで、私は良いサービスの世界と私の助けを提供する準備ができている人々を発見しました。
Ps近い将来、プロジェクトについて議論する最初のオンライン会議が開催されます。これにより、システム、その歴史、および
https://vk.com/kodicms?w=wall-48395169_287%2Fallの現在の状態について詳細に説明され
ます。更新しました。 現時点では、システムはまだAlphaバージョンのステータスを保持しており、エラーが発生したり、その後除去される欠点があったりする場合があります。 バグレポートは大歓迎です。