Getting started
    Requirements
    Installation
        Include and autoload
    Compiling
    Starting new project
    Working with existing databases
        Introduction
        Making the first import
        Import options
    Exporting classes
        Introduction
        Export options
Connection management
    DSN, the Data Source Name
    Opening a new connection
    Lazy-connecting to database
    Managing connections
    Connection-component binding
Object relational mapping
    Introduction
    Table and class naming
    Table options
    Columns
        Column naming
        Column aliases
        Default values
        Data types
            Introduction
            Type modifiers
            Boolean
            Integer
            Float
            String
            Array
            Object
            Blob
            Clob
            Timestamp
            Time
            Date
            Enum
            Gzip
        About type conversion
    Constraints and validators
        Introduction
        Notnull
        Unique
        Check
    Record identifiers
        Introduction
        Autoincremented
        Natural
        Composite
        Sequence
    Indexes
        Introduction
        Adding indexes
        Index options
        Special indexes
    Relations
        Introduction
        Relation aliases
        Foreign key associations
            One-to-One
            One-to-Many, Many-to-One
            Tree structure
        Join table associations
            One-to-One
            One-to-Many, Many-to-One
            Many-to-Many
            Self-referencing
        Inheritance
            One table many classes
            One table one class
            Column aggregation
        Foreign key constraints
            Introduction
            Constraint actions
    Hierarchical data
        Introduction
            About
            Setting up
            Node interface
            Tree interface
            Traversing or Walking Trees
            Read me
        Adjacency list
            Introduction
        Nested set
            Introduction
            Setting up
            Tree options
            Node support
            Tree support
            Read me
        Materialized path
            Introduction
        Examples
Working with objects
    Dealing with relations
        Creating related records
        Retrieving related records
        Updating related records
        Deleting related records
        Working with associations
    Component overview
        Manager
            Introduction
            Opening a new connection
            Managing connections
        Connection
            Introduction
            Available drivers
            Getting a table object
            Flushing the connection
            Querying the database
            Getting connection state
        Record
            Introduction
            Creating new records
            Retrieving existing records
            Accessing properties
            Updating records
            Deleting records
            Getting record state
            Getting object copy
            Serializing
            Checking Existence
            Callbacks
        Collection
            Introduction
            Accessing elements
            Adding new elements
            Getting collection count
            Saving the collection
            Deleting collection
            Key mapping
            Loading related records
            Collection expanding
        Table
            Introduction
            Getting table information
            Finder methods
            Custom table classes
            Custom finders
            Getting relation objects
    Fetching objects    
Configuration
    Introduction
    Levels of configuration
    Setting attributes
        Portability
        Identifier quoting
        Table creation
        Fetching strategy
        Batch size
        Session lockmode
        Event listener
        Validation
        Offset collection limit
Advanced components
    Eventlisteners
        Introduction
        Creating new listener
        List of events
        Listening events
        Chaining
        AccessorInvoker
        Creating a logger
    Validators
        Introduction
        More Validation
        Valid or Not Valid
        List of predefined validators
    View
        Intoduction
        Managing views
        Using views
    Cache
        Introduction
        Query cache
    Locking Manager
        Introduction
        Examples
        Planned
        Technical Details
        Maintainer
    Db_Profiler
        Introduction
        Basic usage
        Advanced usage
    Hook
        Introduction
        Building queries
        List of parsers
    Query
        Introduction
        selecting tables
        limiting the query results
        setting query conditions
        HAVING conditions
        sorting query results
    RawSql
        Introduction
        Using SQL
        Adding components
        Method overloading
    Db
        Introduction
        Connecting to a database
        Using event listeners
        Chaining listeners
    Exceptions
        Overview
        List of exceptions
DQL (Doctrine Query Language)
    Introduction
    SELECT queries
        DISTINCT keyword
        Aggregate values
    UPDATE queries
    DELETE queries
    FROM clause
    WHERE clause
    Conditional expressions
        Literals
        Input parameters
        Operators and operator precedence
        Between expressions
        In expressions
        Like Expressions
        Null Comparison Expressions
        Empty Collection Comparison Expressions
        Collection Member Expressions
        Exists Expressions
        All and Any Expressions
        Subqueries
    Functional Expressions
        String functions
        Arithmetic functions
        Datetime functions
        Collection functions
    Subqueries
        Introduction
        Comparisons using subqueries
        Conditional expressions
            ANY, IN and SOME
            ALL
            EXISTS and NOT EXISTS
        Correlated subqueries
        Subqueries in FROM clause
    GROUP BY, HAVING clauses
    ORDER BY clause
        Introduction
        Sorting by an aggregate value
        Using random order
    LIMIT and OFFSET clauses
        Introduction
        Driver portability
        The limit-subquery-algorithm
    Examples
    BNF
Native SQL
    Scalar queries
    Component queries
    Fetching multiple components
Transactions
    Introduction
    Unit of work
    Nesting
    Savepoints
    Locking strategies
        Pessimistic locking
        Optimistic locking
    Lock modes
    Isolation levels
    Deadlocks
Caching
    Introduction
    Availible options
    Drivers
        Memcache
        APC
        Sqlite
Database abstraction
    Modules
        Export
            Introduction
            Creating new table
            Altering table
        Import
            Introduction
            Getting table info
            Getting foreign key info
            Getting view info
        Util
            Using explain
        DataDict
            Getting portable type
            Getting database declaration
            Reserved keywords
    Drivers
        Oracle
            Making unsuported functions work
        Mysql
            Tips and tricks
Technology
    Architecture
    Design patterns used
    Speed
    Internal optimizations
        DELETE
        INSERT
        UPDATE
Real world examples
    User management system
    Forum application
    Album lister
Coding standards
    Overview
        Scope
        Goals
    PHP File Formatting
        General
        Indentation
        Maximum line length
        Line termination
    Naming Conventions
        Classes
        Interfaces
        Filenames
        Functions and methods
        Variables
        Constants
        Record columns
    Coding Style
        PHP code demarcation
        Strings
        Arrays
        Classes
        Functions and methods
        Control statements
        Inline documentation
    Testing
        Writing tests
