Тестовое задание на большой кусок времени

grigori

( ͡° ͜ʖ ͡°)
Команда форума
HraKK, это была моя идея - давать ее в виде тестовой задачи ;)

флоппик, 20-40 строк
(но потратили мы на них не 2 часа ...)

Gas решение есть, HraKK мне очень помог недавно с ним

у людей, которые могут ее решить, с получением работы проблемы уже нет, как мне кажется ;)
 

флоппик

promotor fidei
Команда форума
Партнер клуба
grigori, я верю, я сам вчера два часа убил с лишним. Штатными методами без рефлексии вроде нельзя, ибо в принципе не определить, унаследованный это метод или обьявленный в нем. (и вроде HraKK это подтвердил)
 

Gas

может по одной?
Gas решение есть
я ж не говорю что нет, свой вариант (с рефлексией, без неё ничё не придумалось акромя парсинга :) ) вчера показал, хотя HraKK и сказал что есть способ лучше моего.
 

Wicked

Новичок
если есть возможность добавить один метод в "base", то задача решается в 4 строчки, включая сам тот метод :)
 

jonjonson

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

Кстати, памятуя о темплейтах могу предложить обругать темплейты в дле... И ведь ими пользуются люди... Или извращенцы?..
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
а чем плоха рефлексия? :)
идет в стандартной поставке php, используется в smarty
если интересно - выложите ссылки, почитаем, я тож покажу

-~{}~ 19.09.08 16:32:

jonjonson
ты это телепатически узнал - про карму? :)
в т.з. сказано только "древовидный форум", а умение понять задачу правильно - важная часть задания
 

Gas

может по одной?
если интересно - выложите ссылки, почитаем, я тож покажу
ну если HraKK даст добро на публикацию, а то незря он просил в приват всё слать, то я своё выложу и охота посмотреть другие варианты.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Gas
да это не тайна - просто прикольное тестовое задание :)
 

Gas

может по одной?
да это не тайна
Мало ли, естественно любой мыслящий человек сделает, но добра не давали, по-этому не публикую.
А в приват ссылку тебе кинул.
 

HraKK

Мудак
Команда форума
Можете меряться писька) Я не хотел разглашать, чтоб друг у друга не смотрели.
 

Splurov

Новичок
Автор оригинала: grigori
ага, у Gas короче :)

http://phpclub.ru/paste/2166
PHP:
function baseInherit( $className ) {
    $classes = array( new ReflectionClass( $className ) );
    while( false !== ( $className = get_parent_class( $className ) ) ) {
        $classes[] = new ReflectionClass( $className );
    }
    $lastKey = count( $classes ) - 1;
    $methods = array();
    foreach( $classes[ 0 ]->getMethods() as $method ) {
        if ( $classes[ $lastKey ]->hasMethod( $method->getName() ) && $method->getDeclaringClass() != $classes[ $lastKey ] ) {
            $methods[] = $method->getName();
        }
    }
    return $methods;
}
 

HraKK

Мудак
Команда форума
Из всех что пришел ближе всего к нормальному.
 
Сверху