atomp3
23.07.2008, 09:58:45
Witam
Jaka roznica jest jesli zadeklaruje dostep:
klasa::metoda
a
this->metoda
i jeszcze jedno pytanie jak najlepiej sterowac aplikacja bo obecnie steruje przez switch. Aplikacja staje sie coraz wieksza i coraz trudniej. Moze jakis przyklad?
Wielkie dzieki
Shili
23.07.2008, 10:12:20
Operator :: wywołuje metodę statycznie.
Cytat
i jeszcze jedno pytanie jak najlepiej sterowac aplikacja bo obecnie steruje przez switch. Aplikacja staje sie coraz wieksza i coraz trudniej. Moze jakis przyklad?
Nie wiadomo co sterować tak naprawdę.
atomp3
23.07.2008, 10:16:06
chodzi mi o metody.
Mam aplikacje
Frontend
display();
details();
...
Potem admin
edit();
delete();
Obecnie wywoluje wszytsko przez switch np index.php?task=display
JoShiMa
23.07.2008, 10:16:13
Cytat(Shili @ 23.07.2008, 11:12:20 )

Operator :: wywołuje metodę statycznie.
A co to właściwie znaczy.
kwiateusz
23.07.2008, 10:19:35
ze nie trzeba tworzyc nowej instancji obiektu czyli omija Cie
<?php
$klasa = new Klasa;
$klasa->metoda();
//a mozna odrazu tak
Klasa::metoda()
?>
mike
23.07.2008, 10:21:17
Odwoływanie się do skladowcyh klasy (metod lub atrybutów) nie wymaga stworzenia obiektu. Jeśli dla klasy:
<?php
class Klasa {
public function __construct() {
}
public static function funkcjaStatyczna
() { echo 'wywołano funkcje statyczną'; }
}
?>
wywołasz
Klasa::funkcjaStatyczna() to konstruktor nie będzie wykonany bo nie zostanie utworzony żaden obiekt tej klsay.
Sedziwoj
23.07.2008, 11:15:11
@mike
W dosłownym słowa tego znaczeniu nie, ale jak wszystko oprzesz na metodach/właściwościach statycznych to jakbyś miał jeden "obiekt" taj klasy będący tą klasą.
Ogólnie ważniejsze, od tego jak są wywoływane te metody, jest to kiedy powinny być stosowane, statyczne służą najczęściej tylko "zrób coś tylko tą metodą" czyli ona coś robi i koniec współpracy z daną klasą, a metody nie statyczne służą, kiedy jest potrzebna nam jakaś dłuższa, współpraca z obiektem. Wtedy też często przydaje się konstruktor, który to inicjuje obiekt rzeczami potrzebnymi do współpracy.