Autoload function in PHP5

Published:
Updated:
As you all know PHP got one problem, before using other files classes or functions you need to include or use require function. But now in PHP 5 there's solution for this, it's called __autoload() function. You can read more about function in PHP manual http://ee.php.net/manual/en/function.spl-autoload.php.

What would be best way to use this, as you have seen the usage in Zend Framework, they have got really simple way to do this. All the class names contain the path in names. Like it would be: My_Database_Mysql so this means it's located in folder My/Database/Mysql.php. You could use your own delimiter (- . :).

As the zip with php files isn't allowed to upload so explain the scheme of directories.
/library/Database/Mysql/Pdo.php
/library/Database/Mysql/Mysqli.php
/library/Database/Mysql/Default.php

/library/Database/Oracle/Default.php
 
<?php
                      set_include_path('./library');
                      
                      function __autoload($className) {
                      	$path = str_replace('_', '/', $className);
                      	require_once("{$path}.php");
                      }
                      $pdo = new Database_Mysql_Pdo();
                      var_dump($pdo);
                      
                      $mysqli = new Database_Mysql_Mysqli();
                      var_dump($mysqli);
                      ?>

Open in new window

0
3,663 Views

Comments (0)

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.