ФорумПрограммированиеPHP для идиотовPHP и ООП → Static и __call

Static и __call

  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 22 сентября 2010 г. 3:26

    Здраствуйте! Подскажите пожалуйста как правильно в классе использующем статические методы заставить работать магический метод __call? Метод __callStatic не катит так как нужно сделать под php 5.2.x
  • kostyl

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

    Spritz 22 сентября 2010 г. 3:28, спустя 1 минуту 55 секунд

    wats, никак, юзай 5.3
  • phpdude

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

    Spritz 22 сентября 2010 г. 3:29, спустя 25 секунд

    __call? Метод __callStatic не катит так как нужно сделать под php 5.2.x

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

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 22 сентября 2010 г. 3:31, спустя 2 минуты 53 секунды

    сейчас стараюсь как раз юзать php 5.3 но вот хостеры заразы никак на 5.3 переходить не хотят(
  • kostyl

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

    Spritz 22 сентября 2010 г. 3:33, спустя 2 минуты 3 секунды

    хостеры говонохостеры з 1$ пол года небось да?
    Спустя 54 сек.
    wats, не используй статику - будешь шарить как Фабьен…
    (зы: Кос это не к тебе подъёб, это вообще не подъёб)
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 22 сентября 2010 г. 3:35, спустя 1 минуту 23 секунды

    kostyl, не, 3-4$ в месяц для меня норм, а вот вчера искал, не нашел.
  • Абырвалг

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

    Spritz 22 сентября 2010 г. 3:38, спустя 3 минуты 2 секунды

    (зы: Кос это не к тебе подъёб, это вообще не подъёб)

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

    wats, зачем тебе это понадобилось вообще? Опиши подробнее
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 22 сентября 2010 г. 3:45, спустя 7 минут 20 секунд

    wats, не используй статику - будешь шарить как Фабьен…

    не, ну меня очень прикалывает Class::metod(); даже больше нравится чем my_func(); :D
    Спустя 225 сек.
    wats, зачем тебе это понадобилось вообще? Опиши подробнее

    для красоты и удобства, вот так же намного красивее и понятнее Config::blog('title'); чем Config::get('blog', 'title');
    :)
  • kostyl

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

    Spritz 22 сентября 2010 г. 3:47, спустя 1 минуту 53 секунды

    wats, а чё слабо $config->blog('title') ?
  • krasun

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

    Spritz 22 сентября 2010 г. 3:49, спустя 1 минуту 52 секунды

    А че в блоге не просто $config->title? А че че?
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 22 сентября 2010 г. 3:57, спустя 8 минут 21 секунду

    kostyl, не слабо конечно, просто у меня например __autoload($class) в начале срабатывает, а потом я уже в любом месте, даже в шаблоне вызываю Config::blog('title'); и все.
    Спустя 73 сек.

    А че в блоге не просто $config->title? А че че?

    непонял вопроса?
  • adw0rd

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

    Spritz 22 сентября 2010 г. 4:02, спустя 4 минуты 29 секунд

    Config::instance()->blog('title');

    class Config
    {
       private static $instance;
       public static function instance ()
       {
           if(!self::$instance) {
               self::$instance = new Config;
           }
           return self::$instance;
       }
    }
    Спустя 74 сек.
    привет стасик функшен () {
    }
    adw/0
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz 22 сентября 2010 г. 4:07, спустя 4 минуты 57 секунд

    adw0rd, именно так и хотел сделать, но этот епте instance() бесит меня прямо, зарраза блин, во всех библах и фрамеворках он целыми стаями развелся как паразит :D
  • Абырвалг

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

    Spritz 22 сентября 2010 г. 4:13, спустя 6 минут 35 секунд

    все нормально, так бывает
    Спустя 8 сек.
    Бугагашенька
  • kostyl

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

    Spritz 22 сентября 2010 г. 4:27, спустя 13 минут 52 секунды

    wats, не хочешь instance - есть такой замечательный шаблон monostate
    class Config {
    private static $_data = null;

    public function __get($name)
    {
      if (null === self::$_data ) {
        $this->_load();
      }
      return self::$_data[$name]; //ну короче что бы не распсывать…
    }
    }

    и создавай кучу объектов…
    Спустя 94 сек.
    у меня часто все мапперы так пашут…

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