約5年前、私はWebサイトの開発に夢中になり、Webにまったく興味がなくなりました。 私はそれらを行う方法を理解し、他のものよりもうまくやろうとしました。 ほとんどの開発者と同様に、すべてはHTML、CSS、そしてもちろん、Joomla、Wordpress、Data Life Engineなどの人気のあるCMSの簡単な知識から始まりました。 私が成長するにつれて、Javascript、そしてもちろん私のお気に入りのPHPに今深く入り込まなければなりませんでした。 しかし、物事は彼らが望んだほど速くは行きませんでした。 シンプルなトレーニングをしながら、複雑なことを理解したかった。 最初はPHPがまずかったのですが、キャラクターは良くなり、しばらくしてミニソーシャルネットワークのようなものを書きました。
それでは、OOP、MVC、そしてついにフレームワークを征服する時が来ました。 当時、私にとって最も有名だったのは、
Zend、Kohana、CodeIgniterです。 彼は後に
シンフォニーと
YIIについて
知りました 。 選択は
Kohanaにかかった、なぜなら 初心者にとっては、習得が容易で、通常のドキュメントが必要でした。 まあ、原則として、私はこのフレームワークで自分自身の欠点を見ていませんでした。
私のメインの仕事からの暇な時間に、私は純粋に視野を広げ、OOPの分野で知識を広げるために、単純な例で小花を習得しました。 しかし、他のCMSで作業するときに、同じKohanaを使用して何かを開発して試さなければならない状況がありました。
目標は 、優れたプログラマーになり、好きなことをすることでした。
成長の月と年をスキップします。 最後に、
Oxidos CMSバージョン1.0.0と呼ばれる無料のアクセスのために、Kohanaフレームワーク上で本格的なCMSの形式でベストプラクティスをリリースすることにしました。
主な基準:- 作業速度が速い。
- 機能を簡単に拡張できます。
- 使いやすさと管理。
- Zest CMS;
- 普遍性。
主なインスピレーションは
CMS Opencartでした 。 その構造と使いやすさが気に入っています。 Opencartの愛好家は、おそらく私のCMSを好むでしょう。 同様の構造と視覚的な部分があります。
だから私たちが持っているもの。
主な機能:- 多言語コンテンツの追加。
- 無制限のネストのカテゴリの追加(ネストされたセットアルゴリズムを使用);
- ニュース、記事、静的ページの追加。
- CNCで使用(Kohanaルートのおかげ);
- ORMおよびクエリビルダで使用されます。 MysqlだけでなくCMSも接続できます。
- 管理パネルの各コンポーネントのアクセス権の差別化。
- Google Analyticsの管理パネルの統計。
- テンプレートを変更する機能。
- データキャッシングモジュールを選択する機能。
- 画像をアップロードする機能;
- Sitemap.xmlファイルを生成する機能。
- 新しいウィジェットを追加する機能、およびパフォーマンスを犠牲にすることなく機能を拡張する機能。
- そして、サイトで見つけることができる他のコンポーネント。
ボンネットの下に隠されているもの:- Kohana 3.3 -CMSの中核です。 これは、MVCまたはHMVCの概念を知っている人なら誰でも、すべてがどのように機能するかを簡単に理解できることを意味します。 特に、「コーハン」にとってはすべてがシンプルになります。
- Twitter Bootstrap 3-フレームワークは、管理用テンプレートに使用されます。 特にLESSを使用しているとき、私は彼と一緒に働くことが本当に好きでした。 さらにスタイルを変更するためのソースも利用できます。 将来的には、サイトの可視部分をリメイクする予定です。
- Summernoteは、管理領域のテキストエディターであり、Bootstrapコンポーネントも使用します。 設定と使用が非常に便利です。
- Jstree 3は、ディレクトリとファイルからツリーを表示するためのライブラリです。 ファイルマネージャで使用されます。
- そしてもちろん、人気のあるjQueryおよびjQuery UIライブラリ。
システム要件:- Webサーバー(できればApache)。
- PHP(5.3.3以降);
- カールはオンです。
- MySQLデータベース(4.1以降);
- MySQLi拡張;
- IonCube拡張(2つのファイルがエンコードされているため:セキュリティ上の理由からCore.phpとEncrypt.php)。
トレーニングと開発の過程で、多くの新しく興味深いものが学ばれ、それにより、これはさらなる開発と成長に貢献します。
この記事の目的は 、全体または個々の部分のいずれかで興味深い可能性のある別のツールを紹介することです。
おわりにOxidos CMS-名刺サイト、ブログ、ポータルを作成するための無料の多言語コンテンツ管理システム。 OpencartとWebサイトの開発者のファンだけでなく、自分のプロジェクトの開発者にとっても興味深いものになります。
Habrコミュニティが少なくとも何らかの形でCMSに対応し、アドバイスや批判をしてくれたら嬉しいです。 他のほとんどの製品の最初のバージョンのように、CMSが完璧ではないことを認める準備はできていますが、これには努力する必要があります。 エラーとヒントは、プログラマーとしてさらに発展するのに役立ちます。
プロジェクトへのリンク:使用されているライブラリとフレームワークへのリンク:PS知識を得てこの困難な問題を理解するのを助けてくれたインスピレーションと先生に感謝したい。
- プログラミングの学校
- Ilya Kantor(javascript.ruプロジェクトの作成者)
- ダニエルカー(opencart.comの開発者)
- コハナフレームワークプロジェクト