ADS - GoldenWeb.it Directory "Premium" Links

Grafica 3B
Grafica 3B si occupa di comunicazione a 360° per le aziende di Milano e non solo. Un team di esperti di marketing in grado di studiare i bisogni, progettare e sviluppare un piano pubblicitario strategico e mirato ad aumentare la visibilità. Ci occupiamo nello specifico dello studio grafico di loghi, cataloghi, menu, banner e più in generale della definizione di una brand identity con servizio di stampa digitale piccoli e grandi formati. L'agenzia opera anche nel settore web
Ozonizzatore domestico Ozobox
L'ozonizzatore Ozobox porta il benessere e la freschezza dell'ozono in casa: Il primo elettrodomestico in grado di sanificare aria, acqua e casa in modo completamente naturale sfruttando le proprietà antisettiche dell'ozono! l'ozono possiede una potente carica antimicotica, in grado di eliminare il 99% dei batteri presenti e degli agenti inquinanti. Ozobox consente di trasformare l'ossigeno in ozono per sanificare in modo naturale l'acqua del rubinetto, l'aria, gli oggetti, gli alimenti
Compendium
Compendium offre la consulenza di professionisti con competenze giuslavoristiche e finanziarie, fornendo servizi in outsourcing per il PayRoll, la contabilità delle risorse umane, l’amministrazione aziendale, la finanza ed il controllo di gestione, temporary management.
Fabbrica Divani Chester - Boheme Salotti
Produzione Artigianale di divani Chesterfield classici senza tempo. I nostri eleganti divani Chesterfield sono realizzati a mano da esperti artigiani direttamente nella nostra fabbrica ad Altamura, il centro del Triangolo del Salotto. Acquista direttamente dalla Fabbrica e risparmia su divani e poltrone Chesterfield.

Submit Your Link...

PHP manual


Autoloading Classes

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.

Tip

spl_autoload_register() provides a more flexible alternative for autoloading classes. For this reason, using __autoload() is discouraged and may be deprecated or removed in the future.

Note:

Prior to 5.3.0, exceptions thrown in the __autoload function could not be caught in the catch block and would result in a fatal error. From 5.3.0+ exceptions thrown in the __autoload function can be caught in the catch block, with 1 provision. If throwing a custom exception, then the custom exception class must be available. The __autoload function may be used recursively to autoload the custom exception class.

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) {
    include 
$class_name '.php';
}

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

Example #2 Autoload other example

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 ...
*/
?>

Example #3 Autoloading with exception handling for 5.3.0+

This example throws an exception and demonstrates the try/catch block.

<?php
function __autoload($name) {
    echo 
"Want to load $name.n";
    throw new 
Exception("Unable to load $name.");
}

try {
    
$obj = new NonLoadableClass();
} catch (
Exception $e) {
    echo 
$e->getMessage(), "n";
}
?>

The above example will output:

Want to load NonLoadableClass.
Unable to load NonLoadableClass.

Example #4 Autoloading with exception handling for 5.3.0+ - Missing custom exception

This example throws an exception for a non-loadable, custom exception.

<?php
function __autoload($name) {
    echo 
"Want to load $name.n";
    throw new 
MissingException("Unable to load $name.");
}

try {
    
$obj = new NonLoadableClass();
} catch (
Exception $e) {
    echo 
$e->getMessage(), "n";
}
?>

The above example will output:

Want to load NonLoadableClass.
Want to load MissingException.

Fatal error: Class 'MissingException' not found in testMissingException.php on line 4