Краткое содержание шести страниц обсуждения сподвигло меня даже подпись поменять :)
А так то сегодня вообще понедельник. Пятница начинается в понедельник!
Ок, жду.
Ну думаем чуть перепрофилировать под свой движок, если это будет реально, но посмотрим уже по сайту.
Ну я про классику:
https://www.youtube.com/watch?v=M0x3bPGp_7o" allowfullscreen="allowfullscreen" width="560" height="315" frameborder="0">
Расскажите плиз что вы понимаете под шаблонными сайтами, наработками, купленными движками и т.п. Это вордпресс ит.п.?
Также интересует ваш формат общения с клиентами, насколько можно будет продолжать работу под этим именем? Не будет "а где бабуля?")
После продажи какая-то ваша поддержка возможна? Не в коде конечно, но в человеческих контактах каких. Типа кивнуть клиенту мол да, ребята нормальные, всё ок, я за ними "приглядываю", ну или там рассказать что там и как было с клиентами?
Бюджеты этих "2-3 заказа" можно приблизительно озвучить?
Ну и что не в паблик то в личку...
ПС: заранее Спасибо за ответы)
solalex, тут у каждого второго в подписи партнерская ссылка на какой-то хостинг)
Да, конечно пора.
Когда Yii перешел на сторону Вордпресса, я капитулирую, признаю свою неправоту и посыпаю голову пеплом.
Может вы мне предлагаете еще и такие конструкции писать?
Не, ну а чё? А вдруг произойдет ошибка? Пацаны ведь стараются, тесты пишут. Может и мне написать?
Еще раз. И по буквам. Не для вас уже собственно, ибо свою возможность реабилитироваться вы упустили. Объясняю в чем лажа с "запрет комментариев".
Если у поста запрещены комментарии, то у нас не может появится комментарий у которого родительским постом указан пост у которого запрещены комментарии. Если запрет был установлен после того как комментарий появился, то закономерно, что этот комментарий будет по прежнему виден, как это обычно и делается во всех системах комментариев. Если же при разработке ТЗ будет принято решение что при установке запрета - существующие комментарии скрываются или удаляются, то это тема никак не уровня комментария, а уровня поста. В модели поста метод запрещающий комментарии просто поставит соответствющий флажок на комментарии. И уже КОНТРОЛЛЕР а не шаблон будет решать выдать ли тут 404 или 403, или не заморачиваться а таки показать, коль ссылку то ты знаешь.
Single responsibility principle. Когда я пишу вьюв для отдельно стоящего комментария, то я не имею права задумываться о том, что кто-то, где-то, что-то может себе придумать. Я решаю конкретную задачу. Конечно сохраняя все остальные принципы в том числе и принцип бабушки Барбары)
Нет-нет. Или я неудачно выразился, или Вы не совсем поняли.
Я говорил что проект был ПОХОЖ на Yii. Но писался он на чистом пхп. Ну только используя некоторые свои старые библиотеки, которые еще со времен пхп4 со мной были. Потом я проект бросил и перешел на Yii в силу того что он был уж очень круче чем мой движок.
Хотя некоторые решения у меня были удобнее.
Ну тут две причины как по мне бывают:
1 - ну это же так просто сделать, я такой крутой, ща всё сделаю побыренькому, и все меня похвалят
2 - не устраивает то что есть, и хочется чего-то большего
Потом эти причины делятся на реальные и мнимые, например когда я писал свой первый велосипед на пхп (до того я уже лет 15 говнокодил на других языках), то реально внятные движки существовали уже. Но мне они не попадались. Поколупав код пары проектов я решил что ну их в баню, _проще_ написать свое чем разбираться.
90% из тех кто пишет свой велосипед ничего кроме опыта не получают. Часть потом пишет пулреквесты в уже существующие проектики, кто-то и в ядро влазит. Ну а некоторые начинают и начинают велосипедить, пока не сделают что-то стоящее.
Почему я начал опять писать свой велосипед? Я хочу движок который будет понятен для домохозяек вроде TiA, но при этом предоставлять все прелести современного мира (Нормальный ООП, т.е. DRY, SOLID и т.п., MVC, composer, удобный и гибкий инжектор зависимостей, заготовки под удобное мокание и прочие прелести тестирования, ну и т.п.). Чтобы из коробки было. Чтобы пришел программист в сайт сделанный верстальщиком, и мог писать что-то дальше, а не выкидывать всё и начинать заново....
А с чего ему там вдруг не быть?)))
Нет, я писал пару лет назад CMS под Yii1, там комментарии действительно были независимее, и имели не пост а владельца, и комментарии могли быть и в статьях/постах и у пользователя и много еще у чего.
Но вам не кажется смешным когда вордпресс-верстальщик поучительным тоном рассказывает что чей-то код из одной строчки, написанный для того чтобы показать беспомощность ВП - недостаточно SOLIDный?)
Еще раз - когда я разрабатываю проект, то я стараюсь продумать структуру, и таких потеряшек быть не может. Сущность комментария обязана иметь того кого комментировать. Всё.
У него не может не быть тех свойств которые заложены в архитектуре базы и связях ORM. Если они куда-то пропали, то это действительно исключительная ситуация, и она будет обнаружена задолго до того как клиент начнет что-то тестировать.
owner в нашем примере это экземпляр модельки User
Если у юзера нет аватара как свойства, то очевидно что вьюв аватара не попадет в шаблон комментария. А если в системе предусмотрены аватары, то свойство будет в любом случае. Это же объект "картинка", ему в любом случае надо выдавать дефолтное значение. Но даже если дефолта нет, и вернется пустая строка, то ничего страшного, он же сам и поймет что его выводить не нужно. Всё в конфиге прописано (в будущем - в админке).
Их не нужно отслеживать потому что они не могут произойти.
Если они произойдут, то это или база не работает или конфиг не прочитался, или скопировали несовместимый шаблон или еще что-то внештатное произошло, а значит это должно выдать ошибку. Иначе ущерб будет катастрофичен.
Именно. И она будет решена еще до того как я задумаюсь "писать тесты или черт с ними, и так сойдет, времени нет?"
Гы. А теперь представьте проект в котором несколько сотен... нет не строк. Классов.
И не чужих, а именнно прикладных, в этом проекте. Ничего сложного не вижу если код пишется нормально. Ваша ошибка в том, что вы ДУМАЕТЕ что могут быть проблемы. И еще одна ошибка - вы плохо в школе математику. Это типичная ошибка человека не понимающего тервер. Вы думаете, что миллион мест где может быть зависимость это миллион возможностей для ошибки. Но большинство этих мест будут ломаться одновременнно, если вы не продумали структуру.
Плюс хороший код имеет свойство решать часть тех проблем до которых бы ты и не догадался. Вот появилась у тебя мысль, ты проверил, а проблема и так решена, потому что на более мелком уровне ты подумал о деталях, и они сами все решили.
Ну так я решил уже эту задачу, равно как и задачу что у категории может быть несколько владельцев и у каждого может быть несколько равнозначных аватар. Я ведь писал - просто добавляется команда show которой подается наш ответ. Всё остальное уже решено ядром.
То, что вы повторяете эту ошибку снова и снова это не невнимательность. Это прямое следствие порочного подхода. Вы вынуждены думать о слишком большом количестве ненужных вещей, и поэтому вы говорите подобные глупости....
Вам всё-таки нужно разжевать почему данная одна строка кода вообще никак не связана с запретом комментариев, или вы всё-таки догадаетесь сами?
Не нужно обрабатывать те исключения которые невозможны, или те которые за тебя уже обработали. А некоторые исключения обрабатывать не нужно, потому что ваш воркараунд в случае когда стоило выкинуть исключение и умереть с 500, позвав админа - может потихому скрыть проблему и ваше "хорошо когда не звонят о проблемах" будет стоить клиенту десятки тысяч долларов если не всего бизнеса.
Вот тут соглашусь. Пожалуй нам с вами не стоит продолжать эту тему. Все что я мог полезного от вас получить, я получил. А дальше уже не тот уровень понимания...---------- Добавлено 22.07.2016 в 20:57 ----------
Было и такое. Лет 5 назад. Только оно вышло больше похоже на урезанный yii1 и со слабеньким ORM. По факту модельки выходили слишком толстыми, и местами попахивало вордпрессом. Но опыт был интересным и полезным. Проекты на том движке до сих пор живут, и все довольны.
Кто против то?
Написать аналог ACF в моем движке это неделя работы. Напишу. Но ПОЗЖЕ. :)
Интересно почему?) Делаем аналог MU, но уже внутри конкретного блога, т.е. в Мультиблоге есть блог со своим царем и богом, а у блога есть категории, в каждой есть царь и бог этой категории. Нормальная ситуация.
Представил. И что? Это другая задача, с другим кодом.
В большинстве случаев все равно будет некая "главная" категория, по которой мы и права определяем, и/или те же хлебные крошки. Ну или возле превьювки в поиске пишем категорию. Группируем по категориям результаты поиска и т.п. В общем обычно даже если пост может находиться в нескольких категориях, то кто-то является главным. Если же логика таки с равноправными категориями, то это просто другая задача, так что мимо.
Почему "если"? Будут вложенными. Естественно ту чей номер хранится в посте. Ее родители нас не интересуют. Будут интересовать, будет другая задача.
Никак. А зачем меня это должно волновать? Это как раз классическая ошибка.
Видел как чувак рассказывал свою историю.
Начал писать на новом ему языке и фреймворке. Написал код на 100 строк. Потом начал изучать движок и подобавлял кучу проверок исключительных ситуаций. Потом разобрался хорошо и убрал все это нафиг вернувшись к тем же 100 строк с которых начинал. Так и здесь. Запрет комментариев ВООБЩЕ не касается этой задачи. От слова совсем.
Значит в ее шаблоне не будет вывода этой аватарки?)
Ну черт с вами. Давайте тогда так:
Если связь один к одному, то мы по ней получаем сам объект.
Если связь множественная, то получаем объект доступа к списку ответов. Над ним можно провести сортировку, фильтрацию, пагинацию и т.п. или просто запросить весь список. Если у этого объекта запрашивают свойство, то он выдает массив (точнее объект аррейАксесс соответствующих полей у всех его ответов. Так что если у поста вдруг будет много категорий, то мы получим их все. Далее, поскольку индексы у этого массива цифровые, то запрос оунера вызовет магию, и мы для каждой категории получим поле оунер. Опять таки, если у вас оунеров несколько, то оно будет "массивом" всех оунеров. И если у каждого оунера может быть несколько аватар, то мы получим массив этих аватар.
Так что в максимальном варианте это будет массив массивов массивов аватар.
функция-хелпер show столкнувшись с итератором или массивом - применяет к каждой из них метод show, и конкатенирует ответы. Так что у нас получится рекурсивный обход массива и вывод всех аватар всех пользователей.
Заодно и NULL или пустой массив будут проигнорированны, чтобы не вызывать у вас дискомфорта....
Пожалуй единственное слабое звено тут это возможность сделать таксономию у которой может быть значение NULL. Насколько я помню в ВП для этого поставляется категория "Без категории". Но действительно, теоретически такое возможно, и я подумаю что тут лучше возвращать, по возможности не ломая совместимости. По идее пустой итератор как для массива, только пустой должен решить проблему, но не уверен как он будет вести себя в других проверках. В общем есть о чем подумать, спасибо :)
Я вот когда решил уходить из админства, так за два года до ухода уже не трогал виндовые машины а всегда слал подчиненных. потому что уже пошли вин7 и т.п., и мне харило изучать что там и где, когда в хрюше всё с закрытыми глазами....
Когда до сих пор если надо восьмерку или десятку поставить или поколупать, то везу машину к себе в отдел где работал.) Нафиг оно мне не надо голову забивать.
Также и другим нафиг не надо было.... Да, у меня там в конторе на одном рабочем компе стоит денвер в котором развернута одна СЭД. Я ее даже на сервак не тянул так-как работают с ней лишь в одном отделе. А уж разворачивать LAMP ради одной програмулинки я не буду. Там вся инфраструктура под виндой.
Именно так всё и начиналось.
Если бы не этот маркетинговый бонус, то нишу винсерверов заняла бы какая-то эпл.)
Нет. Я про всю инфраструктуру. Получить данные комментария не проблема.
А вот как сделать саму страничку на которой будет отображаться только он, и ничего больше?
У меня в голове только один хак вырисовывается - в шаблоне поста сделать проверку, есть ли гет-параметр "комментИД", и если он есть, то не выводить шаблон поста, а выводить шаблон комментария.
Ну и дальше уже прямо в шаблоне запрашивать все нужные данные, чего уж, MVC то тут никогда и не было.
Но это бруталити. И поддерживать потом стороннему человеку будет сложно.---------- Добавлено 22.07.2016 в 14:14 ----------ПС: тему с виндой предлагаю закрыть, вроде как мы по второму кругу пошли уже.
Вы говорили что не внимательно следили, так что я повторюсь коротко:
Ну и третья тема, жЫрная, это как сделать чтобы собственно этот комментарий отображался отдельно. Без костылей. Есть оно в АПИ?
Вот так хочу.---------- Добавлено 22.07.2016 в 13:43 ----------
Лучше знали пользователи, продвинутые пользователи ставшие админами.
Им проще использовать знакомую вин95 поставив на нее какой-то серверный софт, чем разбираться с линухой.
Да еще и в вынь можно спокойно с той же машины искать советы, а тут даже с браузером непонятно что. lynx если не ошибаюсь? Поднять окна? На сервере? При 32мб ОЗУ? Можно, но это лишнее....
В общем популярность окон сделала возможным применение их в несвойственной им среде. А уже потом они подтянулись в важных для сервера вещах.
Ну по крайней мере до того уровня когда это уже не анекдот а осознанный выбор.---------- Добавлено 22.07.2016 в 13:51 ----------
Ну я хз. Если админ-модер и можете аккуратно порезать то я за, а если просто создать новую, но без всего с чего начиналось, то ну нафик.. Тема то себя изжила, ответ на вопрос еще на первой или второй странице.