__autoload
Noi suntem invatati sa avem o aplicate ordonata, cu o structura bine pusa la punct de aceea clasele sunt salvate in fisiere separate cu numele clasei in ele si incluse uneori degeaba. Cand avem fisiere foarte mari, unde includem chiar si 15 clase atunci avem problema ca uneori nu le folosim pe toate, asa ca pentru asta folosim functia __autoload($nume_clasa). Un exemplu vei vedea mai jos, unde folosim o includere dinamica a claselor.
Cod /clase/class.clasa1.php:
<?php # fisier: /clase/class.clasa1.php class Clasa1{ function __construct(){ # __CLASSS__ este o constanta magica care ne spune numele clasei echo 'A fost creata o instanta noua a clasei <b>'.__CLASS__.'</b><br/><br/>'; } } ?>
Cod /clase/class.clasa2.php:
<?php # fisier: /clase/class.clasa2.php class Clasa2{ function __construct(){ # __CLASSS__ este o constanta magica care ne spune numele clasei echo 'A fost creata o instanta noua a clasei <b>'.__CLASS__.'</b><br/>'; } } ?>
Cod /test.php:
<?php # fisier: /test.php function __autoload($nume_clasa){ # Folosim strtolowe deoarece este recomandat ca fisierele sa fie cu litere mici $fisier_clasa = 'clase/class.'.strtolower($nume_clasa).'.php'; echo 'Includem fisierul <b>'.$fisier_clasa.'</b><br/>'; include($fisier_clasa); } $obj1 = new Clasa1; $obj2 = new Clasa2; ?>Output /test.php:

Dupa cum vedeti nu a fost nevoie ca sa includem noi manual nici un fisier, fisierele s-au inclus singure atunci cand a fost nevoie de ele. Functia autoload este foarte utila cand avem mai multe clase.
Tags: Tutoriale, Programare Web, Php, Curs Php
Comments
Nota
0
din
0