Metode si functii statice
Vreau sa incep acest articol prin a spune ca eu nu recomand folosirea metodelor si proprietatilor statice, este mult mai frumos un cod in care se folosesc obiecte si nu direct clasele, o sa vedeti mai jos la ce ma refer.
Este necesar sa invatati si despre acestea deoarece sunt folosite de multe ori in unele scripturi si trebuie sa stiti si voi despre ce este vorba acolo.
Metodele si proprietatile statice reprezinta apelarea lor fara sa avem nevoie de un obiect, le apelam direct cu ajutorul claselor.
Dupa cum sititi o noi apelam o metoda/functie a unui obiect punand obiectul urmat de -> iar dupa aceea numele metodei/proprietatii. Cand apelam o proprietate statica punem numele clasei urmat de ::(de doua ori :) iar dupa numele proprietatii(variabilei), dar atentie: variabila trebuie sa inceapa cu semnul $ spre deosebire de obiecte unde nu trebuie sa mai punem semnul $.
Mai jos veti vedea un exemplu, am folosit un singur fisier pentru a nu complica lucrurile.
Cod test.php:
<?php # fisier: /test.php // Cream clasa cu numele Exemplu class Exemplu{ # Pentru a declara o proprietate punem static in fata static public $proprietate = 'Valoarea proprietatii statice'; # Pentru a declara o functie statica punem static in fata static public function metoda(){ # Folosim constanta __FUNCTION__ pentru a afla numele functiei in care ne aflam # Folosim constanta __CLASS__ pentru a afla numele clasei in care ne aflam echo '<br/><br/>A fost executata metoda statica <b>'.__FUNCTION__.'</b> din clasa <b>'.__CLASS__.'</b> <br/>'; } } # Observati modul de apelare echo Exemplu::$proprietate; # Observati ca nu mai avem nevoie de o instanta a clasei Exemplu::metoda(); ?>Output:

Cand suntem in clasa respectiva accesam metoda sau proprietatea cu ajutorul self::$proprietate sau self::metoda(). Exemplu:
<?php class Exemplu{ static $limbaj = 'PHP'; public function arata(){ # Cand suntem in clasa respectiva le accesam cu self:: echo self::$limbaj; } } $obj = new Exemplu; $obj->arata(); ?>Output:

Tags: Tutoriale, Programare Web, Php, Curs Php
Comments
Nota
0
din
0