Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: вызвать родителя

Сообщения:  [1-6] 

 
 автор: Tonik992   (05.06.2010 в 12:37)   письмо автору
 
   для: Tonik992   (05.06.2010 в 12:23)
 

 
<?php
  
Class {
      protected 
$varB "varB: class B";
    function 
somefunction(){
        echo 
"__B__ somefunction";
        echo 
$this->varB;
        echo 
$this->varA;
        
A::somefunction();
    }
  }

  Class 
extends {
      protected 
$varA "varA: class A";
      protected 
$varB "varB: class A";
    public function 
somefunction(){
        echo 
"__A__ somefunction";
        echo 
$this->varA;
        echo 
$this->varB;
    }
    public function 
some(){
        echo 
"Call function A::some():";
        
parent::somefunction();
    }
  }


  
$c = new A;
  
$c->some();
/*
Что получилось:
Call function A::some():
__B__ somefunction
varB: class A
varA: class A
__A__ somefunction
varA: class A
varB: class A
*/
?>

  Ответить  
 
 автор: Tonik992   (05.06.2010 в 12:23)   письмо автору
 
   для: sl1p   (05.06.2010 в 04:39)
 

Class PageManager{
//..............
public function somefunction()
{}
}

Class Someclass exdents PageManager{
//.............
public function somefunction()
{}
}


В данном случае, ты сможешь делать в классе SOMECLASS:
self::somefunction();
parent::somefunction();


но в классе PageManager нет способа вызвать функцию класса someclass..
Но ты можешь попробовать в классе PageManager определить поле $inher..
И в конструкторе создать экземпляр класса Someclass...
$inher = new Someclass();

p.s. ????
Смысл наследования не в этом

  Ответить  
 
 автор: sl1p   (05.06.2010 в 04:39)   письмо автору
 
   для: Николай2357   (05.06.2010 в 04:09)
 

Я только разбираюсь, нахер сразу оскорбления, тише сеньор:), человек тоже когдато был обезьяной и точно так же держал гранату)

объсню что я делаю, может вы подскажите более правильный вариант

есть класс PageManager который отвечает управление страницей.
В этот класс нужно подключить некий класс управления компонентами страницы.

вобщем в конечном итоге должен быть вызов рода

$PageManager -> ComponentsManager -> someComponent();

из someComponent нужно вызвать PageManager.. как бы это сделать проще, или как задействовать здесь наследование?

  Ответить  
 
 автор: Николай2357   (05.06.2010 в 04:09)   письмо автору
 
   для: sl1p   (05.06.2010 в 03:50)
 

А потом еще штук пять, в кторых еще по разу... Совсем круто будет.
И про наследование не забываем!!!
Ох, граната это, граната. В руках...

  Ответить  
 
 автор: Gubichev   (05.06.2010 в 04:06)   письмо автору
 
   для: sl1p   (05.06.2010 в 03:50)
 

Тупанул

  Ответить  
 
 автор: sl1p   (05.06.2010 в 03:50)   письмо автору
 
 

как сделать чтото типа такого?:)

<?
class {
    
    function 
print_it() {
        echo 
'print';
    }
    
    function 
__construct() {
        
$s = new b;
        
$s -> print_it();
    }
    
}
class 
{
    function 
print_it() {
        
parent::print_it();
    }
}
$a = new a;


т.е. вызвать класс в котором создался под-класс?

  Ответить  

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования