Объектно-ориентированная php CMS или фреймворк

я приступаю к очень большому упражнению по созданию CMS в php. На самом деле это моя попытка изучить PHP в веселом (и хардкорном) способе, исходящем из фона Java. Java-это все объектно-ориентированные, поэтому ООП у меня в крови, но я нахожу, что ООП еще не сделал этого для PHP. Большинство PHP все еще пишется сегодня старым способом без новых концепций.

Я пытаюсь найти пример PHP CMS, который написан как объектно-ориентированный. Я слышал, что лучшая. Вы знаете еще кого-нибудь? или любой OOP библиотеки в целом, которые вы знаете, могут помочь мне в проекте CMS.

9 ответов


PHP5 довольно ООП. Ищите CMSes и фреймворки, которые работают только на PHP5. Например, Кохана


Я бы предложил Symfony framework, поскольку это хорошо документированная и функциональная платформа, которая помогла создать много веб-приложений.

http://www.symfony-project.org/


Concrete5-довольно сложная CMS на основе ООП. Может быть, это суровое начало, но я многому научился, работая с ним.


опять же, +1 для symfony, но это большой проект, и знакомство с symfony займет большую часть вашего времени, но если вы хотите погрузиться, его документация действительно отличная.

поскольку вы пытаетесь создать свою собственную CMS, начните с простого понимания фреймворков и постройте на них. Не тратьте свое время на все, что уже сделано. Я рекомендую вам Codeigniter MVC Framework http://codeigniter.com и для CMS, PyroCMS http://pyrocms.com который построен на codeigniter прохладно. Codeigniter действительно легко ладить, и документация очень аккуратная и чистая.

далее, Если вы хотите начать с простой структуры php, вот что сделал Tyrehall,http://github.com/tylerhall/simple-php-framework . Этот проект может выступать в качестве базы для вашей CMS


кажется, никто не упоминал Кохана только фреймворк PHP 5.

Кохана имеет довольно активный и очень полезное сообщество для его резервного копирования (#kohana на freenode, в частности).

edit: при ближайшем рассмотрении я вижу, что кто-то уже упоминал Кохана.


вы заметите, что для большинства разработчиков cms (и framework) важнее реализация шаблона MVC. Большинство реализаций MVC в php фактически используют методы ООП (некоторые более строгие, чем другие)

+1 для symfony, и еще я хотел бы порекомендовать Kohana (построенный на CodeIgniter)

Также посмотрите на их форумы, так как у обоих уже есть cms или 10, построенные с использованием этих фреймворков.

использование этих фреймворков приносит вам около 60% там, как и многие рудиментарные задачи, позаботились.

редактировать также remebered это: fatfree framework это довольно легкий:http://fatfree.sourceforge.net/


посмотреть Phundament 3.

Phundament 3-это основа приложения, построенная на наборе независимых модулей и расширений Yii, таких как user, rights, yiiext, gtc, ckeditor, jQuery-file-upload, p3widgets и p3media.

комбинация p3widgets и p3media обеспечивает основные функции системы управления контентом (CMS), такие как динамическое создание виджетов и управление файлами. Объединенный в ckeditor, p3media действует как плагин ckfinder что дает вам полную мощность HTML и медиа-файлов для создания контента через p3widgets.

оно приходит с очень minimalistic установкой которая интегрирует совершенно в skeletion веб-приложения Yii и устанавливает с одной одиночной командой.


как некоторые люди предложили здесь, вы должны начать с Codeigniter, потому что это действительно легко погрузиться. Его документация очень хорошо структурирована и удобна для чтения. Но я думаю, что Codeigniter теперь кажется очень старым.

то, что я действительно рекомендую вам что Laravel. Есть другой Framework вы должны смотреть на это FuelPHP. Но для меня Laravel абсолютно изменился на то, как я пишу свой PHP-код. Это лучшая структура, которую я когда-либо видел в моей жизнь. Это настолько элегантно, что вы сразу же влюбитесь.

Если Laravel подходит вам, я рекомендую вам следовать этому онлайн-курсу Джеффри Way @ Tutsplus.com. Вам понравится!

удачи :)


вы видели CakePHP?

http://cakephp.org/

его структура MVC для PHP. Его довольно прочным и может использоваться в полностью объектно-ориентированной манере.