ФорумПрограммированиеPHP для идиотов → __construct() - помогите разобраться

__construct() - помогите разобраться

  • Roller

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

    Spritz 17 августа 2009 г. 4:04

    с классами начал работать не так давно.
    вроде уже вкуриваю, что к чему.

    но вот __construct()
    в классах не совсем понятна.

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

    в инете сухо описано.
  • md5

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

    Spritz 17 августа 2009 г. 4:08, спустя 3 минуты 42 секунды

    OOP __construct
    Спустя 10 сек.
    блять, http://www.google.ru/search?q=OOP+__construct
    все умрут, а я изумруд
  • NRG

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

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

    Spritz 17 августа 2009 г. 4:45, спустя 36 минут 26 секунд

    в инете мокро написано

    а тут гавно, да
    все умрут, а я изумруд
  • LIFF

    Сообщения: 188 Репутация: N Группа: Адекваты

    Spritz 17 августа 2009 г. 4:10, спустя 23 часа 24 минуты 28 секунд

  • NRG

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

    Spritz 17 августа 2009 г. 4:11, спустя 1 минуту 6 секунд


    в инете мокро написано

    простейший пример
    $obj = new ClassName('lalala');

    ClassName {
    function __construct($lalala)
    {
    return(md5($lalala));
    }
    }

    в конструкторе ретурн ?
  • adw0rd

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

    Spritz 17 августа 2009 г. 4:13, спустя 2 минуты 35 секунд

    но вот __construct()
    в классах не совсем понятна.
    для передачи инициализирующих объект параметров

    Например, класс для работы с файлом mp3:


    class mp3
    {
       public function __construct($filename)
       {
            $this->filename = $filename;
       }

       private $filename = '';
    }



    $mp3 = new mp3('/path/to/file.mp3');
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • md5

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

    Spritz 17 августа 2009 г. 4:17, спустя 3 минуты 58 секунд



    в инете мокро написано

    простейший пример
    $obj = new ClassName('lalala');

    ClassName {
    function __construct($lalala)
    {
    return(md5($lalala));
    }
    }

    в конструкторе ретурн ?
    ээээ бля)
    пример гавно, да)
    все умрут, а я изумруд
  • Roller

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

    Spritz 17 августа 2009 г. 4:21, спустя 3 минуты 56 секунд


    то-есть смысл такой, что при помощи __construct() мы можем обращаться к функциям внутри класса, через сам класс , так или я опять чета не поял?
  • Batler

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

    Spritz 17 августа 2009 г. 4:24, спустя 2 минуты 32 секунды


    то-есть смысл такой, что при помощи __construct() мы можем обращаться к функциям внутри класса, через сам класс , так или я опять чета не поял?

    Смысл такой, что при создании объекта АВТОМАТОМ будет вызываться метод __construct().
  • adw0rd

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

    Spritz 17 августа 2009 г. 4:26, спустя 2 минуты 30 секунд



    то-есть смысл такой, что при помощи __construct() мы можем обращаться к функциям внутри класса, через сам класс , так или я опять чета не поял?
    это КОНСТРУКТОР, он предназначен для инициализации… а передавать ему данные надо, без которых объект будет пустышкой
    Спустя 18 сек.
    Ты можешь его и не использовать вовсе
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Roller

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

    Spritz 17 августа 2009 г. 4:35, спустя 8 минут 21 секунду




    то-есть смысл такой, что при помощи __construct() мы можем обращаться к функциям внутри класса, через сам класс , так или я опять чета не поял?
    это КОНСТРУКТОР, он предназначен для инициализации… а передавать ему данные надо, без которых объект будет пустышкой
    Спустя 18 сек.
    Ты можешь его и не использовать вовсе


    ясно, спасибо.

    я поначалу думал что этот конструктор создает функции на лету )))
    типа

    __construct($name) и получается новая виртуальная функция function $name()
    я ошибался)

    все разжували всем спасибо
  • Trej Gun

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

    Spritz 17 августа 2009 г. 4:43, спустя 8 минут 53 секунды


    в инете мокро написано

    простейший пример
    $obj = new ClassName('lalala');

    ClassName {
    function __construct($lalala)
    {
    return(md5($lalala));
    }
    }

    тебе за такое жирный минус нужен
  • md5

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

    Spritz 17 августа 2009 г. 4:45, спустя 1 минуту 21 секунду

    CTAPbIu_MABP, въеби
    все умрут, а я изумруд
  • NRG

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

    Spritz 17 августа 2009 г. 4:50, спустя 5 минут 24 секунды

    я поначалу думал что этот конструктор создает функции на лету )))
    типа

    __construct($name) и получается новая виртуальная функция function $name()
    я ошибался)

    этим занимается волшебный метод _call()

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