ФорумПрограммированиеPHP для идиотов → класс registry применительно к мемкешу

класс registry применительно к мемкешу

  • soul

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

    Spritz 25 января 2010 г. 11:02, спустя 8 минут 29 секунд

    а остальные вопросы? два последних важны.
    а то у всех одинаковые синглтоны и сухие примеры.
    раз не отвечаете, вроде значит я прав.
  • Trej Gun

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

    Spritz 25 января 2010 г. 11:22, спустя 20 минут 25 секунд

    Абырвалг, то что ты не видишь не значит что никто не видит
  • Шурикен

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

    Spritz 25 января 2010 г. 11:29, спустя 6 минут 37 секунд

    в примере дурацкая ошибка $_instance
    нехуй копипастить

    скопипастил, потому, что вот этот не работал
    class Logger{

    static private $instance=NULL;

    static function getInstance()
    {
    if (self::$instance==NULL){
    self::$instance==new Logger();
    }
    return self::$instance;
    }

    function Log($str)
    {
    echo $str;
    }

    }

    Logger::getInstance()->log('bla');

    а здесь что??
  • Trej Gun

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

    Spritz 25 января 2010 г. 11:29, спустя 13 секунд

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

    кароче делай себе $i++ все нормально

    Объекты это не только атомарные инстанции типа Страница и Пользователь (bean) которые содержат в себе набор полей и ничего кроме этого не знают и не умеют

    Это нормальный код просто организованый по определенным правилам


    какое тогда отличие синглтона от регистри, кроме как в реализации?

    синглтон позволяет получить только один инстанс

    регистр (как он был придуман в java) позволяет получить быстрый доступ к часто используемым объектам
    что бы каждый раз не резолвить их через JNDI

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

    регистр обычно реализовывает синглтон

    3 - да
  • Абырвалг

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

    Spritz 25 января 2010 г. 11:35, спустя 6 минут 2 секунды


    Абырвалг, то что ты не видишь не значит что никто не видит


    Так в чем его удобство?
  • NRG

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

    Spritz 25 января 2010 г. 11:46, спустя 10 минут 44 секунды


    Так в чем его удобство?

    регистр (как он был придуман в java) позволяет получить быстрый доступ к часто используемым объектам
    что бы каждый раз не резолвить их через JNDI

    регистр как он есть в пхп просто знает ссылку на любой объект и может быстро ее вернуть
  • Абырвалг

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

    Spritz 25 января 2010 г. 11:53, спустя 7 минут 37 секунд

    ну, допустим. А Database::insance() что делает? Тоже быстро возвращает ссылку на свою инстанцию. В случае, если таковая [инстанция] отсутствует - создаст ее.

    Не понимаю, не понимаю. Реестр же не порождающий, он только хранит. То есть я должен сначала проверить в нем наличие ссылки и при ее отсутствии создать объект?
    <?php
    if (!Registry::has('database'))
    Registry::save('database', new Database());


    Объясните дураку.
  • Trej Gun

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

    Spritz 25 января 2010 г. 12:06, спустя 12 минут 34 секунды

    NRG, не старайся, это бестолку
    Спустя 237 сек.
    Абырвалг,

    на тебе простой код


    class MyClass{
    public function __constructor(){
    /*тут ничего писать не надо*/
    }
    public function myMethod(){

    }
    }

    class Database {
    public function execute($sqlQuery)
    /*магия*/
    return $result;
    }


    напиши мне метод который получит из БД пользователя не ставя класс MyClass в зависимость от класса Database
    потому что я потом захочу поменять Database на Adodb
  • phpdude

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

    Spritz 25 января 2010 г. 12:15, спустя 9 минут 24 секунды


    NRG, не старайся, это бестолку
    Спустя 237 сек.
    Абырвалг,

    на тебе простой код


    class MyClass{
    public function __constructor(){
    /*тут ничего писать не надо*/
    }
    public function myMethod(){

    }
    }

    class Database {
    public function execute($sqlQuery)
    /*магия*/
    return $result;
    }


    напиши мне метод который получит из БД пользователя не ставя класс MyClass в зависимость от класса Database
    потому что я потом захочу поменять Database на Adodb



    <?
    /*магия*/

    print_r($user);

    написал :)
    Сапожник без сапог
  • Trej Gun

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

    Spritz 25 января 2010 г. 12:16, спустя 47 секунд

    phpdude, шаман
  • phpdude

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

    Spritz 25 января 2010 г. 12:17, спустя 1 минуту 19 секунд


    phpdude, шаман
    из контекста следует, что МАГ :)
    Спустя 13 сек.
    хы, чай заварился, сичас наебнем!
    Сапожник без сапог
  • Trej Gun

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

    Spritz 25 января 2010 г. 12:25, спустя 7 минут 16 секунд

    точно! чай!
  • phpdude

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

    Spritz 25 января 2010 г. 12:28, спустя 3 минуты 42 секунды


    точно! чай!
    уже выпил :(

    пошел еще заварю)
    Сапожник без сапог
  • Trej Gun

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

    Spritz 25 января 2010 г. 12:29, спустя 42 секунды

    я его час назад закипать поставил…
  • phpdude

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

    Spritz 25 января 2010 г. 12:32, спустя 3 минуты 16 секунд


    я его час назад закипать поставил…
    хуйня, я холодный пью обычно - потому что ставлю, завариваю и забываю про него часа на 4, сейчас повезло, всего на полчаса забыл. тепленький с молоком пил ))))))))))))))
    Сапожник без сапог

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