MC2 Skrevet 21. mai 2007 Del Skrevet 21. mai 2007 PHP <?php class a { }; class b extends a { function c() { echo "hello"; } }; b::c(); ?> Er ganske ny på OOP så jeg lurer på hvorfor den lager en E_STRICT type notis? "Non-static method b::c() should not be called statically" Hva betyr non-static method? Og hvordan kaller man den statically? Lenke til kommentar
Gjest Slettet+142 Skrevet 21. mai 2007 Del Skrevet 21. mai 2007 (endret) EDIT: Ahh. Du må definere funksjonen som statisk Som dette: PHP <?php class a { }; class b extends a { public static function c() { echo "hello"; } }; b::c(); ?> Eller leder jeg i feil retning nå? Endret 21. mai 2007 av Slettet+142 Lenke til kommentar
itsmebth Skrevet 21. mai 2007 Del Skrevet 21. mai 2007 (endret) http://no2.php.net/global#language.variables.scope.static PHP <?php class Foo{ function a(){ echo 'a'; } static function b(){ echo 'b'; } } $bar = new Foo(); $bar->a() Foo::b() Endret 21. mai 2007 av itsmebth Lenke til kommentar
Gjest Slettet+142 Skrevet 21. mai 2007 Del Skrevet 21. mai 2007 Nå edita jeg nettopp min forrige post men uansett, så kan du sjekke Denne siden Lenke til kommentar
MC2 Skrevet 21. mai 2007 Forfatter Del Skrevet 21. mai 2007 Takk! Men hva betyr egentlig public og static visibility? Og er disse visibilities støttet av PHP 4? Lenke til kommentar
Gjest Slettet+142 Skrevet 21. mai 2007 Del Skrevet 21. mai 2007 Public betyr at man kan kalle funksjonen fra utsiden av klassen. Static vet jeg ikke :/ http://no2.php.net/manual/en/keyword.paama...nekudotayim.php Lenke til kommentar
MC2 Skrevet 21. mai 2007 Forfatter Del Skrevet 21. mai 2007 Jeg lurte på om static og public visibility er støttet i PHP 4. Lenke til kommentar
Gjest Slettet+142 Skrevet 21. mai 2007 Del Skrevet 21. mai 2007 Jeg vet ikke helt :/ Jeg sendte deg en link til siden så du kunne "utforske" manualen OOP i PHP4. Men jeg tror ikke at de er støttet :/ Men forhåpentligvis vet noen andre det Lenke til kommentar
Gjest Slettet-df17e Skrevet 21. mai 2007 Del Skrevet 21. mai 2007 (endret) Nei, MC2, man har ikke støtte for det. Dette er noe som ble introdusert i verson 5 av PHP På http://php.net/OOP5 har du også en god forklaring på det meste når det kommer til bruk av objekter i PHP. Endret 21. mai 2007 av Slettet-df17e Lenke til kommentar
MC2 Skrevet 21. mai 2007 Forfatter Del Skrevet 21. mai 2007 Ok takk! Ganske dårlig at det ikke fantes egentlig... Lenke til kommentar
Runar0 Skrevet 21. mai 2007 Del Skrevet 21. mai 2007 Takk! Men hva betyr egentlig public og static visibility? Og er disse visibilities støttet av PHP 4? 8661940[/snapback] Static gjør at du kan kalle funksjonen utan å lage eit objekt av klassen. Som: Foo::bar(); Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå