Тем, кто хоть немного знаком с объектно-ориентированным программированием, наверняка рано или поздно придется столкнуться с ситуацией, когда внутри класса объявлено несколько функций (методов) и один из методов вызывает внутри себя другой.
	Примером такой ситуации может стать код.
	Код:
	
		class modTest {
function test1() {
.....
return $this->test2();
}
function test2() {
return $something;
}
...
}
function test1() {
.....
return $this->test2();
}
function test2() {
return $something;
}
...
}
	Однако при его выполнении мы получим ошибку:
	Call to undefined method JDocumentRendererModule
	Правильным кодом в данном случае будет:
Код:
	class modTest {
function test1() {
.....
return modTest::test2();
}
function test2() {
return $something;
}
...
}
function test1() {
.....
return modTest::test2();
}
function test2() {
return $something;
}
...
}

 
						
