|
|
Сравнительная таблица 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
|
|