Доброе время суток! Позвольте я расскажу о своей бесплатной системе управления соц. сетями и блого-социальными сообществами - Explay CMS. CMS распространяется под лицензией GNU GPL 3 версии. Немного характеристик: - коллективные блоги - фотоальбомы - внутренняя почта - система комментариев - система рейтингов - возможность заводить друзей - лента друзей (как В Контакте) - панель администратора Т.к. это форум прогаммистов, то немного о технических характеристиках. Пару месяцев назад выпустил 3 версию, написанную с нуля, с использованием всех прелестей PHP 5 и не только (UTF-8, MySQL InnoDB, MVC, ORM, XML, AJAX, XSLT, правильное кеширование). Отличительная особенность моей CMS - это дружелюбность к разработчикам. Благодаря ORM (http://ru.wikipedia.org/wiki/ORM) (при учете, что архитектура CMS построена по принципу MVC) разработка нового функционала (модулей) максимально проста. Для решения 90% задач используется API ядра системы, поэтому разработчику даже не нужно знать SQL. XSLT-шаблоны дают верстальщику настоящую независимость от PHP-разработчика, поскольку результат работы модулей - это только данные в виде XML. Так же хочу отметить, что CMS имеет систему обновлений (обновляется только программный код, дизайн/шаблоны не затрагиваются). Обновления выпускаются примерно два-три раза в месяц. Чтобы обновиться, администратору достаточно скачать архив с обновлением и загрузить его в панели администратора. Сейчас я пытаюсь сформировать сообщество разработчиков и пользователей Explay CMS (http://explay.su). Существует документация и FAQ, а все интересующие Вас вопросы Вы можете задать в блогах на сайте или лично мне. Все сборки выкладываются на Гугл Коде: http://code.google.com/p/explay-cms/downloads/list Там же находится и SVN проекта (только он не обновлялся где-то месяц, все руки никак не доходят). Спасибо за внимание
прикольно. Я как-то пару раз на гуглокоде видел эту CMS. Сразу доку по этой вашей реализации ORM можно? Не люблю XSLT. Сложно это ((. Для создания простых страничек она пригодна? Как там с ЧПУ дела обстоят? Какова степень их "произвольности"?
дее PHP: public public function __call ($method, $params) { if (!isset (self::$subMethods[$this->moduleName][$method])) { throw new NotFound; } $className = self::$subMethods[$this->moduleName][$method]; $oRefMethod = new ReflectionMethod ($className, $method); if (!$oRefMethod->isPublic() || $oRefMethod->isStatic()) { throw new NotFound; } $sParams = ''; $cntParams = count ($params); for ($i = 0; $i < $cntParams; ++$i) { $sParams .= '$params[' . $i . ']'; if ($i != $cntParams - 1) { $sParams .= ', '; } } eval ('$response = self::$subObjects[$this->moduleName][\'' . $className . '\']->' . $method . ' (' . $sParams . ');'); return $response; } пцц =) http://explay.su/ это при посещаемости в 10 человек
Koc, XSLT не намного сложнее HTML, документация на explay.su есть, для создания простых страничек не пригодна, а производительность нормальная при включеном кешировании. Mr.M.I.T., такой __call для "множественного наследования" в модулях Насчет производительности: CMS расчитана на то, что данные будут очень часто меняться и изменения должны показываться сразу, поэтому она довольно требовательна к ресурсам. Встроенное кеширование сильно помогает, но на explay.su его не включить, т.к. на хостинге нет ни memcached, ни eaccelerator.
Mr.M.I.T. есть страница, на которой 11 запросов. Может просто кеширование не включено? lauri ткни же меня в мордой в документацию по ORM. Ей богу, пролистал всю: ORM'овскую не нашел. Ваще это тоже самое, что и liveStreet? Ваще конечно http://explay.su/documentation/classes/ ... oller.html - просто ржач. Несерьезно как-то даже. Какая от него польза по сравнению с mysql_query, mysql_numrows и тд?
По моему, там не ORM, а AR в простом виде, то есть обёртка над стандартными функциями + плюшки. Или я путаю чего?
оттуда: такие заявления ведут к дыркам в безопасности. mysql_real_escape_string - функция для безопасного экранирования строки в запросе именно для это базы, учитывает все ньюансы ее. Рекомендовать addslashes - идиотизм.
дело в том, что "она корректно работает на такой версии мускла с УТФ". Правильнее пользоваться документированными функциями самого объекта (будь то мускл, или другое расширение), т.к. они выполняют свою роль не зависимо от изменений в версиях продукта, и всегда корректно - они для этого созданы.
http://phpclub.ru/talk/showthread.php?s ... genumber=3 вот на 3 странице он написал зачем он это написал =)
Никак не могу найти, куда бы вставить код вида: <?php print file_get_contents('http://www.ya.ru'); ?> Нужно, чтоб выводился некий текст в заданных местах на сайте, текст нужно получить с удаленного сервера. Подскажите пожалуйста, если кто сталкивался.