anonymous@RULINUX.NET~# Last login: 2024-12-26 00:01:45
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

[rulinux-symfony]Разметка

Вот думаю как реализовать функционал разметки в движке. Сейчас просто подключается файл и из него вызывается функция 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

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: [rulinux-symfony]Разметка от Tux-oid 2012-07-03 21:57:20
avatar
Скрыть

Re:[rulinux-symfony]Разметка

о_О
Сначала показалось что все эти слова являются обычным плодом шизофазии Вильфреда..

anonymous(*)(2012-07-03 22:13:27)

[#] [Добавить метку] [Редактировать] Ответ на: [rulinux-symfony]Разметка от Tux-oid 2012-07-03 21:57:20
avatar
Скрыть

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
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от Ax-Xa-Xa 2012-07-04 01:01:13
avatar
Скрыть

Re:[rulinux-symfony]Разметка

это выглядит примерно так

]
trait bbcode
{
        public function render()
        {
                //преобразуем bbcode в html
        }
}

trait tex
{
        public function render()
        {
                //преобразуем tex-mark в html
        }
}

/**
* @ORM\Entity()
* @ORM\Table(name="marks")
*/

class Mark
{
        use bbcode;//tex-mark, wakaba-mark, e.t.c.
        //...
}

$mark = new Mark();
$mark->render();
 

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]Разметка от Tux-oid 2012-07-04 09:40:45
avatar
Скрыть

Re:[rulinux-symfony]Разметка

И какие преимущества у этого кода? А класс Марк - он всегда будет иметь захардкоженное "use bbcode;" или как он его будет определять?

anonymous(*)(2012-07-04 11:40:17)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 11:40:17
avatar
Скрыть

Re:[rulinux-symfony]Разметка

И какие преимущества у этого кода? 

А я и не говорил что у него есть какие-то приимущества. Просто это первое что пришло мне в голову. И я спрашиваю насколько это красиво и есть ли какие-нибудь алтернативные решения поэлегантнее.

А класс Марк - он всегда будет иметь захардкоженное "use bbcode;" или как он его будет определять?

Используемый трейт можно будет хранить например в свойстве и юзать примерно так:

]
class Mark
{
        protected $markTrait;
        $trait = 'RL\MarkBundle\Traits\ '.$this->markTrait;
        use $$trait;
}
 

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]Разметка от Tux-oid 2012-07-04 11:47:27
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Принципиальной разницы между тем, что предлагаешь ты, и тем, что написал Ax-xa-xa, нет. И так и так название нужной разметки определяется в рантайме.

В плане удобства выходит то же самое, т.к. при использовании трейтов можно переопределить только нужные методы в трейте, а без них можно сделать наследование от базового класса с переопределением тех же методов. Так что в данном случае, имхо, делай как тебе кажется более красивым. Я, например, ничего плохого в трейтах пока не вижу.

P.S. Интересно, почему авторы php не решились сделать полноценное множественное наследование?

SystemV(*)(2012-07-04 13:24:28)

Emacs-w3m/1.4.468 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от SystemV 2012-07-04 13:24:28
avatar
Скрыть

Re:[rulinux-symfony]Разметка

А чтобы не огрести массу косяков. Одно только использование "таблицы виртуальных методов" в крестах чего стоит.

Tux-oid(*)(2012-07-04 13:27:36)

Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от Tux-oid 2012-07-04 11:47:27
avatar
Скрыть

Re:[rulinux-symfony]Разметка

В принципе этот рендер - просто функция от двух аргументов: на входе текст и формат, на выходе - результат работы функции. Если тебе больше ничего от неё не надо - непонятно зачем городить вышеописанный огород. (ну на самом деле понятно - тебя явно тянет попробовать новые плюшки :) ). Если тебе что-то ещё нужно - то непонятно что именно. А бесцельное немотивированное усложнение кода всегда некрасиво ибо красиво то, что функционально.

anonymous(*)(2012-07-04 13:30:49)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 13:30:49
avatar
Скрыть

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]Разметка от Tux-oid 2012-07-04 13:27:36
avatar
Скрыть

Re:[rulinux-symfony]Разметка

>А чтобы не огрести массу косяков.
Имхо, косяки, прежде всего, вылазят у тех, кто этим наследованием занимается без меры, устраивая какие-то дикие иерархии с непонятным даже программисту результатом.

SystemV(*)(2012-07-04 13:34:20)

Emacs-w3m/1.4.468 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от SystemV 2012-07-04 13:34:20
avatar
Скрыть

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]Разметка от anonymous 2012-07-04 13:30:49
avatar
Скрыть

Re:[rulinux-symfony]Разметка

>В принципе этот рендер - просто функция от двух аргументов: на входе текст и формат, на выходе - результат работы функции. Если тебе больше ничего от неё не надо - непонятно зачем городить вышеописанный огород. (ну на самом деле понятно - тебя явно тянет попробовать новые плюшки :) ). Если тебе что-то ещё нужно - то непонятно что именно. А бесцельное немотивированное усложнение кода всегда некрасиво ибо красиво то, что функционально.
Если у рендера есть какой-то общий код, одинаковый для всех разметок, например, некая инициализация, проверка на необходимость автоопределения ссылок и т.д., то удобнее его вынести в базовый класс, а при написании разметки переопределять только необходимое.

SystemV(*)(2012-07-04 14:05:09)

Emacs-w3m/1.4.468 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от SystemV 2012-07-04 14:05:09
avatar
Скрыть

Re:[rulinux-symfony]Разметка

> Если у рендера есть какой-то общий код, одинаковый для всех разметок, например, некая инициализация..

... то это уже вторая функция, и если она разделяет какие-то данные с рендером, то тут да, логично их упаковать в один общий класс. Жаль только, что мы об этом из ТЗ не знаем :)

anonymous(*)(2012-07-04 16:08:31)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от Tux-oid 2012-07-04 13:33:22
avatar
Скрыть

Re:[rulinux-symfony]Разметка

> Ну так если это огород предложи вариант попроще.

php
function render($format_name, $text_to_format){
   if(is_file('lib/my_formats/'.$format_name.'.php')){
      return require 'lib/my_formats/'.$format_name.'.php';
   }else{
      // ERROR! File Not found! Do something!
   }
}

 


> Но только так чтобы впоследствии по желанию можно было добавить новую разметку из админки не правя код самого движка?

В последствии подкладываешь в lib/my_formats/ файлы с названием <имя_формата>.php с содержимым вида
php
<?php
/*
 * do something with $text_to_format var and put it int $result
 */


// return the result to caller:

return $result;

?>
 


.. ну, это как пример простого решения

anonymous(*)(2012-07-04 16:25:51)
Отредактировано anonymous по причине "не указана"
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 16:25:51
avatar
Скрыть

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]Разметка от anonymous 2012-07-04 16:25:51
avatar
Скрыть

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]Разметка от Ax-Xa-Xa 2012-07-04 16:59:10
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Ага, отбивают руки, приговаривая: "учи паттерны и делай через жопу сцуко!"

anonymous(*)(2012-07-04 17:17:34)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 17:17:34
avatar
Скрыть

Re:[rulinux-symfony]Разметка

> Ага, отбивают руки, приговаривая: "учи паттерны и делай через жопу сцуко!"
Такой код хорош если ты один делаешь проект. А если толпа от 5-7 человек, то писец если кто-то по запаре не туда сохранил или переложил файл. Или человек который навертел такой код покинул "дружный коллектив".

Начинается Адъ, никто нихера не может понять, в итоге переписывают как положено, добавляют багов, из-за багов проект не успевают сдать вовремя, всем ебут мозги и тд и тп...

Короче проще такого мудака сразу на месте преступления по пальцам линейкой.)))

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]Разметка от Ax-Xa-Xa 2012-07-04 18:56:28
avatar
Скрыть

Re:[rulinux-symfony]Разметка

> если кто-то по запаре не туда сохранил или переложил файл

В этом случае у тебя отработает ветка, которую я пометил как "// ERROR! File Not found! Do something!" - там ты должен отработать ситуацию, например вывести куда следует сообщение о том, что собственно произошло. Чтобы избежать этого:

> никто нихера не может понять

И это решить проще, чем лазать по бесцельно замуженному коду пытаясь угадать что автор хотел выразить всей этой развесистой хуйнёй, в аналогичном случае.

Вообще, на дом тебе задание - напиши в тетрадке аббревиатуру "KISS" 300 раз в столбик. Потом на каждой строчке припиши расшифровку этой аббревиатуры.

anonymous(*)(2012-07-04 19:17:03)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 16:08:31
avatar
Скрыть

Re:[rulinux-symfony]Разметка

>... то это уже вторая функция, и если она разделяет какие-то данные с рендером, то тут да, логично их упаковать в один общий класс. Жаль только, что мы об этом из ТЗ не знаем :)
Я уверен, что такое уж точно будет. То же автовыделение ссылок, например, общее для всех, если задуматься.

SystemV(*)(2012-07-04 20:34:15)

Emacs-w3m/1.4.468 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 19:17:03
avatar
Скрыть

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]Разметка от anonymous 2012-07-04 21:57:29
avatar
Скрыть

Re:[rulinux-symfony]Разметка

> А тебе задание написать над чем ты работаешь, сколько человек в твоей команде и сколько тебе за это платят?)))

Я работаю над ошибками горе-программистов и горе-администраторов. В команде около тысячи человек (если считать менеджеров и уборщиц - множь на два), равномерно распределённых вокруг земного шара. Платят из рук вон плохо, как минимум в два раза меньше, чем я того стою.

anonymous(*)(2012-07-04 22:42:32)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 22:42:32
avatar
Скрыть

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:05:04
avatar
Скрыть

Re:[rulinux-symfony]Разметка

На какие шедевры?

anonymous(*)(2012-07-04 23:25:10)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 22:42:32
avatar
Скрыть

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:25:10
avatar
Скрыть

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:29:02
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Я не говорил что мы промышляем сайтиками :)

anonymous(*)(2012-07-04 23:30:30)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 23:26:21
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Я не говорил, что я пыхер с опытом :)

anonymous(*)(2012-07-04 23:31:36)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 23:30:30
avatar
Скрыть

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:31:36
avatar
Скрыть

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
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 23:34:49
avatar
Скрыть

Re:[rulinux-symfony]Разметка

«Опытный пыхер», даже как-то пошло звучит :)

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]Разметка от anonymous 2012-07-04 23:34:49
avatar
Скрыть

Re:[rulinux-symfony]Разметка

> А как душал, как дышал (с), когда давал советы по пыху, опытным пыхерам.))))

Что тебя беспокоит? Все разработчики стремятся совершать одни и те же ошибки.

anonymous(*)(2012-07-04 23:44:11)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 19:17:03
avatar
Скрыть

Re:[rulinux-symfony]Разметка

> В этом случае у тебя отработает ветка, которую я пометил как "// ERROR! File Not found! Do something!"
> напиши в тетрадке аббревиатуру "KISS" 300 раз в столбик
> Я работаю над ошибками горе-программистов и горе-администраторов.
> Я не говорил что мы промышляем сайтиками :)
> Я не говорил, что я пыхер с опытом :)
Мух-ха-ха! По моему комментарии излишни)))

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]Разметка от anonymous 2012-07-04 23:32:10
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Я не утверждал, что я учу прогеров и сисадминов.

anonymous(*)(2012-07-04 23:46:35)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 23:46:35
avatar
Скрыть

Re:[rulinux-symfony]Разметка

> Я не утверждал, что я учу прогеров и сисадминов.
Да ладно, мы всё понели)))

Ax-Xa-Xa(*)(2012-07-04 23:47:38)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от Ax-Xa-Xa 2012-07-04 23:45:43
avatar
Скрыть

Re:[rulinux-symfony]Разметка

> Мух-ха-ха! По моему комментарии излишни)))

А по-моему тебе просто по существу вопроса возразить нечего :)

anonymous(*)(2012-07-04 23:49:26)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-04 23:49:26
avatar
Скрыть

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]Разметка от Ax-Xa-Xa 2012-07-04 16:59:10
avatar
Скрыть

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]Разметка от anonymous 2012-07-05 09:17:35
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Не сцы, мы не уволим тебя с рулинукса за это.

anonymous(*)(2012-07-05 16:28:38)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-05 16:28:38
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Еще бы вы меня уволили. А кто же вам тогда на халявку код писать то будет? :)

Tux-oid(*)(2012-07-05 16:40:16)
Отредактировано Tux-oid по причине "не указана"
Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20120615 Firefox/13.0.1 SeaMonkey/2.10.1
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от Tux-oid 2012-07-05 16:40:16
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Ах, так вот кто всё это время прикидывался юзверем Ax-Xa-Xa!

anonymous(*)(2012-07-05 16:45:39)

[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-05 16:45:39
avatar
Скрыть

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]Разметка от anonymous 2012-07-05 16:28:38
avatar
Скрыть

Re:[rulinux-symfony]Разметка

> Не сцы, мы не уволим тебя с рулинукса за это.


Специалисты по KISS, такие специалисты. Во всем ищут простоту, но в данном случае всё сложнее))) не забыть подписать обходной должен был KISS-специалист. А то ведь тоже считают его лишней сущностью, до того момента как Эйчары им популярно не объяснят обратное.)))

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]Разметка от Ax-Xa-Xa 2012-07-05 16:56:31
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Что-то ты меня запутал в корягу.. Предлагаю вернуться к сути обсуждения: рассмотреть варианты реализации фнкционала, предложенные Тюксоидом и аргументированно выбрать оптимальный.

anonymous(*)(2012-07-05 20:14:30)

[#] [Добавить метку] [Редактировать] Ответ на: [rulinux-symfony]Разметка от Tux-oid 2012-07-03 21:57:20
avatar
Скрыть

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
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от Tux-oid 2012-07-06 11:26:47
avatar
Скрыть

Re:[rulinux-symfony]Разметка

А чем тебе идея с драйвером не понравилась, заверни это в сервил и получится все супер по симфонийски.)))

php
<?php
interface IMarkup {
  function Render($post);
}

class MarkDown extends IMarkup {
   public function Render($post) { ... }
}

class HTML extends IMarkup { ... }
class Plain extends IMarkup { ... }

class Poster {
  private $markupDrivers = array('md'=>MarkDown, 'html'=>HTML, 'txt'=>Plain);

  public function OutPost($post) {
     renderer = new $markupDrivers[$post->markupType];
     renderer->Render($post);
  }
}
 

anonymous(*)(2012-07-06 17:03:45)

Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от anonymous 2012-07-06 17:03:45
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Сделал наподобие.

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
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от Tux-oid 2012-07-06 17:08:52
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Появилось свободное время. Доделал наконец-то разметку. Вот что получилось:

]
<?php
/**
 * @author Tux-oid
 */


namespace RL\MainBundle\Entity;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="marks")
 * @ORM\InheritanceType("SINGLE_TABLE")
 * @ORM\DiscriminatorColumn(name="content_type", type="string", length=20)
 * @ORM\DiscriminatorMap({"mark"="Mark"})
  */

abstract class Mark
{
        /**
         * @ORM\Id
         * @ORM\Column(name="id", type="integer")
         * @ORM\GeneratedValue(strategy="AUTO")
         */

        protected $id;
        /**
         * @ORM\Column(name="name", type="string", length=256)
         */

        protected $name;
        /**
         * @ORM\Column(name="description", type="text", unique="true", nullable="false")
         */

        protected $description;
        /**
         * @ORM\OneToMany(targetEntity="RL\SecurityBundle\Entity\User", mappedBy="mark")
         */

        protected $users;

        public function __construct()
        {
                $this->users = new \Doctrine\Common\Collections\ArrayCollection();
        }

        /**
         * Get id
         *
         * @return integer
         */

        public function getId()
        {
                return $this->id;
        }
        //...
        abstract public function render($string);
}
 

]
<?php
/**
 * @author Tux-oid
 */


namespace RL\MainBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use RL\MainBundle\Entity\Mark;

/**
 * @ORM\Entity
 *
 */

final class BbCode extends Mark
{

        /**
         * @param $string
         * @return mixed|string
         */

        public function render($string)
        {
                $code = array();
                $lang = array();
                //...
                return $string;
        }
}
 

]
netpositive_discriminator_map:
    discriminator_map:
        mark:
            entity: RL\MainBundle\Entity\Mark
            children:
                texMark: RL\MainBundle\Entity\TexMark
                bbcode: RL\MainBundle\Entity\BbCode
                wakabaMark: RL\MainBundle\Entity\WakabaMark
                baseHtml: RL\MainBundle\Entity\BaseHtml
 

Tux-oid(*)(2012-07-17 11:24:05)
Отредактировано Tux-oid по причине "не указана"
Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120428 Firefox/12.0 SeaMonkey/2.9.1
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от Tux-oid 2012-07-17 11:24:05
avatar
Скрыть

Re:[rulinux-symfony]Разметка

А в базе-то зачем это хранить?

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
[#] [Добавить метку] [Редактировать] Ответ на: Re:[rulinux-symfony]Разметка от Tux-oid 2012-07-17 11:24:05
avatar
Скрыть

Re:[rulinux-symfony]Разметка

Например для этого

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




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!