diff --git a/en/reference/architecture.rst b/en/reference/architecture.rst index 362ff9ea1..9a1d5ee44 100644 --- a/en/reference/architecture.rst +++ b/en/reference/architecture.rst @@ -28,6 +28,9 @@ be any regular PHP class observing the following restrictions: property with the same name. That is, if B inherits from A then B must not have a mapped field with the same name as an already mapped field that is inherited from A. +- An entity cannot make use of func_get_args() to implement variable parameters. + Generated proxies do not support this for performance reasons and your code might + actually fail to work when violating this restriction. Entities support inheritance, polymorphic associations, and polymorphic queries. Both abstract and concrete classes can be diff --git a/en/tutorials/getting-started-xml-edition.rst b/en/tutorials/getting-started-xml-edition.rst index 8b24c3c2c..8a9facd00 100644 --- a/en/tutorials/getting-started-xml-edition.rst +++ b/en/tutorials/getting-started-xml-edition.rst @@ -1,12 +1,11 @@ Getting Started =============== -Doctrine 2 is a project that aims to handle the persistence of the -domain model in a non-interfering way. The Data Mapper pattern is -at the heart of this project, aiming for a complete separation of +Doctrine 2 is an object-relational mapper (ORM) for PHP 5.3.0+ that provides transparent persistence for PHP objects. +It uses the Data Mapper pattern at the heart of this project, aiming for a complete separation of the domain/business logic from the persistence in a relational database management system. The benefit of Doctrine for the -programmer is the ability to focus solely on the business logic and +programmer is the ability to focus solely on the object-oriented business logic and worry about persistence only as a secondary task. This doesn't mean persistence is not important to Doctrine 2, however it is our belief that there are considerable benefits for object-oriented @@ -21,6 +20,9 @@ abstract base class or interface. An entity class must not be final or contain final methods. Additionally it must not implement **clone** nor **wakeup** or :doc:`do so safely <../cookbook/implementing-wakeup-or-clone>`. +See the `architecture chapter <../reference/architecture>` for a full list of the restrictions +that your entities need to comply with. + An entity contains persistable properties. A persistable property is an instance variable of the entity that is saved into and retrieved from the database by Doctrine's data mapping capabilities.