All streams
Search
Write a publication
Pull to refresh
24
0
ewgRa @ewgRa

User

Send message
protected возможно и так будет работать (это же не на уровне интерпретатора наследование), надо проверить правда. А под дальнейшим наследованием что имеется ввиду?
Про агрегацию понял. Да, по сути то же самое, только вызовы замаскированы

Со всем остальным тоже полностью согласен. Попытка можно сказать провалилась, может потом как-нибудь возникнет задача, где этот код будет востребован :)
Действительно. Но это вовсе не "call_user_method_array и подобные функции не возвращают by ref", это проблема магического метода __call, который похоже до сих пор не исправили.

http://bugs.php.net/bug.php?id=30959
Собственно вот обновленный, доработанный вариант
http://www.pastebin.ca/928739
<?php
function a( $param )
{
$param = 'b';
}

$p = 'a';
call_user_func_array( 'a', array( &$p ) );
//a( &$p );

var_dump( $p );
?>
Если я правильно понял что вы имели ввиду, попробуйте выполнить:


по поводу агрегации ничего сказать не могу. Не нашел такого шаблона. Дайте ссылку
не заметил приписки про 7 дней, видимо придется вставить код здесь, но здесь он очень плохо будет смотреться...
ага, мне тут уже человек сказал что там около 15 правил наследования.
Мы тут в принципе обсуждаем необходимость множественного наследования как такового. Я когда начинал программировать сталкивался с ситуацией когда хочется унаследоваться от двух классов, сейчас уже таких желаний не возникает, может и не нужно тогда множественное наследование.


А вообще этот код написал вспоминая вопрос на одном из собеседований, типа надо унаследоваться от двух классов, как это лучше организовать
"Требует доработки скорее всего, пока что только набросок на будущее"

Как минимум надо еще __set, __get для переменных классов, ну и как вы правильно заметили, еще необходимо научить класс (скорее всего это будут какие-то соглашения), когда оба наследуемых класса реализуют один метод, или когда оба класса имеют одну и ту же переменную. В общем нюансы есть, возможно нужно посмотреть как эти ситуации разрешаются в том же С++, где множественное наследование вроде бы как есть.
Если вы про Factory, то (может я тоже ошибаюсь, не особо силен в шаблонах) вы не правы.
http://php.ru/manual/language.oop5.patte…. Там есть Factory Pattern пример.
Ну предыстория такая. Мне как-то рассказали про сайт, который по вводимой ссылке говорит, посещался ли он вами или нет. Вся соль метода заключалась в том, чтобы создать в документе вводимый линк и посмотреть какой стиль браузер на него вешает. Если стиль a:visited (то есть посещалась ссылка) значит сайт посещался.

Исходя из этого я решил использовать браузер и для ресайза. Зачем нам высчитывать что-то, если достаточно смоделировать ситуацию и браузер все отрисует сам, а мы только подгоним все. Код примерно так выглядит (нуждается в оптимизации и в проверке в других браузерах несомненно, меня устроил и такой вариант):
function adjustTextareaHeight( textarea_object )
{
var textarea_for_autosize = DOM.getElementById( 'textarea_for_autosize' );
textarea_for_autosize.style.width = textarea_object.offsetWidth + 'px';
textarea_for_autosize.style.height = '10px';
textarea_for_autosize.value = textarea_object.value;
if( textarea_for_autosize.offsetHeight != textarea_for_autosize.scrollHeight ) textarea_for_autosize.style.height = textarea_for_autosize.scrollHeight + 'px';
textarea_object.style.height = textarea_for_autosize.offsetHeight + 'px';
if( textarea_object.offsetHeight != textarea_object.scrollHeight ) textarea_object.style.height = textarea_object.scrollHeight + 'px';
}


<div style="width: 0px; height: 0px; overflow: hidden">
<textarea id="textarea_for_autosize"/>
</div>


<textarea name="comment" style="height: 10px; overflow: hidden;" onKeyUp="adjustTextareaHeight(this);">
</textarea>
ничего из топика толком не понятно, видимо что-то пропустил.

по самому скрипту. там высчитывается cols, при этом как я понял все завязывается на ширине одной буквы - 8 пикселей.

Я когда делал авторесайз сделал скрытый textarea с высотой 10пискелей и шириной такой же, как у вводимого поля. Затем заполнял скрытый контейнер и уже полю ввода присваивал значение scrollHeight. Так мне кажется универсальнее. Правда я особо не тестировал под разные браузеры, но под мозилой работает точно.


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

Стоит ли игра свеч?
кто-то расслабляется плавая в бассейне, кто-то в баре пиво с друзьями пьет, а кто-то на хабре развлекается. думаю если здесь причина не обида за "незаслуженные" минусы, то просто желание поспорить, поговорить, пообщаться... ИМХО конечно, правду узнать бует трудно на самом деле. А вообще проще у него самого спросить :)
уверен, ему безразлично получает он плюсы или минусы
а мне надоедает читать в конце/начале каждого комментария: "не минусуйте/плюсаните" кто-нибудь. Раз уж написал свою мысль, какой бы она не была готовься за нее отвечать. Боишься минуснут - не пиши. И попрошайничать плюсы выглядит низко. Хочешь плюсов, напиши развернутый комментарий, приложи силы, покажи мысль.


в чем-то su573 прав насчет "системы", просто он выражает это недипломатичным языком
эх... молодежь...

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

в общем надеюсь обяъснил


просто гениально

Information

Rating
Does not participate
Registered
Activity