Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) обращение внутри класса / 25 сообщений из 31, страница 1 из 2
23.06.2009, 19:32
    #36056380
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
Добрый вечер!
Подскажите правильно ли я обращаюсь к методам класса внутри класса (тяжела тема никак не вкурю)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
class myClass {
   private $a= 1 ;
   public function ShowVar(){
      echo $a;                             //может к переменной тоже надо $this->$a ???
   }
   public function PrintVar(){
      $this->ShowVar();              // ???Вот тут не пойму как обратиться к методу класса из другого метода
   }
}
$obj=new myClass();
$a=obj->PrintVar();                  //тут вроде так

phpПсевдо-переменная $this доступна в том случае, когда метод был вызван в контексте объекта. $this является ссылкой на вызываемый объект. Обычно это тот объект, которому принадлежит вызванный метод, но может быть и другой объект, если метод был вызван статически из контекста другого объекта. отсюда Ну никак не переварю что хотели сказать этими словами а посему и $this не особо ясен
Через месяц буду улыбаться с этого вопроса, а пока что нужна помощь.
Спасибо!
...
Рейтинг: 0 / 0
23.06.2009, 19:35
    #36056382
Anjey aka PM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
eualexey,

$this в (НЕ статическом) методе класса содержит ссылку, на экземпляр (объект) класса, для которого метод вызван, в вашем случае это $obj
...
Рейтинг: 0 / 0
23.06.2009, 19:37
    #36056384
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
Anjey aka PM,

А на примере можно?
...
Рейтинг: 0 / 0
23.06.2009, 20:36
    #36056427
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class myClass {
   private $a= 1 ;
   public function ShowVar(){
-      echo $a;                             //может к переменной тоже надо $this->$a ???
+      echo $this->a;
   }
   public function PrintVar(){
      $this->ShowVar();              // ???Вот тут не пойму как обратиться к методу класса из другого метода
   }
}
$obj=new myClass();
$a=obj->PrintVar();                  //тут вроде так
...
Рейтинг: 0 / 0
23.06.2009, 21:43
    #36056484
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
eualexey
Код: plaintext
1.
2.
3.
4.
class myClass {
   private $a= 1 ;
   public function ShowVar(){
      echo $a;                             //может к переменной тоже надо $this->$a ???
   }
Надо.
...
Рейтинг: 0 / 0
23.06.2009, 22:18
    #36056520
an0nym
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
eualexeyAnjey aka PM,

А на примере можно?
Предположим у нас есть такой вот класс
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
class bogus{
	public $a= 1 ;
	public static $b= 2 ;
	
	public function z($a){
		var_dump($a);
		$this->x();
		$this->w();
		self::x();
		self::w();
		var_dump($this->a);
		var_dump($this->b);
		var_dump(self::$a);
		var_dump(self::$b);
	}
	
	public static function y($b){
		var_dump($b);
		$this->x();
		$this->w();
		self::x();
		self::w();
		var_dump($this->a);
		var_dump($this->b);
		var_dump(self::$a);
		var_dump(self::$b);
	}
	
	private function x(){
		echo('x');
	}
	
	private static function w(){
		echo('w');
	}
}
Поочередно рассмотрим следующие вызовы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
bogus::z( 3 );
bogus::y( 4 );
var_dump(bogus::$a);
var_dump(bogus::$b);
$instance=new bogus();
$instance->z( 3 );
$instance->y( 4 );
var_dump($instance->a);
var_dump($instance->b);

bogus::z(3); - ошибка вызова нестатичного метода из статичного контекста (пока что выводит предупреждение и исполняет, в будущих версиях будет полноценной ошибкой)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	public function z($a){
		var_dump($a); // int( 3 )
		$this->x(); // Fatal Error, так как переменная инстанса $this недоступна из статичного контекста
		$this->w(); // аналогично
		self::x(); // ошибка вызова нестатичного метода из статичного контекста
		self::w(); // w
		var_dump($this->a); // Fatal Error, так как переменная инстанса $this недоступна из статичного контекста
		var_dump($this->b); // аналогично
		var_dump(self::$a); // Fatal Error, обращение к переменной контекста инстанса из статичного контекста
		var_dump(self::$b); // int( 2 )
	}

bogus::y(4);
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	public static function y($b){
		var_dump($b); // int( 4 )
		$this->x(); // Fatal Error, так как переменная инстанса $this недоступна из статичного контекста
		$this->w(); // аналогично
		self::x(); // ошибка вызова нестатичного метода из статичного контекста
		self::w(); // w
		var_dump($this->a); // Fatal Error, так как переменная инстанса $this недоступна из статичного контекста
		var_dump($this->b); // аналогично
		var_dump(self::$a); // Fatal Error, обращение к переменной контекста инстанса из статичного контекста
		var_dump(self::$b); // int( 2 )
	}

var_dump(bogus::$a); - Fatal Error, обращение к переменной контекста инстанса из статичного контекста

var_dump(bogus::$b); - int(2)

$instance->z(3);
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	public function z($a){
		var_dump($a); // int( 3 )
		$this->x(); // x
		$this->w(); // w
		self::x(); // x
		self::w(); // w
		var_dump($this->a); // int( 1 )
		var_dump($this->b); // попытка вызова статичной переменной из контекста инстанса, выдается предупреждение и исполнение продолжается, но поскольку переменной нет - выводится NULL
		var_dump(self::$a); // Fatal Error, обращение к переменной контекста инстанса из статичного контекста
		var_dump(self::$b); // int( 2 )
	}

$instance->y(4);
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	public static function y($b){
		var_dump($b); // int( 4 )
		$this->x(); // Fatal Error, попытка использования переменной контекста инстанса из статичного контекста метода
		$this->w(); // аналогично
		self::x(); // x + предупреждение, что нестатичный метод не должен вызываться статично
		self::w(); // w
		var_dump($this->a); // Fatal Error, попытка использования переменной контекста инстанса из статичного контекста метода
		var_dump($this->b); // аналогично
		var_dump(self::$a); // Fatal Error, обращение к переменной контекста инстанса из статичного контекста
		var_dump(self::$b); // int( 2 )
	}

var_dump($instance->a); - int(1)

var_dump($instance->b); - попытка вызова статичной переменной из контекста инстанса, выдается предупреждение и исполнение продолжается, но поскольку переменной нет - выводится NULL
...
Рейтинг: 0 / 0
24.06.2009, 05:52
    #36056648
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
an0nym
Спасибо за разъяснения.
an0nym
$instance->z(3);
Код: plaintext
1.
2.
	public function z($a){                      
		var_dump($this->a); // int( 1 )
	}

Выдает ошибку Fatal error: Using $this when not in object context

То к чему я пока что пришел (после 4 часов общения с мануалом)
способы обращения к константам, свойствам, методам класса, внутри класса, из расширений класса, из-за пределов класса
ДЛЯ ОБРАЩЕНИЯ (ДОСТУП) ИЗ-ЗА ПРЕДЕЛОВ КЛАССА К:
Константам
Код: plaintext
ClassName::constanta;          //1ый способ
свойствам объявленными как public
Код: plaintext
1.
2.
3.
4.
//--если свойство static      
ClassName::$Var;               //1ый способ
//--если свойство НЕ static                            
$obj = new ClassName();        //1ый способ
$var=$obj->var;
методам класса объявленными как public
Код: plaintext
1.
2.
3.
4.
//--если свойство static        
ClassName::method();           //1ый способ
$obj = new ClassName();        //2ой способ
$var=$obj->method();           //--//--

ДЛЯ ОБРАЩЕНИЯ (ДОСТУП) ВНУТРИ КЛАССА К:
Константам
Код: plaintext
self::constanta;
свойствам
Код: plaintext
1.
2.
3.
//--свойствам объявленными как static
self::$var;                    //1ый способ
//--свойствам объявленными как НЕ static
$this->var;                    //1ый способ
методам
Код: plaintext
1.
2.
self::method();                //1ый способ
$this->method();               //2ой способ
Интересно что если ВНУТРИ КЛАССА в МЕТОДЕ Х я получаю доступ через $this к членам класса , то обратиться к МЕТОДУ Х ИЗ-ЗА ПРЕДЕЛОВ класса можно только через объект
Код: plaintext
1.
$obj=new Class();
$obj->methodX();
через конструкцию self:: работают оба способа и через объект и через ::
Если существуют ещё какие либо варианты добавьте пожалуйста.

ДЛЯ ОБРАЩЕНИЯ (ДОСТУП) К РОДИТЕЛЬСКОМУ КЛАССУ К:
к константам
Код: plaintext
parent::constanta;              // 1  cпособ
к свойствам объявленным как public или protected
Код: plaintext
1.
2.
3.
4.
//--свойства объявленные как static
self::$var;                     // 1  cпособ
parent::$var;                   // 2  cпособ
//--свойства объявленные как НЕ static ВООБЩЕ НЕ НАШЕЛ СПОСОБ КАК ИХ ДОСТАТЬ
к методам объявленным как public или protected
Код: plaintext
1.
2.
3.
4.
5.
6.
//--свойства объявленные как static или НЕ static
self::method();                 // 1  cпособ
parent::method();               // 2  cпособ
$this -> method();              // 3  cпособ - если считать что это включено в методX 
                                //то обращение к нему ИЗ ЗА пределов класса 
                                //только через объект $obj->new ClassName(); $obj->methodX();

Что не понятно:
1) Как получить доступ к свойствам родительского класса не являющимися STATIC
2) Как получить доступ к константам, свойствам, методам дочерних классов из родительского - не знаю такое вообще бывает или нет, по логике не должно.
PS Сори за длинный пост.
...
Рейтинг: 0 / 0
24.06.2009, 08:14
    #36056690
an0nym
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
eualexeyan0nym$instance->z(3);
Код: plaintext
1.
2.
	public function z($a){                      
		var_dump($this->a); // int( 1 )
	}

Выдает ошибку Fatal error: Using $this when not in object context
Проверьте еще раз, вроде не должна быть ошибка. Впрочем это уже не сильно важно, вроде вы разобрались в целом.

eualexeyТо к чему я пока что пришел (после 4 часов общения с мануалом)

...

Интересно что если ВНУТРИ КЛАССА в МЕТОДЕ Х я получаю доступ через $this к членам класса , то обратиться к МЕТОДУ Х ИЗ-ЗА ПРЕДЕЛОВ класса можно только через объект
Код: plaintext
1.
$obj=new Class();
$obj->methodX();

$this в данном случае =&$obj, т. е. $this - это референс на instanceof(Class) $obj.
Код: plaintext
1.
2.
3.
4.
5.
6.
<?php class bogus{
	function check(){
		var_dump($GLOBALS['obj']===$this);
	}
}
$obj=new bogus();
$obj->check(); // bool(true) ?>
eualexeyчерез конструкцию self:: работают оба способа и через объект и через ::
self:: по сути говорит "вызвать данный метод/проперти данного класса в данном контексте ", т. е.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php class bogus{
	function check(){
		self::check2();
	}
	
	function check2(){
		
	}
}
bogus::check(); // self::check2() вызовет то же самое, что вызвал бы bogus::check2()
$obj=new bogus();
$obj->check(); // self::check2() вызовет то же самое, что вызвал бы $obj->check2() ?>
self:: и parent:: не совсем то же самое, что статичный вызов имя_класса:: - это "магические" keyword'ы

eualexey ДЛЯ ОБРАЩЕНИЯ (ДОСТУП) К РОДИТЕЛЬСКОМУ КЛАССУ К:
к константам
Код: plaintext
parent::constanta;              // 1  cпособ
к свойствам объявленным как public или protected
Код: plaintext
1.
2.
3.
4.
//--свойства объявленные как static
self::$var;                     // 1  cпособ
parent::$var;                   // 2  cпособ
//--свойства объявленные как НЕ static ВООБЩЕ НЕ НАШЕЛ СПОСОБ КАК ИХ ДОСТАТЬ

К контексту инстанса родителя из контекста инстанса ребенка доступа нет по той причине, что ребенок не наследует конкретный инстанс родителя, он наследует родителя в общем:
Код: plaintext
1.
2.
<?php class parenti{}
class childi extends parenti{}
$obj=new childi(); // создали инстанс ребенка, но инстанса родителя не существует ?>
eualexeyк методам объявленным как public или protected
Код: plaintext
1.
2.
3.
4.
5.
6.
//--свойства объявленные как static или НЕ static
self::method();                 // 1  cпособ
parent::method();               // 2  cпособ
$this -> method();              // 3  cпособ - если считать что это включено в методX 
                                //то обращение к нему ИЗ ЗА пределов класса 
                                //только через объект $obj->new ClassName(); $obj->methodX();

С 3им способом надо быть осторожным. Если method() родителя overriden у ребенка, то $this->method() вызовет метод ребенка, а не родителя. Плюс к этому, если вызовется все таки метод родителя, то $this будет указывать на инстанс ребенка.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<?php class parenti{
	public $variable= 1 ;
	
	function check1(){
		var_dump($GLOBALS['obj']===$this);
		var_dump($this->variable);
	}
}
class childi extends parenti{
	public $variable= 2 ;
	
	function check2(){
		$this->check1();
	}
}
$obj=new childi();
$obj->check2(); // bool(true) int( 2 ) ?>
eualexeyЧто не понятно:
1) Как получить доступ к свойствам родительского класса не являющимися STATIC
2) Как получить доступ к константам, свойствам, методам дочерних классов из родительского - не знаю такое вообще бывает или нет, по логике не должно.
PS Сори за длинный пост.
1. $this->метод_родителя(), если он не overriden у ребенка, но надо быть осторожным с использованием $this в самом методе_родителя() - выше описано почему.
2. Правильно, по логике не должно и не бывает (можно, конечно, самому костылей наставить, но это неправильно с точки зрения архитектуры и затратно с точки зрения дальнейшей поддержки таких классов).
...
Рейтинг: 0 / 0
24.06.2009, 11:33
    #36057019
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
an0nym,
Мозг взорван.
an0nymК контексту инстанса родителя из контекста инстанса ребенка доступа нет по той причине, что ребенок не наследует конкретный инстанс родителя, он наследует родителя в общем:
Комбинация этих слов к сожалению для меня загадка. Как я понял (под инстансом подразумевается в переводе на русский - экзмепляр)
К данным (под которыми подразумеваются: константы, свойства, методы) в классе родителя из класса-потомка доступа нет потому что ......(дальше ума не приложу) слишком специализированно....
Можно более простым языком? и вот тут
an0nym$this в данном случае =&$obj, т. е. $this - это референс на instanceof(Class) $obj.PS
an0nymself:: и parent:: не совсем то же самое, что статичный вызов имя_класса:: - это "магические" keyword'ы тут я не нашел что они "магические". В данном случае под "магическими" подразумевалось то что они особенные или то что они действительно обладают тем же функционалом что магические функции?
Тяжело тема идет, но интересная.
...
Рейтинг: 0 / 0
24.06.2009, 11:54
    #36057106
an0nym
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
eualexeyКомбинация этих слов к сожалению для меня загадка. Как я понял (под инстансом подразумевается в переводе на русский - экзмепляр)
К данным (под которыми подразумеваются: константы, свойства, методы) в классе родителя из класса-потомка доступа нет потому что ......(дальше ума не приложу) слишком специализированно....
Можно более простым языком?
Да, инстансом я экземпляр называю. Мануалы на русском давно не читал. :)
При вызове class::method() - конкретный экземпляр класса не подразумевается, это статичный контекст.
При вызове $instance=new class(); $instance->method() - идет вызов метода экземпляра $instance, не статичный контекст.
Если class - это наследник другого класса parent_class, то $instance=new class(); создает экземпляр только class, но не parent_class. Т. е. при вызове $instance->method() у нас нет экземпляра parent_class, а значит и обратиться к parent_class мы можем только статично.
eualexey и вот тут
an0nym$this в данном случае =&$obj, т. е. $this - это референс на instanceof(Class) $obj.PS
an0nymself:: и parent:: не совсем то же самое, что статичный вызов имя_класса:: - это "магические" keyword'ы тут я не нашел что они "магические". В данном случае под "магическими" подразумевалось то что они особенные или то что они действительно обладают тем же функционалом что магические функции?
Тяжело тема идет, но интересная.
Просто то что они особенные, отличные от простого статичного вызова имя_класса::метод_или_свойство. По ссылке "магические" методы.
...
Рейтинг: 0 / 0
24.06.2009, 11:57
    #36057116
an0nym
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
eualexeyи вот тут
an0nym$this в данном случае =&$obj, т. е. $this - это референс на instanceof(Class) $obj.
$this - это всего лишь ссылка (reference) на экземпляр, который вызвал метод. Если метод вызван статично - значит экземпляра нет, значит $this тоже нет, что часто (или всегда) приводит к Fatal Error.
...
Рейтинг: 0 / 0
25.06.2009, 18:04
    #36060424
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
an0nym,

Что то я никак ума не приложу как обратиться в следующем случае
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
class TEST{
   protected function a(){
       $myvar="aaa";}


   pubic function b(){
        echo ТУТ НУЖНО ОБРАТИТЬСЯ К ПЕРЕМЕННОЙ $myvar в методе a()
   }
} 
...
Рейтинг: 0 / 0
25.06.2009, 18:05
    #36060428
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
а ниче что этой переменной после выхода из функции уж не будет?
...
Рейтинг: 0 / 0
25.06.2009, 18:49
    #36060506
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
ScareCrow,

Извините не понял вопроса.
Может не ясно изложил суть вопроса, ниже более подробно.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
class TEST{
   protected function a(){
       $myvar="aaa";
       $myvar1="1";
       $myvar2="2";
       $myvar3="3";}


   pubic function b(){
        echo ТУТ НУЖНО ОБРАТИТЬСЯ К ПЕРЕМЕННОЙ $myvar в методе a()
   }
} 
Меня интересует возможно ли в классе из одного метода обратиться к переменной содержащейся в другом методе, и если да то как? я пока что перепробывал все что на ум пришло - результата не дало.
...
Рейтинг: 0 / 0
25.06.2009, 19:59
    #36060564
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
Приешл к тому что как обычно сделал в методе return который возвращает нужную переменную после прохождения ряда условий и все.

и все же интересно можно ли обратиться любой переменной метода в том же классе из другого метода
...
Рейтинг: 0 / 0
25.06.2009, 20:20
    #36060583
qaqaqa88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
Можно, если это свойство класса (читай переменная класса)
...
Рейтинг: 0 / 0
25.06.2009, 20:22
    #36060586
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
qaqaqa88,

так в том что и дело что если это свойство класса то оно объявляется вне метода. а меня интересует если переменная является НЕ свойством
...
Рейтинг: 0 / 0
25.06.2009, 20:39
    #36060602
phpTeach
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
eualexey, нельзя конечно
...
Рейтинг: 0 / 0
25.06.2009, 22:05
    #36060696
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
phpTeach,

спасибо. именно то что хотел знать
...
Рейтинг: 0 / 0
26.06.2009, 05:13
    #36060866
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
Уже доброе утро!
Можно ли вызывать внутри класса свойства, методы другого класса?
Спасибо!
...
Рейтинг: 0 / 0
26.06.2009, 09:06
    #36060977
an0nym
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
eualexey,
родителя - parent::$property/parent::method()
статично - имя_нужного_класса::$property/имя_нужного_класса::method()
в контексте экземпляра - если заранее не передать конкретный экземпляр нужного класса, то нельзя
...
Рейтинг: 0 / 0
02.09.2009, 02:57
    #36173815
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
Столкнулся вот с такой ситуацией

Код: plaintext
1.
2.
3.
4.
class bogus{
	public $a= 1 ;
	public static function y(){
		var_dump($this->a);
Выдает ошибку.
В данном случае получается что
свойство $a у нас будет принадлежать объекту, сколько пользователей создали экземпляров класса в текущий момент (он же просто объект)
метод y() - един на всех, т.к. принадлежит классу, т.е. чтобы не было "напиханов" в метод y - оно будет единым для ВСЕХ пользователей.

Выше то как я понимаю static от НЕ static.

Как тогда обратиться к свойству $a из метода y или это нонсенс?
Если я где не прав поправьте пожалуйста.
Спасибо!
...
Рейтинг: 0 / 0
02.09.2009, 05:12
    #36173830
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
eualexey,

метод y() у вас статический!
нельзя внутри статического метода обращаться к внутренним переменным класса($this->) объявленным как не статические.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
24.04.2012, 00:15
    #37767254
FlankerD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
Товарищи, такой вопрос: как обратиться внутри класса, к методам другого класса?
Код: php
1.
2.
3.
4.
5.
class A {
  function t1(){
	 print "123";
 }
}



Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
class B{
 var $object;
 function r(){
 $object = new A;
 }
 
 function t11(){
	 $object->A->t1();
 }
}


Если так
Код: php
1.
2.
3.
 $object1 = new B;
 
 $object1->t11();



то ругается Fatal error: Call to a member function t1() on a non-object in test.php on line 16 (эта строка $object->A->t1();)
...
Рейтинг: 0 / 0
24.04.2012, 00:22
    #37767260
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) обращение внутри класса
А что в "эта строка" означает "->A" и зачем?
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) обращение внутри класса / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]