anonymous@RULINUX.NET~# | Last login: 2024-12-26 00:42:33 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Web-development | [RSS] |
Вот думаю как реализовать функционал разметки в движке. Сейчас просто подключается файл и из него вызывается функция str2html. В новом же движке я хочу заюзать паттерн mixins для добавления в сущность Mark примесей с различной разметкой. Вроде бы в php появилась поддержка этого паттерна на уровне языка. Так называемые трейты. Как вы думаете насколько это будет красиво? Может у кого-то есть другие идеи?
Tux-oid(*) (2012-07-03 21:57:20)
Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1
|
|
|
Скрыть
Re:[rulinux-symfony]РазметкаХЗ, что-то первый раз слышу об этом. Я бы использовал патерн драйвер (вроде так это называется). Суть есть несколько классов с единым интерфейсом. Типо в интерфейсе есть метод рендер. При отображении смотрица какой метод разметки использовать, выбирается соответ класс, создается объект, вызывается метод рендер. Ax-Xa-Xa(*)(2012-07-04 01:01:13)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5 |
Tux-oid(*)(2012-07-04 09:40:45)
Отредактировано Tux-oid по причине "не указана" Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1 |
Скрыть
Re:[rulinux-symfony]РазметкаИ какие преимущества у этого кода? А класс Марк - он всегда будет иметь захардкоженное "use bbcode;" или как он его будет определять? |
Скрыть
Re:[rulinux-symfony]РазметкаИ какие преимущества у этого кода? А я и не говорил что у него есть какие-то приимущества. Просто это первое что пришло мне в голову. И я спрашиваю насколько это красиво и есть ли какие-нибудь алтернативные решения поэлегантнее. А класс Марк - он всегда будет иметь захардкоженное "use bbcode;" или как он его будет определять? Используемый трейт можно будет хранить например в свойстве и юзать примерно так: Tux-oid(*)(2012-07-04 11:47:27)
Отредактировано Tux-oid по причине "не указана" Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1 |
Скрыть
Re:[rulinux-symfony]РазметкаПринципиальной разницы между тем, что предлагаешь ты, и тем, что написал Ax-xa-xa, нет. И так и так название нужной разметки определяется в рантайме. |
Скрыть
Re:[rulinux-symfony]РазметкаВ принципе этот рендер - просто функция от двух аргументов: на входе текст и формат, на выходе - результат работы функции. Если тебе больше ничего от неё не надо - непонятно зачем городить вышеописанный огород. (ну на самом деле понятно - тебя явно тянет попробовать новые плюшки :) ). Если тебе что-то ещё нужно - то непонятно что именно. А бесцельное немотивированное усложнение кода всегда некрасиво ибо красиво то, что функционально. |
Скрыть
Re:[rulinux-symfony]РазметкаНу так если это огород предложи вариант попроще. Но только так чтобы впоследствии по желанию можно было добавить новую разметку из админки не правя код самого движка? Tux-oid(*)(2012-07-04 13:33:22)
Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1 |
Скрыть
Re:[rulinux-symfony]Разметка>А чтобы не огрести массу косяков.
|
Скрыть
Re:[rulinux-symfony]РазметкаНу так не просто так же книга у Страуструпа начинается со слов "Веревка достаточной длины, чтобы выстрелить себе в ногу". А тут просто как защита от дурака. Tux-oid(*)(2012-07-04 13:40:02)
Отредактировано Tux-oid по причине "не указана" Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1 |
Скрыть
Re:[rulinux-symfony]Разметка>В принципе этот рендер - просто функция от двух аргументов: на входе текст и формат, на выходе - результат работы функции. Если тебе больше ничего от неё не надо - непонятно зачем городить вышеописанный огород. (ну на самом деле понятно - тебя явно тянет попробовать новые плюшки :) ). Если тебе что-то ещё нужно - то непонятно что именно. А бесцельное немотивированное усложнение кода всегда некрасиво ибо красиво то, что функционально.
|
Скрыть
Re:[rulinux-symfony]Разметка> Если у рендера есть какой-то общий код, одинаковый для всех разметок, например, некая инициализация..
|
Скрыть
Re:[rulinux-symfony]Разметка> Ну так если это огород предложи вариант попроще.
> Но только так чтобы впоследствии по желанию можно было добавить новую разметку из админки не правя код самого движка? В последствии подкладываешь в lib/my_formats/ файлы с названием <имя_формата>.php с содержимым вида .. ну, это как пример простого решения |
Скрыть
Re:[rulinux-symfony]РазметкаЭто примерно то как сделано у меня сейчас. Но это же не ынтерпрайзно, не в стиле симфонии :) А если серьезно то сущность с описанием разметок все равно придется хранить, так-что особой разницы тут нет. Tux-oid(*)(2012-07-04 16:41:21)
Отредактировано Tux-oid по причине "не указана" Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1 |
Скрыть
Re:[rulinux-symfony]Разметка> return require 'lib/my_formats/'.$format_name.'.php';
Ax-Xa-Xa(*)(2012-07-04 16:59:10)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5 |
Скрыть
Re:[rulinux-symfony]РазметкаАга, отбивают руки, приговаривая: "учи паттерны и делай через жопу сцуко!" |
Скрыть
Re:[rulinux-symfony]Разметка> Ага, отбивают руки, приговаривая: "учи паттерны и делай через жопу сцуко!"
Ax-Xa-Xa(*)(2012-07-04 18:56:28)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5 |
Скрыть
Re:[rulinux-symfony]Разметка> если кто-то по запаре не туда сохранил или переложил файл
|
Скрыть
Re:[rulinux-symfony]Разметка>... то это уже вторая функция, и если она разделяет какие-то данные с рендером, то тут да, логично их упаковать в один общий класс. Жаль только, что мы об этом из ТЗ не знаем :)
|
Скрыть
Re:[rulinux-symfony]Разметка> напиши в тетрадке аббревиатуру "KISS" 300 раз в столбик.
anonymous(*)(2012-07-04 21:57:29)
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.0.13.328_10008910) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true |
Скрыть
Re:[rulinux-symfony]Разметка> А тебе задание написать над чем ты работаешь, сколько человек в твоей команде и сколько тебе за это платят?)))
|
Скрыть
Re:[rulinux-symfony]Разметка> команде около тысячи человек
anonymous(*)(2012-07-04 23:05:04)
Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; ThL V9 Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 |
Скрыть
Re:[rulinux-symfony]Разметка> Я работаю над ошибками горе-программистов и горе-администраторов.
anonymous(*)(2012-07-04 23:26:21)
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.0.13.328_10008910) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true |
Скрыть
Re:[rulinux-symfony]РазметкаКак какие есно сайты миллионики (разве интерпрайзы в тысячу рыл занимаются чем-меньшим?)))? Или таки спизнул нам тут?))) anonymous(*)(2012-07-04 23:29:02)
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.0.13.328_10008910) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true |
Скрыть
Re:[rulinux-symfony]РазметкаТем более интерено, чем пыхер с таким убогим кругозором может учить пргеров и сисадминов.))) anonymous(*)(2012-07-04 23:32:10)
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.0.13.328_10008910) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true |
Скрыть
Re:[rulinux-symfony]Разметка> Я не говорил, что я пыхер с опытом :)
anonymous(*)(2012-07-04 23:34:49)
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.0.13.328_10008910) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true |
spaceivan(*)(2012-07-04 23:43:23)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1 |
Скрыть
Re:[rulinux-symfony]Разметка> А как душал, как дышал (с), когда давал советы по пыху, опытным пыхерам.))))
|
Скрыть
Re:[rulinux-symfony]Разметка> В этом случае у тебя отработает ветка, которую я пометил как "// ERROR! File Not found! Do something!"
Ax-Xa-Xa(*)(2012-07-04 23:45:43)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5 |
Скрыть
Re:[rulinux-symfony]Разметка> Мух-ха-ха! По моему комментарии излишни)))
|
Скрыть
Re:[rulinux-symfony]РазметкаВозрражать я ничего не собираюсь. Таких горе "специалистов по всему исповедующих KISS" я за 20 лет повидал предостаточно. Беседовать с вами как правило бесмолезно и заканчивается это чаще всего так: "Ну все, давай, досвидания. Не забудь обходной подписать".))) anonymous(*)(2012-07-05 09:17:35)
Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; ThL V9 Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 |
Скрыть
Re:[rulinux-symfony]РазметкаДоставляющая паста. Здравствуйте. Меня зовут Вячеслав, мне 22 года и я пхп программист. Я сижу на пхп с 18 лет. Первый раз я попробовал пхп с другом. Мы сидели, обсуждали веб-технологии и тут он сказал, что недавно пробовал пхп. Он предложил попробовать мне. Поначалу я не согласился, ведь это пхп, я слышал много плохих слухов про него, слышал, что он вызывает зависимость. Но друг настаивал, говорил, что в жизни нужно попробовать все и я сдался. Он предложил бесплатный скрипт, выводящий «Hello world!». Он казался совсем безобидным, но как потом оказалось, я уже не мог остановиться. Уже очень скоро благодаря пхп я попробовал свою первую cms. Это сейчас я понимаю, насколько опасным был этот шаг, но тогда я ничего не понимал, и мне это нравилось. Я не заметил, как после первой испробованной cms, мне уже захотелось написать свою. Дальше было только хуже. Я уже рискнул попробовать кое что потяжелее. Я решил попробовать свой первый фреймворк. Это было прекрасно. Но это была дорога в никуда. На тот момент родственники уже отчаялись мне помочь, а моя девушка узнав, что я использую пхп бросила меня. Я все больше отдалялся от своих друзей и родных, мое окружение составляли такие же пхп-программисты как и я. Мы собирались у одного в квартире, подключались к серверу и совместно программировали, используя пхп и фреймворки. Я попал в этот капкан пхп и теперь не могу самостоятельно избавиться от этого, моя жизнь сломана. Если бы мог вернуться в то время, я бы все исправил, и никогда не купился на эту уловку. Написано под воздействием тяжелой трудовой недели. anonymous(*)(2012-07-05 16:16:01)
Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20120615 Firefox/13.0.1 SeaMonkey/2.10.1 |
Скрыть
Re:[rulinux-symfony]РазметкаСорри. Мне показалось что это ответ на http://rulinux.net/thread_37566_page_1#msg146421. Невнимательность. :) Tux-oid(*)(2012-07-05 16:48:45)
Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1 |
Скрыть
Re:[rulinux-symfony]Разметка> Не сцы, мы не уволим тебя с рулинукса за это.
Ax-Xa-Xa(*)(2012-07-05 16:56:31)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5 |
Скрыть
Re:[rulinux-symfony]РазметкаЧто-то ты меня запутал в корягу.. Предлагаю вернуться к сути обсуждения: рассмотреть варианты реализации фнкционала, предложенные Тюксоидом и аргументированно выбрать оптимальный. |
Скрыть
Re:[rulinux-symfony]РазметкаСделать с помощью трейтов не получится потому-что симфония еще не умеет работать с php 5.4. По крайней мере версия 2.0.xx. Придется ибо реализовывать примеси самому, либо искать другое решение. Tux-oid(*)(2012-07-06 11:26:47)
Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1 |
Tux-oid(*)(2012-07-06 17:08:52)
Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1 |
anonymous(*)(2012-07-17 12:00:30)
Mozilla/5.0 (X11; Linux i686) KHTML/4.8.4 (like Gecko) Konqueror/4.8 Fedora/4.8.4-5.fc16 |
Tux-oid(*)(2012-07-17 12:02:51)
Отредактировано Tux-oid по причине "не указана" Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1 |
|
|
|
Этот тред читают 6 пользователей: |
Анонимных: 6 Зарегистрированных: 0 |
Re:[rulinux-symfony]Разметка
о_О
Сначала показалось что все эти слова являются обычным плодом шизофазии Вильфреда..