Doctrine 2 Object Relational Mapper (ORM)
b30d1dd39c
initialize() is called sometimes, even when the following code doesn't need the targetPlatform property. Specifically, in AbstractClassMetadataFactory::getAllMetadata(). But as of DBAL 2.5.0, calling Connection::getDatabasePlatform() will make a connection to the database, which means that sometimes it may fail (e.g. you haven't configured your database yet). As a result, calling a method like AbstractClassMetadataFactory::getAllMetadata() - which does not need the targetPlatform - will fail, because determining the targetPlatform requires a connection, which fails. This avoids that - we only get the targetPlatform *when* we need it, which are cases where we're doing things that do indeed need a connection. |
||
---|---|---|
bin | ||
docs | ||
lib | ||
tests | ||
tools/sandbox | ||
.coveralls.yml | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
build.properties | ||
build.properties.dev | ||
build.xml | ||
composer.json | ||
CONTRIBUTING.md | ||
doctrine-mapping.xsd | ||
LICENSE | ||
phpunit.xml.dist | ||
README.markdown | ||
run-all.sh | ||
SECURITY.md | ||
UPGRADE.md |
Master | 2.4 | 2.3 | 2.2 | 2.1 |
---|---|---|---|---|
Doctrine 2 is an object-relational mapper (ORM) for PHP 5.4+ that provides transparent persistence for PHP objects. It sits on top of a powerful database abstraction layer (DBAL). One of its key features is the option to write database queries in a proprietary object oriented SQL dialect called Doctrine Query Language (DQL), inspired by Hibernate's HQL. This provides developers with a powerful alternative to SQL that maintains flexibility without requiring unnecessary code duplication.