ФорумПрограммированиеPHP для идиотов → Копирование метода

Копирование метода

  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 16 января 2010 г. 23:31, спустя 26 минут 59 секунд


    +1. Пых заебал.
    может быть ты просто не умеешь его готовить ?
    вот скажи мне, какого хуя у тебя в конструкторе лежит поеботень которую смело можно ложить в геттер ???

    что-то типа того
    <?php
    class Module_Groups_Forum_External
    {
    protected $_groupId = false;

    public function getToken()
    {
    return 'groups/' . $this->getGroupId();
    }

    public function getUrlPrefix()
    {
    return 'groups/' . $this->getGroupId() . '/forum/';
    }

    public function getGroupId()
    {
    if (false === $this->_groupId) {
    $this->_groupId = isset($_GET['groupId']) ? $_GET['groupId'] : null;
    }
    return $this->_groupId;
    }
    }


    почему твой обьект что-то знает о массиве $_GET ???? O_o

    и я вообще понять не могу суть этого класса…
    хуйня какаято, сам смотрит на реквест, геттер/сеттер и пара методов которые делают конкат….

    после таких вещей я не удивляюсь почему люди пишут "+1. Пых заебал."
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 16 января 2010 г. 23:54, спустя 22 минуты 52 секунды

    пых - гавно
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 16 января 2010 г. 23:56, спустя 1 минуту 22 секунды

    и че, многое изменилось? Намного ль лучше стало?
    Спустя 55 сек.
    тоже мне, нашел к чему прицепиться что б пых защитить)
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 17 января 2010 г. 0:04, спустя 8 минут 40 секунд

    Родитель не может вызвать метод, переписанный в ребенке.


    как ты себе это представляешь?
    вот так все работает пишет два раза "B::B"

    abstract class A {
    public function methodA(){
    $this->methodB();
    }
    public function methodB(){
    echo "A::B";
    }
    }

    class B extends A{
    public function methodB(){
    echo "B::B";
    }
    }

    $a = new B;
    $a->methodA();
    $a->methodB();
    Спустя 89 сек.
    Абырвалг, вот не надо НРГ правду говорит, с точки зрения ООП там хуйня
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 17 января 2010 г. 0:25, спустя 20 минут 53 секунды


    пых - гавно
    в даном контексте не пхп - гавно, а понимание ООП - гавно.

    тоже мне, нашел к чему прицепиться что б пых защитить


    почему твой обьект что-то знает о массиве $_GET ???? O_o

    и я вообще понять не могу суть этого класса…
    хуйня какаято, сам смотрит на реквест, геттер/сеттер и пара методов которые делают конкат….


    это потвоему не аргумент ??
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 17 января 2010 г. 0:30, спустя 4 минуты 49 секунд

    в даном контексте не пхп - гавно, а понимание ООП - гавно.

    ну прости, я не хотел тебя обидеть :*
    Спустя 19 сек.
    меня он по другим приколам вывел, ооп не уперлось :)
    Спустя 28 сек.
    как говорится "хаю, но хуярю" :)
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 17 января 2010 г. 1:27, спустя 56 минут 33 секунды


    Родитель не может вызвать метод, переписанный в ребенке.


    как ты себе это представляешь?
    вот так все работает пишет два раза "B::B"

    я использовал свое "множественное наследование". А в нем родитель не вызывает перегруженный метод.
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 17 января 2010 г. 1:47, спустя 20 минут 43 секунды

    Абырвалг, свое "множественное наследование"

    бредом попахивает, покажи как делал
    Спустя 38 сек.
    и ваще свои баги выдаешь за недостатки пхп… пфффф
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 17 января 2010 г. 9:36, спустя 7 часов 48 минут 47 секунд

    CTAPbIu_MABP, я и не отрицал, что невозможность вызова из родителя перегруженного в потомке метода моя вина.

    А как я его делал - в этой теме описано.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 26 июня 2010 г. 19:44, спустя 160 дней 9 часов 8 минут

    просто я думал, что рефлексия - это такая особая хуйня, которая может абсолютно все. Оказалось, что нет.

    в 5.3 таки можно извне вызывыть protected/private методы при помощи рефлексии. Через getClosure();
    Спустя 178 сек.
    то есть множественное наследование с доступом к protected методам/св-вам в принципе уже реально
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 26 июня 2010 г. 19:44, спустя 8 секунд

    в 5.3 таки можно извне вызывыть protected/private методы при помощи рефлексии. Через getClosure();

    и на самом деле это полный пиздец, правильно было бы - возможность узнать что они есть, но нельзя вызвать
    Сапожник без сапог
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 26 июня 2010 г. 20:18, спустя 34 минуты 4 секунды

    не надо этого хотеть, ибо неправильный дизайн классов и всё такое

    Занимаюсь социалкой. Там есть свой форум (допустим class Module_Forum). Есть также группы (class Module_Groups). В группах есть форум (class Module_Groups_Forum). В последнем классе мне нужно наследовать общий форум и переписать пару методов (getToken, getRedirectUrl и проверить, есть ли пользователь в группе). Кроме того есть несколько методов от класса Module_Groups, которые тоже должны присутствовать.


    покажи интерфейсы этих классов и порядок вызова
    не всё полезно, что в swap полезло
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 26 июня 2010 г. 20:46, спустя 27 минут 20 секунд

    не надо этого хотеть, ибо неправильный дизайн классов и всё такое

    да, уже понял, в январе не понимал)

    Я думаю, что логично сделать

    BLM_Groups // контроллер
    {
    __construct()
    {
    // всякие проверки в стиле есть ли у пользователя доступ к этой группе
    // экспорт в глобальный реестр данных о группе и тд.
    }

    process()
    {
    $this->forward('forum'); // вызываем другой модуль
    }
    }
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 28 сентября 2010 г. 14:16, спустя 93 дня 17 часов 30 минут

    нет конечно. посмотреть список и информацию о объектах можно, а делать что угодно с ними … нахуй тогда вообще вводить все эти приваты, протектеды и прочие глупости, ага? :)

    http://www.php.net/manual/en/reflectionmethod.setaccessible.php
    Спустя 21 сек.
    как я понял - сделано для тестирования
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 28 сентября 2010 г. 14:19, спустя 2 минуты 46 секунд

    Абырвалг, все нахуй. после твоего поста точно бросаю пхп :D

    был гавном, есть гавно и будет им. щас вот жангу запущу, аценю кайф и буду на нее дрочить вместо пхп, прощай синик слоник на моей стене
    Спустя 6 сек.
    *синий
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!