1

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();
Saltzy
  • 3
  • 2
mjdevloper
  • 1,553
  • 8
  • 33
  • 69
  • This post explain the backsalsh in great detail http://stackoverflow.com/q/4790020/6521116 – LF00 May 11 '17 at 07:27

2 Answers2

12

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(); 
Sarfraz
  • 377,238
  • 77
  • 533
  • 578
3

\ 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

Logan Bailey
  • 7,039
  • 7
  • 36
  • 44