Backslash syntax when creating objects
The path in require and require_once is like (dir1/dir2/test.php).
Can we create objects the same like$obj= new class1/class2;
?
If yes, please explain.
http://php-fedex-api-wrapper.googlecode.com/svn/trunk/htdocs/example1.php
$rateRequest = new ComplexType\RateRequ开发者_如何转开发est();
It is not using the path, it is using the namespace (ComplexType
); a feature built-into PHP 5.3.
More Info:
- http://php.net/manual/en/language.namespaces.importing.php
If however, you want to autoload certain classes, take a look at __autoload
magic function.
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.
Example:
function __autoload($class_name) {
include $class_name . '.php';
}
$obj = new MyClass1();
$obj2 = new MyClass2();
\ is the namespace operator in php 5.3, it is sort of a logical compartment for classes and functions: http://www.php.net/manual/en/language.namespaces.rationale.php
精彩评论