За последние 24 часа нас посетили 55737 программистов и 1776 роботов. Сейчас ищут 1078 программистов ...

Функция __construct

Тема в разделе "Прочие вопросы по PHP", создана пользователем MaD1K, 17 май 2015.

  1. MaD1K

    MaD1K Новичок

    С нами с:
    12 май 2015
    Сообщения:
    12
    Симпатии:
    0
    Всем привет.
    Ребят помогите
    Вот код:
    Код (Text):
    1. $object = new Tiger();
    2. echo "У тигров есть...<br>";
    3. echo "Meх: " . $object->fur . "<br>";
    4. echo "Полосы: " . $object->stripes;
    5.  
    6. class Wildcat
    7. {
    8.     public $fur;
    9.     function __construct();
    10.     {
    11.         $this->fur = "TRUE";
    12.     }
    13. }
    14. class Tiger extends Wirldcat
    15. {
    16.     public $stripes;
    17.     function __construct()
    18.     {
    19.         parent::__construct();
    20.         $this->stripes = "TRUE";
    21.     }
    22. }
    Код не работает из-за функции __construct, проверил её на наличие, сказано функции не существует, а на моём Zend server версия php 5.5.
    Вопрос как создать эту функцию?
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    что за точка с запятой:
    Код (Text):
    1. function __construct();
    Добавлено спустя 2 минуты 4 секунды:
    и самое главное, что за объявление объекта класса:
    Код (Text):
    1. $object = new Tiger();
    2. echo "У тигров есть...<br>";
    3. echo "Meх: " . $object->fur . "<br>";
    4. echo "Полосы: " . $object->stripes;
    ДО определения самого класса

    Добавлено спустя 42 секунды:
    может ты на работе сначала получаешь зарплату, а потом работаешь? или может на оборот?
     
  3. MaD1K

    MaD1K Новичок

    С нами с:
    12 май 2015
    Сообщения:
    12
    Симпатии:
    0
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    т.е. там сначала идет в коде:
    Код (Text):
    1.     $object = new Tiger();
    2.     echo "У тигров есть...<br>";
    3.     echo "Meх: " . $object->fur . "<br>";
    4.     echo "Полосы: " . $object->stripes;
    а потом:
    Код (Text):
    1. class Wildcat
    2. {
    3.    public $fur;
    4.    function __construct();
    5.    {
    6.       $this->fur = "TRUE";
    7.    }
    8. }
    9. class Tiger extends Wirldcat
    10. {
    11.    public $stripes;
    12.    function __construct()
    13.    {
    14.       parent::__construct();
    15.       $this->stripes = "TRUE";
    16.    }
    17. }
    или может на оборот?

    а если не на оборот, что в книге не бывает опечаток?

    короче поменяй местами и попробуй.
     
  5. MaD1K

    MaD1K Новичок

    С нами с:
    12 май 2015
    Сообщения:
    12
    Симпатии:
    0
    Если поменять местами, тогда класс Wildcat не найден.
     
  6. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    о боже, значит наверное тут показан не весь код и где то выше есть еще создание объекта класса Wildcat, до объявления класса

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