Расширение базового класса

Тема в разделе "Как сделать...", создана пользователем vipTelnet, 17 апр 2014.

  1. vipTelnet

    vipTelnet Постоялец

    Регистр.:
    14 янв 2013
    Сообщения:
    135
    Симпатии:
    11
    Всем привет
    Для простоты понимая я упростил код
    1. Class Simple
    2. {
    3. function edit($arg){
    4. $tpl['content'] = 'content';
    5. echo "<pre>".print_r($tpl, true)."</pre>";
    6. }
    7. }
    8. Class Ex extends Simple
    9. {
    10. function edit($arg = null){
    11. $tpl['js'] = 'js';
    12. parent::edit($arg);
    13. }
    14. }
    15. $ex = new Ex();
    16. $ex->edit();
    Выдает
    Array
    (
    [content] => content
    )
    а где элемент массива из расширяющего класса Ex
    $tpl['js'] = 'js';
    и как правильно его передать в массив $tpl
     
  2. zaregan

    zaregan Постоялец

    Регистр.:
    12 авг 2009
    Сообщения:
    70
    Симпатии:
    41
    1. Class Simple
    2. {
    3. function edit($tpl){
    4. $tpl['content'] = 'content';
    5. echo "<pre>".print_r($tpl, true)."</pre>";
    6. }
    7. }
    8. Class Ex extends Simple
    9. {
    10. function edit($tpl = null){
    11. $tpl['js'] = 'js';
    12. parent::edit($tpl);
    13. }
    14. }
    15. $ex = new Ex();
    16. $ex->edit();
    arg заменил на tpl
     
    Последнее редактирование: 17 апр 2014
  3. vipTelnet

    vipTelnet Постоялец

    Регистр.:
    14 янв 2013
    Сообщения:
    135
    Симпатии:
    11
    я сделал через публичное свойство дочернего класса,
    а та переменная $tpl['js'] просто локальная и она не видна из класса Simple