1
votes

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\RateRequest();
2
This post explain the backsalsh in great detail stackoverflow.com/q/4790020/6521116 - LF00

2 Answers

11
votes

It is not using the path, it is using the namespace (ComplexType); a feature built-into PHP 5.3.

More Info:

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(); 
3
votes

\ 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