Autor Zpráva
raut
Profil *
zdar koukám do zdrojáku php5 a snažím se přijít na to, kdy a proč se používá self:: , parent::

self::$db->escape($this->name)

dik

----
Editace Mistrem: Oprava titulku a oprava překlepu v textu dotazu.
BetaCam
Profil
No to záleží na příležitosti. Např:

class rodic
{
  function render()
  {
   echo 'Metoda RENDER z tridy RODIC<br />';
  }
}

class potomek extends rodic
{
 function render()
 {
  echo 'Metoda RENDER z tridy POTOMEK<br />';
 }

 function renderPotomek()
 {
  self::render();
 }

 function renderRodic()
 {
  parent::render();
 }
}

$a = new potomek;

$a->renderRodic();
$a->renderPotomek();


Nechápu čemu přesně na tom nerozumíš. Zkus napsat co přesně ti neni jasné.
mila
Profil
class foo
{
  function one() {
   self::two();
   // je totéž jako
   foo::two();
  // a 
  echo self::x;
   // je totéž jako
   echo foo::x;
 }

  function two() {
   // ...
 }

  static $x;
}

Používat self má tu výhodu, když třídu přejmenuješ.

http://cz2.php.net/manual/en/language.oop5.paamayim-nekudotayim.php
http://cz2.php.net/manual/en/language.oop5.static.php
BetaCam
Profil
--
souki
Profil
nepleteš si trochu statické proměnné s obyč?
BetaCam
Profil
souki
nepleteš si trochu statické proměnné s obyč?

Ano máš pravdu opravdu sem se do toho z večera trochu zapletl. :) Pro jistotu to z postu odmáznu, aby to někoho nepletlo. Nic méně ted když sem se na ten kód podival ještě jednou tak sem zjistil, že je tam stejně chyba. Takže to pro jistotu opravim :

Musí se to volat následovně

  echo self::$x;
  echo foo::$x;


pokud by se volalo

  echo self::x;
  echo foo::x;


tak bych žádal o konstantu X a né o proměnnou $x

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0