Der Weg vom Anfänger zum Profi: Entwicklung von CMS auf dem Kohana 3.3-Framework

Vor ungefähr fünf Jahren war ich süchtig nach Website-Entwicklung und nur aus Interesse am Web. Ich wollte verstehen, wie man sie macht und besser als andere. Wie für die meisten Entwickler begann alles mit einfachen Kenntnissen in HTML, CSS und natürlich dem beliebten CMS wie Joomla, Wordpress und Data Life Engine. Als ich groß war, musste ich mich jetzt genauer mit Javascript und natürlich mit meinem Lieblings-PHP befassen. Aber die Dinge liefen nicht so schnell, wie sie wollten. Während des Trainings auf dem Einfachen wollte ich komplexe Dinge verstehen. PHP war anfangs schlecht, aber der Charakter wurde besser und schrieb nach einer Weile so etwas wie ein mini-soziales Netzwerk.

Nun, dann ab und zu: OOP, MVC und schließlich ist es Zeit, die Frameworks zu erobern. Zu dieser Zeit waren die bekanntesten für mich Zend, Kohana und CodeIgniter . Ich habe es später herausgefundenSymphonie und YII . Die Wahl fiel auf Kohana , weil Für einen Anfänger war es einfacher zu lernen und mit normaler Dokumentation. Nun, im Prinzip habe ich in diesem Rahmen keine Mängel für mich gesehen.

In meiner Freizeit habe ich Kohana mit einfachen Beispielen gemeistert, um meinen Horizont zu erweitern und mein Wissen auf dem Gebiet der OOP zu erweitern. Aber es gab Umstände, unter denen Sie, während Sie mit anderen CMS arbeiteten, etwas mit demselben Kohana selbst entwickeln und ausprobieren mussten.

Das Ziel war es, ein guter Programmierer zu werden und zu tun, was Sie wollen.

Überspringen Sie die Monate und Jahre des Wachstums. Schließlich entschloss ich mich, meine Entwicklungen in Form eines vollwertigen CMS auf dem Kohana-Framework für den freien Zugang mit dem Namen Oxidos CMS zu veröffentlichenVersion 1.0.0.

Die Hauptkriterien:
  • Schnelle Arbeitsgeschwindigkeit;
  • Leicht zu erweiternde Funktionalität;
  • Benutzerfreundlichkeit und Administration;
  • Zest CMS;
  • Universalität.


Die Hauptinspiration war CMS Opencart . Wie seine Struktur und Benutzerfreundlichkeit. Opencart-Liebhaber werden wahrscheinlich mein CMS als mögen Es gibt eine ähnliche Struktur und einen ähnlichen visuellen Teil.

Also was haben wir.

Hauptmerkmale:


  • Hinzufügen mehrsprachiger Inhalte;
  • Hinzufügen von Kategorien unbegrenzter Verschachtelung (unter Verwendung des Nested Sets-Algorithmus);
  • Hinzufügen von Nachrichten, Artikeln und statischen Seiten;
  • Wird von CNC verwendet (dank Kohana-Routen);
  • Wird von ORM und Query Builder verwendet. Ermöglicht es Ihnen, CMS nicht nur mit MySQL zu verbinden.
  • Differenzierung der Zugriffsrechte für jede Komponente des Admin-Panels;
  • Statistiken im Admin-Bereich von Google Analytics;
  • Möglichkeit zum Ändern von Vorlagen;
  • Möglichkeit, ein Daten-Caching-Modul auszuwählen;
  • Möglichkeit zum Hochladen von Bildern;
  • Möglichkeit zum Generieren einer Sitemap.xml-Datei;
  • Die Fähigkeit, neue Widgets hinzuzufügen, sowie die Fähigkeit, die Funktionalität zu erweitern, ohne die Leistung zu beeinträchtigen;
  • Und andere Komponenten, die auf der Website zu finden sind.


Was verbirgt sich unter der Haube:
  • Kohana 3.3 - ist der Kern des CMS. Das bedeutet, dass jeder, der das Konzept von MVC oder HMVC kennt, leicht verstehen kann, wie alles funktioniert. Vor allem für die „Cohans“ wird alles einfach sein;
  • Twitter Bootstrap 3 - Das Framework wird für die Admin-Vorlage verwendet. Ich habe sehr gerne mit ihm gearbeitet, besonders wenn ich LESS benutzt habe. Quellen stehen auch für weitere Stiländerungen zur Verfügung. In Zukunft ist geplant, den sichtbaren Teil der Site neu zu gestalten.
  • Summernote ist ein Texteditor im Admin-Bereich, der auch Bootstrap-Komponenten verwendet. Sehr bequem zu konfigurieren und zu verwenden;
  • Jstree 3 ist eine Bibliothek zum Präsentieren eines Baums aus Verzeichnissen und Dateien. Wird im Dateimanager verwendet.
  • Und natürlich die beliebten jQuery- und jQuery-UI- Bibliotheken .


Systemvoraussetzungen:
  • Webserver (vorzugsweise Apache);
  • PHP (seit 5.3.3);
  • Curl ist an;
  • MySQL-Datenbank (ab 4.1);
  • MySQLi-Erweiterung;
  • IonCube Erweiterung (da 2 Dateien verschlüsselt sind: Core.php und Encrypt.php aus Sicherheitsgründen).


In der Aus- und Weiterbildung werden viele neue und interessante Dinge gelernt, die zur Weiterentwicklung und zum Wachstum beitragen.

Der Zweck dieses Artikels besteht darin, Ihnen ein anderes Tool vorzustellen, das entweder in seiner Gesamtheit oder in seinen einzelnen Teilen von Interesse sein kann.

Fazit
Oxidos CMS ist ein kostenloses mehrsprachiges Content-Management-System zum Erstellen von Visitenkarten-Websites, Blogs und Portalen. Es wird für Fans von Opencart- und Website-Entwicklern sowie für Entwickler ihrer eigenen Projekte interessant sein.

Ich würde mich freuen, wenn die Habr-Community zumindest irgendwie auf das CMS reagiert und Ratschläge oder Kritik gibt. Ich bin bereit zuzugeben, dass CMS nicht perfekt ist, wie die meisten anderen Erstversionen von Produkten, aber es ist notwendig, danach zu streben. Fehler und Tipps helfen mir, mich als Programmierer weiterzuentwickeln.

Links zum Projekt:


Links zu verwendeten Bibliotheken und Frameworks:


PS Ich möchte mich bei den Inspiratoren und Lehrern bedanken, die mir geholfen haben, Kenntnisse zu erlangen und diese schwierige Angelegenheit zu verstehen:
  1. Schule für Programmierung
  2. Ilya Kantor (Autor des javascript.ru-Projekts)
  3. Daniel Kerr (Entwickler von opencart.com)
  4. Kohanaframework-Projekt

Jetzt auch beliebt: