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

Проблемы с конструктором

  • fenix

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

    Spritz 23 февраля 2010 г. 11:14

    Есть два класса, причем один расширяет другой. Есть такой конструктор:

    function __construct($data_array){
    $this -> data = $data_array;
    //Тестируем
    foreach ($this -> data as $param){
    print $param.&quot;<br>&quot;;
    }
    }

    Если он размещен в главном классе, а в дочернем написанно &quot;parent::__construct();&quot; то выдается такая ошибка:

    Warning: Missing argument 1 for Controller::construct(), called in S:\home\dev\www\system\controllers\blog.php on line 9 and defined in S:\home\dev\www\system\controller.php on line 8
    Notice: Undefined variable: data_array in S:\home\dev\www\system\controller.php on line 9

    blog.php on line 9 - это строка &quot;parent::__construct();&quot;
    controller.php on line 8 - функция в главном классе

    Но, если разместить код конструктора в сам дочерний класс то все работает.
    Объясните пожалуйста из-за чего это может быть и как это исправить.
  • NRG

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

    Spritz 23 февраля 2010 г. 11:18, спустя 3 минуты 54 секунды

    Объясните пожалуйста из-за чего это может

    Missing argument 1 for Controller::construct()

    ни о чем не говорит ?
    если о чемто говорит, то на вопрос
    как это исправить

    вы сможете ответить сами
  • Ewg777

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

    Spritz 23 февраля 2010 г. 11:18, спустя 4 секунды

    Всё верно. Вы вызываете конструктор без аргумента.
  • fenix

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

    Spritz 23 февраля 2010 г. 11:24, спустя 6 минут 9 секунд

    Как раз таки с аргументом. Вот в че проблема.
  • NRG

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

    Spritz 23 февраля 2010 г. 11:28, спустя 3 минуты 47 секунд

    ну так вы наверное покажите как вы его там вызываете…
  • fenix

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

    Spritz 23 февраля 2010 г. 11:32, спустя 3 минуты 37 секунд

    <?php 
    class blog extends Controller {

    function __construct($data_array){
    /*$this -> data = $data_array;
    foreach ($this -> data as $param){
    print $param.&quot;<br>&quot;;
    }*/
    parent::construct();
    }
    }

    ?>



    <?php

    class Controller {

    protected $data = array();


    function construct($data_array){
    $this -> data = $data_array;
    foreach ($this -> data as $param){
    print $param.&quot;<br>&quot;;
    }
    }


    }

    ?>

  • phpdude

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

    Spritz 23 февраля 2010 г. 11:34, спустя 2 минуты 39 секунд


    <?php 
    class blog extends Controller {

    function __construct($data_array){
    /*$this -> data = $data_array;
    foreach ($this -> data as $param){
    print $param.&quot;
    &quot;;
    }*/
    parent::construct();
    }
    }

    ?>



    <?php

    class Controller {

    protected $data = array();


    function construct($data_array){
    $this -> data = $data_array;
    foreach ($this -> data as $param){
    print $param.&quot;
    &quot;;
    }
    }


    }

    ?>


    спасибо, поплакал
    Сапожник без сапог
  • NRG

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

    Spritz 23 февраля 2010 г. 11:35, спустя 23 секунды

    parent::construct();

    ну, а параметры кто передавать будет ?
  • fenix

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

    Spritz 23 февраля 2010 г. 11:38, спустя 2 минуты 59 секунд

    Спасибо.
  • phpdude

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

    Spritz 23 февраля 2010 г. 11:41, спустя 2 минуты 51 секунду


    Спасибо.
    вам спасибо, я правда поплакал :&#39;(
    Сапожник без сапог
  • NRG

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

    Spritz 23 февраля 2010 г. 11:45, спустя 4 минуты 3 секунды



    Спасибо.
    вам спасибо, я правда поплакал :&#39;(
    порыдал ? :D
    или поплакал ? ;( {+++64+++} ТЫ БЕЗДУШНАЯ СКАТИНА ЕСЛИ НЕ ПЛАКАЛ НА ЭТОМ МОМЕНТЕ!!!!11
  • phpdude

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

    Spritz 23 февраля 2010 г. 11:48, спустя 3 минуты 7 секунд

    NRG, ааааа …. не ори на меня я хочу сдохнуть … .ааааа рыдаю аааааААааа!!!! я ЭМО
    Сапожник без сапог
  • fenix

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

    Spritz 25 февраля 2010 г. 8:44, спустя 1 день 20 часов 56 минут


    вам спасибо, я правда поплакал :&#39;(

    Почему?
  • ЗлобныйТролль

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

    Spritz 25 февраля 2010 г. 9:03, спустя 18 минут 56 секунд



    вам спасибо, я правда поплакал :&#39;(

    Почему?


    От умиления, видимо.

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