+2.18
Рейтинг
1.88
Сила

Отладка при помощи xdebug

У меня устойчиво не получается отладка лайвстрита на локалхосте. В качестве отладчика у меня xdebug, IDE — netbeans. Другие проекты поддаются отладке, LS — нет. Апач падает после попытки сделать шаг на первой строчке index.php. У меня Денвер.

Кто-нибудь дебажил livestreet? Каким отладчиком?

Кто хочет поучаствовать в большом проекте ?

Хочу написать, почему, собственно, я сейчас нахожусь на этом сайте.

Есть такой человек — Алексей Навальный navalny.livejournal.com. В свое время, будучи акционером банка ВТБ он, огорченный «успехами» банка, начал разбираться в том, куда делись деньги, результатом чего стало антикоррупционное дело «Навальный против ВТБ» — www.youtube.com/watch?v=5R-Bfm288vc

Дальше-больше. Навальный продолжил изучение этого же вопроса в других и со временем в его блоге информация о само-благотворительности в Роснефти, схемах распила в Гаспроме, ситуации в Шереметьево и т.п.

Сейчас Навальный — один из немногих борцов с коррупцией в России, и уж точно самый известный.

Со временем стало ясно, что коррупции у нас невообразимое количество, а Навальный только один. И возникла идея — сделать сайт по обмену опытом и координации.
Вот первый пост Алексея на эту тему, где он описывает, что он хочет от сайта: navalny.livejournal.com/476181.html

Сразу после него, конечно, пришло масса народа, все со своими предложениями, но со временем они ушли, остались только самые шизанутые стойкие. После некоторых раздумий мы решили двигаться на какой-нибудь CMS, а именно, как вы догадались, на Livestreet.

Итак, перехожу к сути.
Нужны программисты-волонтеры для работы над этим проектом. Один я, в принципе, может и справлюсь, но очень желательно, чтобы было несколько людей.
Работаем мы все за идею, т.е. бесплатно, в свое свободное время.
Плюсы очевидны — получите опыт работы в команде (я выбрал git+redmine), опыт разработки под нагруженный проект (аудитория в жж Навального очень большая, плюс она будет расти со временем), и, главное, сделаете доброе дело и будет что рассказать внукам.

Итак, кто хочет поучаствовать в этом проекте?

Livestreet: дао разработчика - 2

Первая часть цикла

Дао — это действие, процесс, поток. Чем чаще вы смотрите на код других плагинов, тем больше вы понимаете, как делать свой.
Накачайте плагинов под 0.4.2 и расматривайте, что у них внутри. Без этого вы не сможете начать писать свои плагины.

Я сделал типовой шаблон, из которого удобно делать свои собственные плагины. Располагается он тут:
http://github.com/medar/livestreetplugin
Чтобы скачать его, надо нажать в правом верхнем углу кнопку «Download Source». Желающие могут форкать и вносить изменения.

В файле находится «рыба» плагина с названием abcplugin.
Читать дальше →

Livestreet: дао разработчика - 1

Я сейчас работаю над одним проектов, в качестве платформы для которого я выбрал Livestreet. Так как с инфой для программистов у этого движка туго, я буду выкладывать те вещи, который я узнал о движке здесь. Надеюсь, это поможет остальным начинающим программистам на LS.

Я работаю с движком всего несколько дней, поэтому что-то в описании может быть неточно или неполно. Не стесняйтесь поправлять.

Цель этого цикла — дать поверхностный, но глобальный взгляд на движок, чтобы снизить порог вхождений. Плюс собрать все актуальные (0.4.1 и выше) ссылки, относящиеся к разработке в одно место.

Итак.

Для начала стоит пробежаться по существующей документации для разработчика (http://trac.lsdev.ru/livestreet/wiki/DeveloperDoc), чтобы понимать термины.
Откройте в IDE движок, пробежитесь по папкам движка, по плагину page, который идет в комплекте с движком.

В движке Livestreet:
Экшены, содержащие Ивенты (action, events) — это, кто знаком с MVC — контроллеры.
Модули (module) — куски кода, которые осуществляют некий функционал (например, функционирование блогов, топиков, комментов). В процессе своей работы они обращаются к Мапперам (mapper) для того, чтобы пообщаться с базой данных. Все sql-запросы пишутся именно в мапперах. Мапперы в свою очередь используют Сущности (entity), которые переводят массивы, отданные mysql в объекты, с которыми потом работает движок.

Способ модификации кода Livestreet два.

1. Через переопределение существующих функций. Меняется целиком существующая функция в модуле/маппере/сущности, или добавляется своя. Подробно: livestreet.ru/blog/dev_documentation/4499.html

2. Через хуки. При этом вставляется код в указанное место движка.
Хуки можно вставить в места, определенные конструкцией $this->HookRun(...); в движке, а также на начало и конец любого модуля, зарегистрированного в системе (не важно, системный он, или установлен каким-то плагином). Подробно про хуки в моделях: livestreet.ru/blog/dev_documentation/3991.html.

Переопределения эти делаются в плагинах. Подробнее о плагинах и их устройстве: livestreet.ru/blog/dev_documentation/3531.html

Как делать эти самые плагины — подробно поговорим во второй части.

Вторая часть