Autoload

Intro
Laten we maar beginnen met het makkelijkste, he?

Veel php-ers moesten voor php 5 steeds voor iedere class een include te doen. Dat was onhandig af en toe, want sommigen hadden echt een stuk of tien regels met alleen maar include stuff.

In PHP 5 mogen we daar geen last meer van hebben. De mensen die PHP 5 ontwikkeld hebben, hebben nagedacht en ze zijn tot de conclusie gekomen dat je nu een __autoload() functie aan de top van je script mag defineren.

De lange lijst met includes is voorbij, nu krijgen we de lange lijst van $obj = new my_class; ;)

Praktijk
Aangezien de meeste meestal beter leren van voorbeelden, dan van text, ziehier:

Deze code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
function __autoload($class_name) {
   require_once $class_name . '.php';
}


$obj  = new MijnClass1();
$obj2 = new MijnClass2();
?>

Is praktisch gezien hetzelfde als deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
require_once 'MijnClass1.php';
require_once 'MijnClass2.php';

$obj = new MijnClass1();
$obj2 = new MijnClass2();
?>


Dat betekent eigenlijk dat je van alles kan aanpassen aan __autoload();
Je zou bijvoorbeeld een switch loop erin kunnen zetten, die met de inkomende $class_name aan de gang gaat.
Of nog mooier, zoiets:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function __autoload($class_name) {
    $keuzes = array('FUNC' => 'functions',
                    'session' => 'functions',
                    'board' => 'sources/board',
                    );

    if (!isset($keuzes[ $class_name ])) {
        die();
    }


    require_once "./".$keuzes[ $class_name ].".php";
}

?>


Gebruik het, als het kan, doe er wat mee als je het nuttig vindt. Doe ermee wat je zelf wilt!

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Autoload
  3. Con- & Destructors
  4. Scope (::)
  5. Static
  6. Constants
  7. Type Hinting
  8. Final
  9. Object iteration
  10. Exceptions
  11. Abstract
  12. Conclusie/Einde

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.