Путь в require и require_once похож на (dir1 / dir2 / test.php).
Можем ли мы создавать объекты так же, как $obj= new class1/class2;
?
Если да, пожалуйста, объясните.
http://php-fedex-api-wrapper.googlecode.com/svn/trunk/htdocs/example1.php
$rateRequest = new ComplexType\RateRequest();
Он не использует путь, он использует пространство имен ( ComplexType
); функция, встроенная в PHP 5.3.
Больше информации:
Если, однако, вы хотите автозагрузить определенные классы, посмотрите на функцию __autoload
magic.
Многие разработчики, пишущие объектно-ориентированные приложения, создают одно определение исходного кода PHP для каждого класса. Одно из самых больших неприятностей – писать длинный список необходимых включений в начале каждого скрипта (по одному для каждого класса).
В PHP 5 это больше не требуется. Вы можете определить функцию __autoload, которая автоматически вызывается в случае, если вы пытаетесь использовать класс / интерфейс, который еще не определен. Вызывая эту функцию, механизму сценариев дается последний шанс загрузить класс до того, как PHP завершится с ошибкой.
Пример:
function __autoload($class_name) { include $class_name . '.php'; } $obj = new MyClass1(); $obj2 = new MyClass2();
\ является оператором пространства имен в php 5.3, это своего рода логическое отделение для классов и функций: http://www.php.net/manual/en/language.namespaces.rationale.php