В начало
Разделы

Сравнительная таблица CMS систем с открытым кодом

Обсудить в форуме

Content Management System(CMS) - системы управления содержанием. То есть система по минимуму имеет базу данных, интерфейс для изменения информации в ней и один или несколько интерфейсов для представления этой информации пользователю. Сейчас CMS системы на PHP переживают стадию бурного развития, появляются новые системы, популярные старые развиваются вовсю горизонтально - расширяется функциональный набор. К сожалению, это приводит к тому, что разработчики уделяют мало внимания документированию, впрочем эта черта свойственна большинству PHP проектов.

Расмотренные в этой статье системы - бесплатны. Требования по установке большинства из них - это PHP 4.x, MySQL и Apache. Такая формула очень популярна на западе, она имеет сокращенное название LAMP(Linux, Apache, MySQL, PHP). Чтобы установить такую систему, нужен всего лишь доступ по FTP и интерфейс к СУБД, например phpMysqlAdmin. Столь низкие требования позволяют установить такую CMS систему на практически любой Linux/Unix хостинг. Ни один другой язык программирования не имеет столь явных преимуществ.

В этой статье я сравниваю их не функциональные возможности, а потенциальный запас в развитии системы. Хотя удобство использования является одним из решающих факторов, он будет рассмотрен позднее, так как требует много времени для расмотрения каждой системы в деталях.

  phpWebSite TYPO3 Mambo Open Source PHP-Nuke sPaiZ-Nuke DCP-Portal E-Xoops Xoops e107 LDU ezContents Xaraya Post-Nuke
Версия 0.9.3-2 3.5.0 4.5-Stable-1.0.4 6.9 1.2 5.5 1.05 2.0.5.1 0.603 602 201 0.9.1.4 beta 0.7.2.6(Phoenix)
Лицензия GNU LGPL v2.1 GNU GPL v2 GNU GPL v2 GNU GPL v2 GNU GPL v1/2 GNU GPL v2 GNU LGPL v2.1/другое GNU GPL v2 GNU GPL v2 personal/commerce ezContents License 1.0 GNU GPL v2 GNU GPL v2
URL phpwebsite.appstate.edu typo3.org www.mamboserver.com www.phpnuke.org spaiz-nuke.net www.dcp-portal.org www.e-xoops.com www.xoops.org e107.org ldu.neocrome.net www.ezcontents.org www.xaraya.com www.postnuke.com
Обычная документация(1..5) 2 4 2 2 1 2 1 1 1 2 1 4 4+
Документация кода(1..5) 4, PhpDocumentor [?] 1 1, PhpDocumentor [?] 2 1- 1- 1-, PhpDocumentor [?] 1- 1- 1- 1 4, PhpDocumentor [?] 3
ChangeLog - + + + - - + + - + + + +
Кол-во разработчиков 8 N/A 11 N/A N/A N/A N/A 7 N/A 4 N/A 49 N/A
Versioning System CVS - CVS - - - CVS CVS - своя - CVS CVS
Разделение кода и шаблонов частично нет частично нет нет частично частично частично частично частично нет частично нет
ООП только ядро да частично нет нет нет частично частично нет нет нет частично нет
Абстракция SQL запросов от конкретной СУБД [?] PEAR DB [?] да(только MySQL) да(только MySQL) есть, от phpBB есть нет есть есть да(только MySQL) нет ADOdb [?] ADOdb [?] ADOdb [?]

PHP-Nuke

Обзор PHP-Nuke

Плюсы:
+ довольно понятный интерфейс управления сайтом.
+ простота в установке.

Минусы:
- нет поддержки хорошо запоминающихся URL. /shop/cpu/athlon2100 гораздо лучше запоминается и выглядит намного проще чем /modules.php?name=shop&file=cpu&func=show&id=23424
- часть настроек системы изменяется путем редактирования php файлов.
- система написана в функциональном стиле. Это традиционно для PHP-проектов, однако разработчикам было бы приятно использовать всю мощь объектно-ориентированного программирования.
- отсутствие HTML-шаблонов.
- обязательное присутствие копирайтов на страницах. Это жесткое требование разработчика.
- отсутствие API.
- код безопасности включен по умолчанию. Это такая картинка с цифрами, которая показывается в форме логина, цифры с которой надо ввести. Убрать код безопасности можно только редактированием config.php.

Mambo Open Source

Обзор Mambo Open Source

Плюсы:
+ простой инсталлятор, удобный и понятный
+ хорошая производительность системы

Минусы:
- нет документации по созданию модулей
- мало информации по созданию тем
- система написана в смешанном функционально-объектном стиле
- нет полного разделения логики от представления
- нет API для подключения модулей

Модули PHP.

PhpDocumentor.

PhpDocumentor - инструмент для разработчика, который генерирует документацию для кода, используя специальным образом отформатированный код. Похож на JavaDoc - стандартную утилиту для документирования в мире Java. PhpDocumentor написан полностью на PHP. Стандарт де-факто для документирования кода на PHP.

Абстракция SQL запросов от конкретной СУБД.

Данный тип модулей обеспечивает независимость программы от используемой базы данных. Также делает доступным ряд функций, использование которых сильно облегчает жизнь, например получение всех данных одной функцией. Еще более облегчают работу с БД модули, которые позволяют работать с БД через набор методов класса, например запросы вида SELECT, INSERT, UPDATE, DELETE реализуются в виде методов get, add, save, remove. Пример: MDB_QueryTool.

ADOdb.

Не имеет ничего общего с Microsoft ADO.
Поддерживает базы данных: MySQL, Interbase, Sybase, PostgreSQL, Oracle, Microsoft SQL server, Foxpro ODBC, Access ODBC, Informix, DB2, Sybase SQL Anywhere, generic ODBC and Microsoft's ADO.

PEAR DB.

Поддерживает базы данных: FrontBase, Interbase, Informixm, mSQL, MSSQL, mySQL, Oracle, general ODBC, PostreSQL, SQLite, Sybase.

PEAR MDB.

Поддерживает базы данных: Interbase, MSSQL, MySQL, PostGreSQL, Oracle, Frontbase SQL (alpha), Querysim.

TODO

  • Написать инфо по каждой системе.
  • Сравнить производительность.

Обсудить в форуме

Автор: Александр Кубышкин <cub@techinfo.net.ru>
Original Copyright © 2003, 2004 Silversnake Ltd, Alex Coubyshkin.
Дата обновления: 25.05.2004
Дата создания: 18.12.2003



Строчка любимых сайтов OpenNET Афиша Петербурга


Яндекс цитирования