Я изучаю пространство имен в php и Doctrine 2.2 в течение недели.
Я просмотрел несколько блогов и прочитал несколько статей о пространстве имен в php.
Я понимаю, что когда мы хотим использовать разные пространства имен на разных php-страницах, мы должны написать: include('php page that belong namespace we want to use');
Но Doctrine 2.2 не использует никаких операторов include
, require
или require_once
для использования пространства имен. Почти все сценарии в Doctrine 2.2 таковы:
Doctrine \ ORM \ EntityManager.php
<?php
namespace Doctrine\ORM;
use Closure, Exception,
Doctrine\Common\EventManager,
Doctrine\Common\Persistence\ObjectManager,
Doctrine\DBAL\Connection,
Doctrine\DBAL\LockMode,
Doctrine\ORM\Mapping\ClassMetadata,
Doctrine\ORM\Mapping\ClassMetadataFactory,
Doctrine\ORM\Query\ResultSetMapping,
Doctrine\ORM\Proxy\ProxyFactory,
Doctrine\ORM\Query\FilterCollection;
class EntityManager implements ObjectManager
{
/**
* The used Configuration.
*
* @var \Doctrine\ORM\Configuration
.............
..................................
..................................
..................................
..................................
?>
В Doctrine 2.2 .
нет операторов
include
или
require
.
Но при запуске страницы (Doctrine \ ORM \ EntityManager.php) появляются фатальные ошибки,
Неустранимая ошибка: интерфейс «Doctrine \ Common \ Persistence \ ObjectManager» не найден
в C: \ xampp \ htdocs \ www \ DoctrineExplained \ DoctrineORM \ Doctrine \ ORM \ EntityManager.php в строке 45
Хотя Doctrine 2.2 является стабильной версией Doctrine ORM , почему не используется include
или require
для пространств имен и use
с?