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

непонятки с ООП

  • Абырвалг

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

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

    я вот решил пройти тест от mamba для интереса и вот именно в ответе на мой выше вопрос я стал сомневаться.

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


    проверь, хуле.

    class Foo
    {
     function Foo()
     {
       echo 1;
     }
    }

    $foo = new Foo();


    Справедливости ради стоит заметить, что некоторые любят на собеседованиях спрашивать о различии объектной модели 4 и 5 версий пыха. Вот только не учли, что некоторые с четверкой и не работали.
    Спустя 34 сек.
    Z:\usr\local\php4>php -v
    PHP 4.4.7 (cgi-fcgi) (built: May 4 2007 13:30:00)
    Copyright © 1997-2007 The PHP Group
    Zend Engine v1.3.0, Copyright © 1998-2004 Zend Technologies

    Z:\usr\local\php4>php f.php
    X-Powered-By: PHP/4.4.7
    Content-type: text/html

    1
    Z:\usr\local\php4>
  • phpdude

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

    Spritz 18 июля 2010 г. 22:01, спустя 1 час 32 минуты 30 секунд

    Абырвалг, у тебя тест полный пиздец, копирование переменной != вызовы ее конструктора. учи мат часть

    в пыхе 4 думаю что 2, ибо присваивание - операция копирования в пхп4. в нем

    $a = new ClassName(); = 2

    $a = & new ClassName(); = 1 переменная
    Сапожник без сапог
  • Абырвалг

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

    Spritz 18 июля 2010 г. 22:09, спустя 7 минут 49 секунд

    а, бля, я лоханулся с тестами
  • phpdude

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

    Spritz 18 июля 2010 г. 22:19, спустя 9 минут 26 секунд

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

    будет соовтетственно расход памяти 2 и 4 метра
    Сапожник без сапог
  • Абырвалг

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

    Spritz 18 июля 2010 г. 22:40, спустя 21 минуту 47 секунд

    а ты уверен, что не сработает [abbr="Copy On Write"]COW[/abbr]?
  • phpdude

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

    Spritz 18 июля 2010 г. 22:43, спустя 3 минуты 3 секунды

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

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

    Spritz 18 июля 2010 г. 22:54, спустя 10 минут 58 секунд

    ага! Самое интересное, что уже второй раз с тобой такое)

    Но тогда было подчеркивание а ща нету…
  • md5

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

    Spritz 18 июля 2010 г. 23:12, спустя 17 минут 36 секунд

    COWбои блять)))
    все умрут, а я изумруд
  • phpdude

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

    Spritz 18 июля 2010 г. 23:19, спустя 6 минут 43 секунды

    Абырвалг, не пользуюсь этим словом, поэтмоу не знаю его и будет третий, четвертый и 50ый раз. мне на него просто глухо похуй :)


    там(пыхча4) все данные копируются, попробуй, проведи тест
    Сапожник без сапог
  • krasun

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

    Spritz 18 июля 2010 г. 23:23, спустя 3 минуты 49 секунд


    Если Абырвалг сказал правду, тогда все понятно new ClassName() - это один объект, а $object = new ClassName() - уже два ибо при
    присваивании он копируется.

    в php4 может я бы согласился что будет 2, так как это будет 2 разных переменные в памяти. в php5 $object будет только ссылаться на первую, а не копировать. Эксперт поэтому вопросу где же ты)

    и что не понятного, где проблема?
  • DonDiego

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

    Spritz 18 августа 2012 г. 22:06, спустя 761 день 22 часа 43 минуты

    Как на будущей неделе
    Мы поймали воробья.
    Три недели мясо ели,
    И осталось до хуя

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