Related Links : Search Engine Optimization | | Search Engine Marketing | Online Marketing | Freelance Programmer| SEO Thailand | SEO Expert | SEO services | PHP Programmer Thailand | SEO Tutorial | What is SEO |

  Home Our SEO Services SEO Expert Consultant Php Programmer Keyword Suggestion Scripts|Articles| Email : sachin {at} jainsachin {dot} com

PHP | Autoloading Objects | Manual | Tutorial | Help

SEO Services



Website Programming in PHP / MYSQL



SEO Tools




    Friends


      Autoloading Objects

      Autoloading Objects

      Many developers writing object-oriented applications create one PHP source file per-class definition. One of the biggest annoyances is having to write a long list of needed includes at the beginning of each script (one for each class).

      In PHP 5, this is no longer necessary. You may define an __autoload function which is automatically called in case you are trying to use a class/interface which hasn't been defined yet. By calling this function the scripting engine is given a last chance to load the class before PHP fails with an error.

      Note: Exceptions thrown in __autoload function cannot be caught in the catch block and results in a fatal error.

      Note: Autoloading is not available if using PHP in CLI interactive mode.

      Note: If the class name is used e.g. in call_user_func() then it can contain some dangerous characters such as ../. It is recommended to not use the user-input in such functions or at least verify the input in __autoload().

      Example #1 Autoload example

      This example attempts to load the classes MyClass1 and MyClass2 from the files MyClass1.php and MyClass2.php respectively.

      <?php
      function __autoload($class_name) {
          require_once 
      $class_name '.php';
      }

      $obj  = new MyClass1();
      $obj2 = new MyClass2(); 
      ?>

      This example attempts to load the interface ITest.

      <?php

      function __autoload($name) {
          
      var_dump($name);
      }

      class 
      Foo implements ITest {
      }

      /*
      string(5) "ITest"

      Fatal error: Interface 'ITest' not found in ...
      */
      ?>


      SEO Tutorial / Articles





      Php / Mysql Tutorial



      Articles



        Other Topics



        SEO by Jainsachin