From 13840516a9d7fa606921c3d5576264487fa565f7 Mon Sep 17 00:00:00 2001 From: legenerationlazi Date: Thu, 19 Apr 2007 20:41:19 +0000 Subject: [PATCH] removed empty php tags at the top of some pages html->wiki conversion previously missed --- ...omponents - Db_Profiler - Introduction.php | 2 +- manual/docs/Caching - Introduction.php | 2 +- ...ds - Coding Style - Control statements.php | 2 +- ...- Coding Style - Functions and methods.php | 2 +- ... - Coding Style - PHP code demarcation.php | 2 +- ...ng Conventions - Functions and methods.php | 10 +++--- ...onfiguration - Levels of configuration.php | 6 ++-- .../Configuration - List of attributes.php | 32 +++++++++---------- ...etting attributes - Identifier quoting.php | 2 +- ...agement - Connection-component binding.php | 2 +- ...nagement - Lazy-connecting to database.php | 2 +- ...tion management - Managing connections.php | 2 +- ... management - Opening a new connection.php | 2 +- ...tion modules - Export - Altering table.php | 2 +- ...y Language) - GROUP BY, HAVING clauses.php | 8 ++--- ...guage) - Operators - Logical operators.php | 16 +++++----- ...ting table definition - Default values.php | 2 +- ...erarchical data - Introduction - About.php | 6 ++-- ...nal mapping - Indexes - Adding indexes.php | 2 +- ...onal mapping - Indexes - Index options.php | 2 +- ...al mapping - Indexes - Special indexes.php | 2 +- ...apping - Record identifiers - Sequence.php | 2 +- ...ional mapping - Table and class naming.php | 10 +++--- ...ect relational mapping - Table options.php | 2 +- manual/docs/Transactions - Introduction.php | 12 +++---- manual/docs/Transactions - Savepoints.php | 2 +- ...iew - Collection - Fetching strategies.php | 8 ++--- ...erview - Db - Connecting to a database.php | 2 +- ... overview - Db - Using event listeners.php | 2 +- ...view - Query - FROM - selecting tables.php | 2 +- ...t overview - Query - HAVING conditions.php | 2 +- ...ponent overview - Query - Introduction.php | 2 +- ...ery - WHERE - setting query conditions.php | 2 +- 33 files changed, 78 insertions(+), 78 deletions(-) diff --git a/manual/docs/Advanced components - Db_Profiler - Introduction.php b/manual/docs/Advanced components - Db_Profiler - Introduction.php index 99e7fadcf..f852130fe 100644 --- a/manual/docs/Advanced components - Db_Profiler - Introduction.php +++ b/manual/docs/Advanced components - Db_Profiler - Introduction.php @@ -1,4 +1,4 @@ - + Doctrine_Db_Profiler is an eventlistener for Doctrine_Db. It provides flexible query profiling. Besides the sql strings the query profiles include elapsed time to run the queries. This allows inspection of the queries that have been performed without the need for adding extra debugging code to model classes. diff --git a/manual/docs/Caching - Introduction.php b/manual/docs/Caching - Introduction.php index 4c2ebe3bf..a65af93b7 100644 --- a/manual/docs/Caching - Introduction.php +++ b/manual/docs/Caching - Introduction.php @@ -1,4 +1,4 @@ - + Doctrine_Cache offers an intuitive and easy-to-use query caching solution. It provides the following things: * Multiple cache backends to choose from (including Memcached, APC and Sqlite) diff --git a/manual/docs/Coding standards - Coding Style - Control statements.php b/manual/docs/Coding standards - Coding Style - Control statements.php index bcc458d5c..20711f2fe 100644 --- a/manual/docs/Coding standards - Coding Style - Control statements.php +++ b/manual/docs/Coding standards - Coding Style - Control statements.php @@ -1,4 +1,4 @@ - + * Control statements based on the if and elseif constructs must have a single space before the opening parenthesis of the conditional, and a single space after the closing parenthesis. diff --git a/manual/docs/Coding standards - Coding Style - Functions and methods.php b/manual/docs/Coding standards - Coding Style - Functions and methods.php index 0e687b65d..fdb99a3e1 100644 --- a/manual/docs/Coding standards - Coding Style - Functions and methods.php +++ b/manual/docs/Coding standards - Coding Style - Functions and methods.php @@ -1,4 +1,4 @@ - + * Methods must be named by following the naming conventions. diff --git a/manual/docs/Coding standards - Coding Style - PHP code demarcation.php b/manual/docs/Coding standards - Coding Style - PHP code demarcation.php index 7212de016..5d58ff372 100644 --- a/manual/docs/Coding standards - Coding Style - PHP code demarcation.php +++ b/manual/docs/Coding standards - Coding Style - PHP code demarcation.php @@ -1,4 +1,4 @@ -PHP code must always be delimited by the full-form, standard PHP tags () +PHP code must always be delimited by the full-form, standard PHP tags () Short tags are never allowed. For files containing only PHP code, the closing tag must always be omitted diff --git a/manual/docs/Coding standards - Naming Conventions - Functions and methods.php b/manual/docs/Coding standards - Naming Conventions - Functions and methods.php index ee79e07fd..a768ad020 100644 --- a/manual/docs/Coding standards - Naming Conventions - Functions and methods.php +++ b/manual/docs/Coding standards - Naming Conventions - Functions and methods.php @@ -1,21 +1,21 @@ -
  • Function names may only contain alphanumeric characters. Underscores are not permitted. Numbers are permitted in function names but are discouraged. +* Function names may only contain alphanumeric characters. Underscores are not permitted. Numbers are permitted in function names but are discouraged. -
  • Function names must always start with a lowercase letter. When a function name consists of more than one word, the first letter of each new word must be capitalized. This is commonly called the "studlyCaps" or "camelCaps" method. +* Function names must always start with a lowercase letter. When a function name consists of more than one word, the first letter of each new word must be capitalized. This is commonly called the "studlyCaps" or "camelCaps" method. -
  • Verbosity is encouraged. Function names should be as verbose as is practical to enhance the understandability of code. +* Verbosity is encouraged. Function names should be as verbose as is practical to enhance the understandability of code. -
  • For object-oriented programming, accessors for objects should always be prefixed with either "get" or "set". This applies to all classes except for Doctrine_Record which has some accessor methods prefixed with 'obtain' and 'assign'. The reason +* For object-oriented programming, accessors for objects should always be prefixed with either "get" or "set". This applies to all classes except for Doctrine_Record which has some accessor methods prefixed with 'obtain' and 'assign'. The reason for this is that since all user defined ActiveRecords inherit Doctrine_Record, it should populate the get / set namespace as little as possible. -
  • Functions in the global scope ("floating functions") are NOT permmitted. All static functions should be wrapped in a static class. +* Functions in the global scope ("floating functions") are NOT permmitted. All static functions should be wrapped in a static class. diff --git a/manual/docs/Configuration - Levels of configuration.php b/manual/docs/Configuration - Levels of configuration.php index 864f04242..f86272d9e 100644 --- a/manual/docs/Configuration - Levels of configuration.php +++ b/manual/docs/Configuration - Levels of configuration.php @@ -6,15 +6,15 @@ the lazy fetching strategy will be used whenever the records of 'example' table -
  • Global level +* Global level The attributes set in global level will affect every connection and every table in each connection. -
  • Connection level +* Connection level The attributes set in connection level will take effect on each table in that connection. -
  • Table level +* Table level The attributes set in table level will take effect only on that table. diff --git a/manual/docs/Configuration - List of attributes.php b/manual/docs/Configuration - List of attributes.php index f953d5cd5..ffdd94e75 100644 --- a/manual/docs/Configuration - List of attributes.php +++ b/manual/docs/Configuration - List of attributes.php @@ -1,44 +1,44 @@ -
  • Doctrine::ATTR_LISTENER -
  • Doctrine::ATTR_FETCHMODE = 2; + * Doctrine::ATTR_LISTENER + * Doctrine::ATTR_FETCHMODE = 2; -
  • Doctrine::ATTR_CACHE_DIR = 3; + * Doctrine::ATTR_CACHE_DIR = 3; -
  • Doctrine::ATTR_CACHE_TTL = 4; + * Doctrine::ATTR_CACHE_TTL = 4; -
  • Doctrine::ATTR_CACHE_SIZE = 5; + * Doctrine::ATTR_CACHE_SIZE = 5; -
  • Doctrine::ATTR_CACHE_SLAM = 6; + * Doctrine::ATTR_CACHE_SLAM = 6; -
  • Doctrine::ATTR_CACHE = 7; + * Doctrine::ATTR_CACHE = 7; -
  • Doctrine::ATTR_BATCH_SIZE = 8; + * Doctrine::ATTR_BATCH_SIZE = 8; -
  • Doctrine::ATTR_PK_COLUMNS = 9; + * Doctrine::ATTR_PK_COLUMNS = 9; /** * primary key type attribute */ -
  • Doctrine::ATTR_PK_TYPE = 10; + * Doctrine::ATTR_PK_TYPE = 10; /** * locking attribute */ -
  • Doctrine::ATTR_LOCKMODE = 11; + * Doctrine::ATTR_LOCKMODE = 11; /** * validatate attribute */ -
  • Doctrine::ATTR_VLD = 12; + * Doctrine::ATTR_VLD = 12; /** * name prefix attribute */ -
  • Doctrine::ATTR_NAME_PREFIX = 13; + * Doctrine::ATTR_NAME_PREFIX = 13; /** * create tables attribute */ -
  • Doctrine::ATTR_CREATE_TABLES = 14; + * Doctrine::ATTR_CREATE_TABLES = 14; /** * collection key attribute */ -
  • Doctrine::ATTR_COLL_KEY = 15; + * Doctrine::ATTR_COLL_KEY = 15; /** * collection limit attribute */ -
  • Doctrine::ATTR_COLL_LIMIT = 16; + * Doctrine::ATTR_COLL_LIMIT = 16; diff --git a/manual/docs/Configuration - Setting attributes - Identifier quoting.php b/manual/docs/Configuration - Setting attributes - Identifier quoting.php index fbe9a77d0..77f627e58 100644 --- a/manual/docs/Configuration - Setting attributes - Identifier quoting.php +++ b/manual/docs/Configuration - Setting attributes - Identifier quoting.php @@ -1,4 +1,4 @@ - + You can quote the db identifiers (table and field names) with quoteIdentifier(). The delimiting style depends on which database driver is being used. NOTE: just because you CAN use delimited identifiers, it doesn't mean you SHOULD use them. In general, they end up causing way more problems than they solve. Anyway, it may be necessary when you have a reserved word as a field name (in this case, we suggest you to change it, if you can). Some of the internal Doctrine methods generate queries. Enabling the "quote_identifier" attribute of Doctrine you can tell Doctrine to quote the identifiers in these generated queries. For all user supplied queries this option is irrelevant. diff --git a/manual/docs/Connection management - Connection-component binding.php b/manual/docs/Connection management - Connection-component binding.php index 2c1745656..31700764f 100644 --- a/manual/docs/Connection management - Connection-component binding.php +++ b/manual/docs/Connection management - Connection-component binding.php @@ -1,4 +1,4 @@ - + Doctrine allows you to bind connections to components (= your ActiveRecord classes). This means everytime a component issues a query or data is being fetched from the table the component is pointing at Doctrine will use the bound connection. diff --git a/manual/docs/Connection management - Lazy-connecting to database.php b/manual/docs/Connection management - Lazy-connecting to database.php index 02f5011c4..6ef736aaa 100644 --- a/manual/docs/Connection management - Lazy-connecting to database.php +++ b/manual/docs/Connection management - Lazy-connecting to database.php @@ -1,4 +1,4 @@ - + Lazy-connecting to database is handled via Doctrine_Db wrapper. When using Doctrine_Db instead of PDO / Doctrine_Adapter, lazy-connecting to database is being performed (that means Doctrine will only connect to database when needed). diff --git a/manual/docs/Connection management - Managing connections.php b/manual/docs/Connection management - Managing connections.php index 4b20ccff2..1feedaa36 100644 --- a/manual/docs/Connection management - Managing connections.php +++ b/manual/docs/Connection management - Managing connections.php @@ -1,4 +1,4 @@ - + From the start Doctrine has been designed to work with multiple connections. Unless separately specified Doctrine always uses the current connection for executing the queries. The following example uses openConnection() second argument as an optional connection alias. diff --git a/manual/docs/Connection management - Opening a new connection.php b/manual/docs/Connection management - Opening a new connection.php index a5c784ed5..28277941a 100644 --- a/manual/docs/Connection management - Opening a new connection.php +++ b/manual/docs/Connection management - Opening a new connection.php @@ -1,4 +1,4 @@ - + Opening a new database connection in Doctrine is very easy. If you wish to use PDO (www.php.net/PDO) you can just initalize a new PDO object: diff --git a/manual/docs/Connection modules - Export - Altering table.php b/manual/docs/Connection modules - Export - Altering table.php index c67fdfa02..8f98ce7d9 100644 --- a/manual/docs/Connection modules - Export - Altering table.php +++ b/manual/docs/Connection modules - Export - Altering table.php @@ -1,4 +1,4 @@ - + Doctrine_Export drivers provide an easy database portable way of altering existing database tables. diff --git a/manual/docs/DQL (Doctrine Query Language) - GROUP BY, HAVING clauses.php b/manual/docs/DQL (Doctrine Query Language) - GROUP BY, HAVING clauses.php index 32521a292..c5905b4d6 100644 --- a/manual/docs/DQL (Doctrine Query Language) - GROUP BY, HAVING clauses.php +++ b/manual/docs/DQL (Doctrine Query Language) - GROUP BY, HAVING clauses.php @@ -1,8 +1,8 @@ -
  • GROUP BY and HAVING clauses can be used for dealing with aggregate functions +* GROUP BY and HAVING clauses can be used for dealing with aggregate functions -
  • Following aggregate functions are availible on DQL: COUNT, MAX, MIN, AVG, SUM +* Following aggregate functions are availible on DQL: COUNT, MAX, MIN, AVG, SUM Selecting alphabetically first user by name. @@ -17,7 +17,7 @@ SELECT SUM(a.amount) FROM Account a -
  • Using an aggregate function in a statement containing no GROUP BY clause, results in grouping on all rows. In the example above +* Using an aggregate function in a statement containing no GROUP BY clause, results in grouping on all rows. In the example above we fetch all users and the number of phonenumbers they have. @@ -26,7 +26,7 @@ SELECT u.*, COUNT(p.id) FROM User u, u.Phonenumber p GROUP BY u.id -
  • The HAVING clause can be used for narrowing the results using aggregate values. In the following example we fetch +* The HAVING clause can be used for narrowing the results using aggregate values. In the following example we fetch all users which have atleast 2 phonenumbers SELECT u.* FROM User u, u.Phonenumber p HAVING COUNT(p.id) >= 2 diff --git a/manual/docs/DQL (Doctrine Query Language) - Operators - Logical operators.php b/manual/docs/DQL (Doctrine Query Language) - Operators - Logical operators.php index faf5081cd..d4325a5a2 100644 --- a/manual/docs/DQL (Doctrine Query Language) - Operators - Logical operators.php +++ b/manual/docs/DQL (Doctrine Query Language) - Operators - Logical operators.php @@ -1,5 +1,5 @@ -
  • +* NOT, ! @@ -40,8 +40,8 @@ NOT, ! expression evaluates the same way as (!1)+1. -
  • -
  • + +* @@ -81,8 +81,8 @@ NOT, ! -> 0 -
  • -
  • + +* OR @@ -121,8 +121,8 @@ NOT, ! -> 1 -
  • -
  • + +* @@ -162,6 +162,6 @@ NOT, ! a XOR b is mathematically equal to (a AND (NOT b)) OR ((NOT a) and b). -
  • + diff --git a/manual/docs/Getting started - Setting table definition - Default values.php b/manual/docs/Getting started - Setting table definition - Default values.php index 14a1102ff..d8796d568 100644 --- a/manual/docs/Getting started - Setting table definition - Default values.php +++ b/manual/docs/Getting started - Setting table definition - Default values.php @@ -1,4 +1,4 @@ - + Doctrine supports default values for all data types. When default value is attached to a record column this means two of things. First this value is attached to every newly created Record. diff --git a/manual/docs/Object relational mapping - Hierarchical data - Introduction - About.php b/manual/docs/Object relational mapping - Hierarchical data - Introduction - About.php index 8da77bfb7..de76901b3 100644 --- a/manual/docs/Object relational mapping - Hierarchical data - Introduction - About.php +++ b/manual/docs/Object relational mapping - Hierarchical data - Introduction - About.php @@ -15,9 +15,9 @@ In a hierarchical data model, data is organized into a tree-like structure. The There are three major approaches to managing tree structures in relational databases, these are: -
  • the adjacency list model
  • -
  • the nested set model (otherwise known as the modified pre-order tree traversal algorithm)
  • -
  • materialized path model
  • + * the adjacency list model + * the nested set model (otherwise known as the modified pre-order tree traversal algorithm) + * materialized path model diff --git a/manual/docs/Object relational mapping - Indexes - Adding indexes.php b/manual/docs/Object relational mapping - Indexes - Adding indexes.php index 6d0f3792c..ca619fbc5 100644 --- a/manual/docs/Object relational mapping - Indexes - Adding indexes.php +++ b/manual/docs/Object relational mapping - Indexes - Adding indexes.php @@ -1,4 +1,4 @@ - + You can add indexes by simple calling Doctrine_Record::index('indexName', $definition) where $definition is the definition array. diff --git a/manual/docs/Object relational mapping - Indexes - Index options.php b/manual/docs/Object relational mapping - Indexes - Index options.php index d53aafdfd..dc5e1a6f6 100644 --- a/manual/docs/Object relational mapping - Indexes - Index options.php +++ b/manual/docs/Object relational mapping - Indexes - Index options.php @@ -1,4 +1,4 @@ - + Doctrine offers many index options, some of them being db-specific. Here is a full list of availible options: diff --git a/manual/docs/Object relational mapping - Indexes - Special indexes.php b/manual/docs/Object relational mapping - Indexes - Special indexes.php index b5dddf795..9812cd638 100644 --- a/manual/docs/Object relational mapping - Indexes - Special indexes.php +++ b/manual/docs/Object relational mapping - Indexes - Special indexes.php @@ -1,4 +1,4 @@ - + Doctrine supports many special indexes. These include Mysql FULLTEXT and Pgsql GiST indexes. In the following example we define a Mysql FULLTEXT index for the field 'content'. diff --git a/manual/docs/Object relational mapping - Record identifiers - Sequence.php b/manual/docs/Object relational mapping - Record identifiers - Sequence.php index b94e0f749..6b4c8f8a6 100644 --- a/manual/docs/Object relational mapping - Record identifiers - Sequence.php +++ b/manual/docs/Object relational mapping - Record identifiers - Sequence.php @@ -1,4 +1,4 @@ - + Doctrine supports sequences for generating record identifiers. Sequences are a way of offering unique IDs for data rows. If you do most of your work with e.g. MySQL, think of sequences as another way of doing AUTO_INCREMENT. diff --git a/manual/docs/Object relational mapping - Table and class naming.php b/manual/docs/Object relational mapping - Table and class naming.php index c96c14a6b..5b8b37c37 100644 --- a/manual/docs/Object relational mapping - Table and class naming.php +++ b/manual/docs/Object relational mapping - Table and class naming.php @@ -1,9 +1,9 @@ Doctrine automatically creates table names from the record class names. For this reason, it is recommended to name your record classes using the following rules: -
  • Use CamelCase naming
  • -
  • Underscores are allowed
  • -
  • The first letter must be capitalized
  • -
  • The class name cannot be one of the following (these keywords are reserved in DQL API): + * Use CamelCase naming + * Underscores are allowed + * The first letter must be capitalized + * The class name cannot be one of the following (these keywords are reserved in DQL API): SELECT, FROM, WHERE, UPDATE, DELETE, JOIN, OUTER, INNER, LEFT, GROUP, ORDER, BY, HAVING, @@ -20,7 +20,7 @@ Doctrine automatically creates table names from the record class names. For this CHARACTER_LENGTH, CHAR_LENGTH, BIT_LENGTH, CURRENT_TIME, CURRENT_DATE, CURRENT_TIMESTAMP, NEW, EXISTS, ALL, ANY, SOME. -
  • + Example. My_PerfectClass diff --git a/manual/docs/Object relational mapping - Table options.php b/manual/docs/Object relational mapping - Table options.php index 1e0923c88..11c4af90f 100644 --- a/manual/docs/Object relational mapping - Table options.php +++ b/manual/docs/Object relational mapping - Table options.php @@ -1,4 +1,4 @@ - + Doctrine offers various table options. All table options can be set via Doctrine_Record::option($optionName, $value) diff --git a/manual/docs/Transactions - Introduction.php b/manual/docs/Transactions - Introduction.php index f966307a9..67c15d284 100644 --- a/manual/docs/Transactions - Introduction.php +++ b/manual/docs/Transactions - Introduction.php @@ -2,16 +2,16 @@ A database transaction is a unit of interaction with a database management syste and reliable way independent of other transactions that must be either entirely completed or aborted. Ideally, a database system will guarantee all of the ACID(Atomicity, Consistency, Isolation, and Durability) properties for each transaction. -
  • [http://en.wikipedia.org/wiki/Atomicity Atomicity] refers to the ability of the DBMS to guarantee that either all of the tasks of a transaction are performed or none of them are. The transfer of funds can be completed or it can fail for a multitude of reasons, but atomicity guarantees that one account won't be debited if the other is not credited as well.
  • +* [http://en.wikipedia.org/wiki/Atomicity Atomicity] refers to the ability of the DBMS to guarantee that either all of the tasks of a transaction are performed or none of them are. The transfer of funds can be completed or it can fail for a multitude of reasons, but atomicity guarantees that one account won't be debited if the other is not credited as well. -
  • [http://en.wikipedia.org/wiki/Database_consistency Consistency] refers to the database being in a legal state when the transaction begins and when it ends. This means that a transaction can't break the rules, or //integrity constraints//, of the database. If an integrity constraint states that all accounts must have a positive balance, then any transaction violating this rule will be aborted.
  • +* [http://en.wikipedia.org/wiki/Database_consistency Consistency] refers to the database being in a legal state when the transaction begins and when it ends. This means that a transaction can't break the rules, or //integrity constraints//, of the database. If an integrity constraint states that all accounts must have a positive balance, then any transaction violating this rule will be aborted. -
  • [http://en.wikipedia.org/wiki/Isolation_%28computer_science%29 Isolation] refers to the ability of the application to make operations in a transaction appear isolated from all other operations. This means that no operation outside the transaction can ever see the data in an intermediate state; a bank manager can see the transferred funds on one account or the other, but never on both—even if she ran her query while the transfer was still being processed. More formally, isolation means the transaction history (or [http://en.wikipedia.org/wiki/Schedule_%28computer_science%29 schedule]) is [http://en.wikipedia.org/wiki/Serializability serializable]. For performance reasons, this ability is the most often relaxed constraint. See the [/wiki/Isolation_%28computer_science%29 isolation] article for more details.
  • +* [http://en.wikipedia.org/wiki/Isolation_%28computer_science%29 Isolation] refers to the ability of the application to make operations in a transaction appear isolated from all other operations. This means that no operation outside the transaction can ever see the data in an intermediate state; a bank manager can see the transferred funds on one account or the other, but never on both—even if she ran her query while the transfer was still being processed. More formally, isolation means the transaction history (or [http://en.wikipedia.org/wiki/Schedule_%28computer_science%29 schedule]) is [http://en.wikipedia.org/wiki/Serializability serializable]. For performance reasons, this ability is the most often relaxed constraint. See the [/wiki/Isolation_%28computer_science%29 isolation] article for more details. -
  • [http://en.wikipedia.org/wiki/Durability_%28computer_science%29 Durability] refers to the guarantee that once the user has been notified of success, the transaction will persist, and not be undone. This means it will survive system failure, and that the [http://en.wikipedia.org/wiki/Database_system database system] has checked the integrity constraints and won't need to abort the transaction. Typically, all transactions are written into a [http://en.wikipedia.org/wiki/Database_log log] that can be played back to recreate the system to its state right before the failure. A transaction can only be deemed committed after it is safely in the log.
  • +* [http://en.wikipedia.org/wiki/Durability_%28computer_science%29 Durability] refers to the guarantee that once the user has been notified of success, the transaction will persist, and not be undone. This means it will survive system failure, and that the [http://en.wikipedia.org/wiki/Database_system database system] has checked the integrity constraints and won't need to abort the transaction. Typically, all transactions are written into a [http://en.wikipedia.org/wiki/Database_log log] that can be played back to recreate the system to its state right before the failure. A transaction can only be deemed committed after it is safely in the log. - //from [http://www.wikipedia.org wikipedia]// @@ -20,10 +20,10 @@ Ideally, a database system will guarantee all of the ACID(Atomicity, Consistency In Doctrine all operations are wrapped in transactions by default. There are some things that should be noticed about how Doctrine works internally: -
  • Doctrine uses application level transaction nesting. +* Doctrine uses application level transaction nesting. -
  • Doctrine always executes INSERT / UPDATE / DELETE queries at the end of transaction (when the outermost commit is called). The operations +* Doctrine always executes INSERT / UPDATE / DELETE queries at the end of transaction (when the outermost commit is called). The operations are performed in the following order: all inserts, all updates and last all deletes. Doctrine knows how to optimize the deletes so that delete operations of the same component are gathered in one query. diff --git a/manual/docs/Transactions - Savepoints.php b/manual/docs/Transactions - Savepoints.php index bad2fe484..60de08a17 100644 --- a/manual/docs/Transactions - Savepoints.php +++ b/manual/docs/Transactions - Savepoints.php @@ -1,4 +1,4 @@ - + Doctrine supports transaction savepoints. This means you can set named transactions and have them nested. diff --git a/manual/docs/Working with objects - Component overview - Collection - Fetching strategies.php b/manual/docs/Working with objects - Component overview - Collection - Fetching strategies.php index b848a1474..da55b4238 100644 --- a/manual/docs/Working with objects - Component overview - Collection - Fetching strategies.php +++ b/manual/docs/Working with objects - Component overview - Collection - Fetching strategies.php @@ -5,7 +5,7 @@ influental things when it comes to boosting application performance. -
  • Immediate Collection +* Immediate Collection Fetches all records and all record data immediately into collection memory. Use this collection only if you really need to show all that data in web page. @@ -17,7 +17,7 @@ SELECT id, name, type, created FROM user -
  • Batch Collection +* Batch Collection Fetches all record primary keys into colletion memory. When individual collection elements are accessed this collection initializes proxy objects. When the non-primary-key-property of a proxy object is accessed that object sends request to Batch collection which loads the data for that specific proxy object as well as other objects close to that proxy object. @@ -35,7 +35,7 @@ SELECT id, name, type, created FROM user WHERE id IN (6,7,8,9,10) [ ... ] -
  • Lazy Collection +* Lazy Collection Lazy collection is exactly same as Batch collection with batch size preset to one. @@ -53,7 +53,7 @@ SELECT id, name, type, created FROM user WHERE id = 3 [ ... ] -
  • Offset Collection +* Offset Collection Offset collection is the same as immediate collection with the difference that it uses database provided limiting of queries. diff --git a/manual/docs/Working with objects - Component overview - Db - Connecting to a database.php b/manual/docs/Working with objects - Component overview - Db - Connecting to a database.php index 63c6dcc9e..6943796fc 100644 --- a/manual/docs/Working with objects - Component overview - Db - Connecting to a database.php +++ b/manual/docs/Working with objects - Component overview - Db - Connecting to a database.php @@ -1,4 +1,4 @@ - + Doctrine_Db allows both PEAR-like DSN (data source name) as well as PDO like DSN as constructor parameters. diff --git a/manual/docs/Working with objects - Component overview - Db - Using event listeners.php b/manual/docs/Working with objects - Component overview - Db - Using event listeners.php index 5c1fe86e9..26b0b52ff 100644 --- a/manual/docs/Working with objects - Component overview - Db - Using event listeners.php +++ b/manual/docs/Working with objects - Component overview - Db - Using event listeners.php @@ -1,4 +1,4 @@ - + Doctrine_Db has a pluggable event listener architecture. It provides before and after listeners for all relevant methods. Every listener method takes one parameter: a Doctrine_Db_Event object, which holds info about the occurred event. diff --git a/manual/docs/Working with objects - Component overview - Query - FROM - selecting tables.php b/manual/docs/Working with objects - Component overview - Query - FROM - selecting tables.php index 5d7847f72..4ae494d2a 100644 --- a/manual/docs/Working with objects - Component overview - Query - FROM - selecting tables.php +++ b/manual/docs/Working with objects - Component overview - Query - FROM - selecting tables.php @@ -1,4 +1,4 @@ - + The FROM clause indicates the component or components from which to retrieve records. If you name more than one component, you are performing a join. For each table specified, you can optionally specify an alias. Doctrine_Query offers easy to use diff --git a/manual/docs/Working with objects - Component overview - Query - HAVING conditions.php b/manual/docs/Working with objects - Component overview - Query - HAVING conditions.php index b7510f011..e66ae467a 100644 --- a/manual/docs/Working with objects - Component overview - Query - HAVING conditions.php +++ b/manual/docs/Working with objects - Component overview - Query - HAVING conditions.php @@ -1,4 +1,4 @@ - + Doctrine_Query provides having() method for adding HAVING conditions to the DQL query. This method is identical in function to the Doctrine_Query::where() method. diff --git a/manual/docs/Working with objects - Component overview - Query - Introduction.php b/manual/docs/Working with objects - Component overview - Query - Introduction.php index 71146fc3e..1806fe32f 100644 --- a/manual/docs/Working with objects - Component overview - Query - Introduction.php +++ b/manual/docs/Working with objects - Component overview - Query - Introduction.php @@ -1,4 +1,4 @@ - + DQL (Doctrine Query Language) is a object query language which allows you to find objects. DQL understands things like object relationships, polymorphism and inheritance (including column aggregation inheritance). diff --git a/manual/docs/Working with objects - Component overview - Query - WHERE - setting query conditions.php b/manual/docs/Working with objects - Component overview - Query - WHERE - setting query conditions.php index 931b3405d..5974ddccf 100644 --- a/manual/docs/Working with objects - Component overview - Query - WHERE - setting query conditions.php +++ b/manual/docs/Working with objects - Component overview - Query - WHERE - setting query conditions.php @@ -1,4 +1,4 @@ - + The WHERE clause, if given, indicates the condition or conditions that the records must satisfy to be selected. Doctrine_Query provides easy to use WHERE -part management methods where and addWhere. The where methods always overrides