блин, идея предложенная Psih'ом реально пока что самая интересная, но и наиболее сложнореализуемая. Сделать так, что б все методы возвращали объекты/массивы, без шаблонизаторов и рендеринга. И написать отдельно пример морды к этому api. Но мне нужно что-то более простое и быстрореализуемое, так как есть учеба и парочка работ (основная + тырнет магазин разрабатываю).
И что ты хочешь из этого получить ? не в плане денег - вообще, попечатать на клаве, заняться тупым коддингом?
kostyl та в плане денег из этого все равно ничего не получится. Да и цель такая не ставится. Ну нет у меня времени на длинный и большой проект. Нееет. Мне б магаз довести до более-менее вменяемого состояния. А какой-то другой маленький проект - возможность отвлечься от магаза и временно (неделя-две) заняться чем-то другим. Хотя лучше "отвлечься" так, что б поехать на моря, но отпуск у меня в августе аж. Отака печальная фиговина выходит.
та сильно не интересно. Блоговых движков тоже over 9000 + есть коллективные типа Livestreet, Explay. Я так понимаю, что он должен быть не с нуля а как-то интегрирован с системой? какое-то api тама есть?
Где эти овер 9000 блоговых движков? Один вордпресс, на котором сидят все пхпесты, питонитсты, и прочая попса, так и он страшный, как моя студенческая жизнь.
да, от шаблонов его [wordpress] я люто, яростно блевал. Когда-то делал раскодировщик-кодировщик их. Глянь на E2 Вообще тут меня нашел старый заказчик и ему нужно че-то написать. Вроде проблема решена. И есть идеи написать пацанский шаблонизатор, который бы поддерживал наследование шаблонов.
Блин если есть время чтото писать пиши чтото стоящее, действительно, разработай отличную архитектуру и замочи. Пусть это будет долго, но цель оправдывает средства если все сделать правильно.
Сделай сервис, по типу ответов гугла и mail'a, размести его на поддомене php.ru. Вопросы будут по вебу, отвечать будет круг доверенных лиц. Нужно сделать хороший поиск, теггирование (или раздел по категориям). На форуме ответы быстро теряются, а тут будет полноценный сервис. Хотел сделать еще весной, но времени, не хватает.
попытался сегодня написать форум, точнее API форума пришёл к выводу что полноценный форум нереально перенести на чистое API, он может существовать только ввиде отдельного приложения хотя нет реально, но страшно велосипедно и неуобно
дык вот уже сделали аналог переполнениястека русский (( да и меня интересовал продукт, который бы мог стать таким же популярным как pma) Пускай он был бы простой как лопата, но полезный. Но уже нашлись вещи, из-за которых пропало время на написалово чего либо Mr.M.I.T. это реально, но действительно будет запутанно внутри. Например захотел получить список тем - нужна одна выборка, список тем и последних ответов в них - другой запрос.
Koc Mr.M.I.T. Вы, ребят, слегка не понимаете идею. На примере списка тем, с последними ответами в них. Что такое последний ответ? Это дополнительное поле в таблице topics, в котором хранится ID последнего сообщения в теме. Т.е. оно всегда выбирается, вместе с именами тем, автором темы, датами, с никами пользователей, последними оставившими сообщения. Т.е. "дай мне темы в форуме с ID X, сортировка по дате последнего сообщения, первая страница, 30 тем на страницу". Дальше, если человеку _ОЧЕНЬ_ надо, он унаследует нужный класс и переопределит метод и сделает нужные ему модификации. Фокус в том, что бы сделать реализацию таким образом, что можно было бы легко сделать такую простую вещь, как поменять список полей путём переопределения метода/поля в наследуемом классе, или переопределить саму выборку из базы, что бы повесить кеширование данных, а если кеш надо перестроить, то вызовем parent::getThemes(....). Я думаю вам стоит найти кого-то, кто действительно хорошо работал с ООП и строил подобные сложные вещи и с ним этим занятся, т.к. я лично собираюсь курировать HTML2PDF проект, который я предложил на форуме, так что времени у меня на курацию ещё и этого не будет. Я могу только помогать советами, конкретными решениями/патчами, ну и если буду делать форум как я писал выше - вложусь в разработку активно. ИМХО, процесс разработки надо строить так: Делаем простейший грубый прототип, смотрим что криво, улучшаем. И так по кругу, пока в процессе не дойдёт до красивой и удобной модели. Самая гемморойная часть тут - начать. В последствии я скорее всего вам помогу, точнее я бы даже сказал что доделаю всё до логического конца, т.к. мне скорее всего нужен будет форум и писать его мы будем сами в силу специфики проекта и его высоким требованиям к качеству кода. Я вот тут для социалки оповещения/сообщения доделал. Потребовалось 3 итерации пока я сделал так, что это стало действительно круто и удобно, и это исключая этап опыта с приведущим соц. проектом, где была такая-же система оповещений/сообщений. Только у меня получилось нечто более совершенное и продвинутое, и очень удобное. А так же упорядочило сам код, избавив его от просто огромного кол-ва костылей. Теперь его вообще можно универсально использовать.
Psih как быть если мне надо связать юзверей сайта и форума? как быть с кросс БД? (ну это я решил, вынес все запросы в дрова)
Mr.M.I.T. Нам не нужна cross database. Производительный форум, это форум, не следующий ANSI стандарту, а выжимающий всё до последней капли из базы данных. Можно предусмотреть зарание такие вещи, как getSequence, которая есть у PostgreSQL и ещё некоторые особенности, для будущей совместимости. Но нужно делать две ветки - MySQL ветку и PostgreSQL ветку, а внешнее API должно быть идентично. Можно достаточно изящьно подойти к решению проблемы так, что бы требовалось минимум модификация для обеспечения совместимости, что-то на подобие low level driver, как это сделано в PDO. Что до привязки юзеров, то при инициализации объекта форума указываем таблицу, где находятся юзеры и по какому полю делать связку, какие поля отвечают за какой параметр. Всё остальное форум может хранить в своей таблице с юзерам. Либо программист должен просто сделать сайт так, что бы использовать общую таблицу. Т.е. речь не идёт о: 1). Download. 2). Unzip. 3). Run install.php 4). Go to administration panel and do your stuff. Речь идёт о компоненте, которую привязать задача программиста. Как он это сделает - его дело, мы ему этот компонент просто даём.
Psih ну вот я и говорю что полноценного не выходит вот это и есть в моём понимании - велосипедно Была идея сделать полноценное отдельное приложение ввиде набора классов, без дизайна Зы. А я вообще для себя хотел а не для вас =) Для вас я всё никак шахматы дописать не могу, мультиюзверьные
Mr.M.I.T. Возьми Zend Framework - там пока ты логикой своей всё не свяжешь - работать ничего не будет Тут так-же, это удобный конструктор, требующий минимум телодвижений, но сам по себе он работать НЕ будет. Это не приложение, это набор компонент, который я интегрирую в приложение по своим собственным соображениям. Это кстати очень хорошая практика по программированию чёрного ящика Уж поверь, я себе шишек от непонимания набил уйму - у меня на руках огромный кусок кода в виде проекта, который жаждет рефактора от неправильного построения. Ну точнее там не настолько всё плохо, но есть пара мест, которые требует от меня 30-40 человеко-часов на переработку, а я на столько загружен, что не могу этого сделать. А эта переработка настолько упростит всё и настолько сильно сократит кол-во времени, требующееся на конкретную модификацию, что рано или поздно придётся взять на работе недельный отпуск и сделать это.
Psih эм, ФреймВок это не то, он не является функциональной еденицей, он является инструментом для её создания форум по опредению функциональная еденица. тоесть он может нести в себе только результативный смысл, он не может быть конструктором
Mr.M.I.T. Ок, перефразируем - фреймворк для форума, который можно встроить в приложение. Суть от этого не поменяется, только название
а фреймвок форума, уже будет являтся приложением и чтобы связывать его с твоим приложением(куда его встраивать будем) будут появлятся велосипеды
Mr.M.I.T. ДАвай лучше делать, а дальше смотреть уже что из этого выйдет реально? На бумаге красиво, в реальности 200 раз переделываешь, пока тебе оно нравится.
поэтому я и говорю что можо попробовать писать форум в виде отдельно приложения, но как набор классов я делать я начал, у МЕНЯ не получилось(по крайней мере как я бы хотел) я бросил