2014-10-02 6 views
3

Doctrine ORM, похоже, нуждается в PHP5.3 и следующем.Doctrine/DBAL совместим с PHP5.6?

Информация о Doctrine DBAL отсутствует. Я хочу использовать. Я думаю, что ORM основан на DBAL, поэтому он должен быть PHP5.3 +, но есть ли какая-либо разбивка, чтобы заставить его работать с последней версией PHP (5.6).

+1

Этот класс кажется достаточно сейчас, чтобы запустить его: HTTP: //www.snip2code. com/Snippet/87237/Doctrine - 2-3-6-on-PHP ---- 5-6-% 28vendor-do/ – phoops

+1

В противном случае вам нужно использовать 2.5 ORM (главная ветвь). – phoops

ответ

2

У вас есть два варианта:

  1. Используйте Doctrine ORM 2.5 кодовых (в настоящее время мастер отрасли, но не стабильный).

  2. Примените этот патч к классу ClassMetadataInfo:

--- ClassMetadataInfo.php 2014-07-07 08:46:51.658104373 -0400 +++ ClassMetadataInfo.patch.php 2014-07-07 08:38:05.442127032 -0400 @@ -827,7 +827,7 @@ public function newInstance() { if ($this->_prototype === null) { - if (PHP_VERSION_ID === 50429 || PHP_VERSION_ID === 50513) { + if (PHP_VERSION_ID === 50429 || PHP_VERSION_ID === 50513 || PHP_VERSION_ID === 50600) { $this->_prototype = $this->reflClass->newInstanceWithoutConstructor(); } else { $this->_prototype = unserialize(sprintf('O:%d:"%s":0:{}', strlen($this->name), $this->name));

Источник: патч метаданных http://www.snip2code.com/Snippet/87237/Doctrine--2-3-6-on-PHP----5-6-%28vendor-do/