Programmer's Reference Guide

Zend Framework

2008-10-12


Table of Contents

1. Introduction to Zend Framework
1.1. Overview
1.2. Installation
2. Zend_Acl
2.1. Introduction
2.1.1. About Resources
2.1.2. About Roles
2.1.3. Creating the Access Control List (ACL)
2.1.4. Registering Roles
2.1.5. Defining Access Controls
2.1.6. Querying the ACL
2.2. Refining Access Controls
2.2.1. Precise Access Controls
2.2.2. Removing Access Controls
2.3. Advanced Usage
2.3.1. Storing ACL Data for Persistence
2.3.2. Writing Conditional ACL Rules with Assertions
3. Zend_Amf
3.1. Introduction
3.2. Zend_Amf_Server
3.2.1. Connecting to the server from Flex
3.2.2. Error Handling
3.2.3. AMF Responses
3.2.4. Typed Objects
4. Zend_Auth
4.1. Introduction
4.1.1. Adapters
4.1.2. Results
4.1.3. Identity Persistence
4.1.3.1. Default Persistence in the PHP Session
4.1.3.2. Implementing Customized Storage
4.1.4. Using Zend_Auth
4.2. Database Table Authentication
4.2.1. Introduction
4.2.2. Advanced Use: Persisting a DbTable Result Object
4.2.3. Advanced Usage By Example
4.3. Digest Authentication
4.3.1. Introduction
4.3.2. Specifics
4.3.3. Identity
4.4. HTTP Authentication Adapter
4.4.1. Introduction
4.4.2. Design Overview
4.4.3. Configuration Options
4.4.4. Resolvers
4.4.4.1. File Resolver
4.4.5. Basic Usage
4.5. LDAP Authentication
4.5.1. Introduction
4.5.2. Usage
4.5.3. The API
4.5.4. Server Options
4.5.5. Collecting Debugging Messages
4.5.6. Common Options for Specific Servers
4.5.6.1. Options for Active Directory
4.5.6.2. Options for OpenLDAP
4.6. Open ID Authentication
4.6.1. Introduction
4.6.2. Specifics
5. Zend_Cache
5.1. Introduction
5.2. The theory of caching
5.2.1. The Zend_Cache factory method
5.2.2. Tagging records
5.2.3. Cleaning the cache
5.3. Zend_Cache frontends
5.3.1. Zend_Cache_Core
5.3.1.1. Introduction
5.3.1.2. Available options
5.3.1.3. Examples
5.3.2. Zend_Cache_Frontend_Output
5.3.2.1. Introduction
5.3.2.2. Available options
5.3.2.3. Examples
5.3.3. Zend_Cache_Frontend_Function
5.3.3.1. Introduction
5.3.3.2. Available options
5.3.3.3. Examples
5.3.4. Zend_Cache_Frontend_Class
5.3.4.1. Introduction
5.3.4.2. Available options
5.3.4.3. Examples
5.3.5. Zend_Cache_Frontend_File
5.3.5.1. Introduction
5.3.5.2. Available options
5.3.5.3. Examples
5.3.6. Zend_Cache_Frontend_Page
5.3.6.1. Introduction
5.3.6.2. Available options
5.3.6.3. Examples
5.3.6.4. The specific cancel method
5.4. Zend_Cache backends
5.4.1. Zend_Cache_Backend_File
5.4.2. Zend_Cache_Backend_Sqlite
5.4.3. Zend_Cache_Backend_Memcached
5.4.4. Zend_Cache_Backend_Apc
5.4.5. Zend_Cache_Backend_Xcache
5.4.6. Zend_Cache_Backend_ZendPlatform
5.4.7. Zend_Cache_Backend_TwoLevels
6. Zend_Captcha
6.1. Introduction
6.2. Captcha Operation
6.3. Captcha Adapters
6.3.1. Zend_Captcha_Word
6.3.2. Zend_Captcha_Dumb
6.3.3. Zend_Captcha_Figlet
6.3.4. Zend_Captcha_Image
6.3.5. Zend_Captcha_ReCaptcha
7. Zend_Config
7.1. Introduction
7.2. Theory of Operation
7.3. Zend_Config_Ini
7.4. Zend_Config_Xml
8. Zend_Console_Getopt
8.1. Introduction to Getopt
8.2. Declaring Getopt Rules
8.2.1. Declaring Options with the Short Syntax
8.2.2. Declaring Options with the Long Syntax
8.3. Fetching Options and Arguments
8.3.1. Handling Getopt Exceptions
8.3.2. Fetching Options by Name
8.3.3. Reporting Options
8.3.4. Fetching Non-option Arguments
8.4. Configuring Zend_Console_Getopt
8.4.1. Adding Option Rules
8.4.2. Adding Help Messages
8.4.3. Adding Option Aliases
8.4.4. Adding Argument Lists
8.4.5. Adding Configuration
9. Zend_Controller
9.1. Zend_Controller Quick Start
9.1.1. Introduction
9.1.2. Quick Start
9.1.2.1. Create your filesystem layout
9.1.2.2. Set your document root
9.1.2.3. Create your rewrite rules
9.1.2.4. Create your bootstrap file
9.1.2.5. Create your default action controller
9.1.2.6. Create your view script
9.1.2.7. Create your error controller
9.1.2.8. View the site!
9.2. Zend_Controller Basics
9.3. The Front Controller
9.3.1. Overview
9.3.2. Primary Methods
9.3.2.1. getInstance()
9.3.2.2. setControllerDirectory() and addControllerDirectory
9.3.2.3. addModuleDirectory() and getModuleDirectory()
9.3.2.4. dispatch()
9.3.2.5. run()
9.3.3. Environmental Accessor Methods
9.3.4. Front Controller Parameters
9.3.5. Subclassing the Front Controller
9.4. The Request Object
9.4.1. Introduction
9.4.2. HTTP Requests
9.4.2.1. Accessing Request Data
9.4.2.2. Base Url and Subdirectories
9.4.2.3. Determining the Request Method
9.4.2.4. Detecting AJAX Requests
9.4.3. Subclassing the Request Object
9.5. The Standard Router
9.5.1. Introduction
9.5.2. Using a router
9.5.3. Basic Rewrite Router operation
9.5.4. Default routes
9.5.5. Base URL and subdirectories
9.5.6. Route Types
9.5.6.1. Zend_Controller_Router_Route
9.5.6.1.1. Variable defaults
9.5.6.1.2. Variable requirements
9.5.6.2. Zend_Controller_Router_Route_Static
9.5.6.3. Zend_Controller_Router_Route_Regex
9.5.7. Using Zend_Config with the RewriteRouter
9.5.8. Subclassing the Router
9.6. The Dispatcher
9.6.1. Overview
9.6.2. Subclassing the Dispatcher
9.7. Action Controllers
9.7.1. Introduction
9.7.2. Object initialization
9.7.3. Pre- and Post-Dispatch Hooks
9.7.4. Accessors
9.7.5. View Integration
9.7.5.1. View Initialization
9.7.5.2. Rendering Views
9.7.6. Utility Methods
9.7.7. Subclassing the Action Controller
9.8. Action Helpers
9.8.1. Introduction
9.8.2. Helper Initialization
9.8.3. The Helper Broker
9.8.4. Built-in Action Helpers
9.8.4.1. ActionStack
9.8.4.2. AutoComplete
9.8.4.2.1. AutoCompletion with Dojo
9.8.4.2.2. AutoCompletion with Scriptaculous
9.8.4.3. ContextSwitch and AjaxContext
9.8.4.3.1. Default Contexts Available
9.8.4.3.2. Creating Custom Contexts
9.8.4.3.3. Setting Contexts Per Action
9.8.4.3.4. Initializing Context Switching
9.8.4.3.5. Additional Functionality
9.8.4.3.6. AjaxContext Functionality
9.8.4.4. FlashMessenger
9.8.4.4.1. Introduction
9.8.4.4.2. Basic Usage Example
9.8.4.5. JSON
9.8.4.6. Redirector
9.8.4.6.1. Introduction
9.8.4.6.2. Basic Usage Examples
9.8.4.7. ViewRenderer
9.8.4.7.1. Introduction
9.8.4.7.2. API
9.8.4.7.3. Basic Usage Examples
9.8.4.7.4. Advanced Usage Examples
9.8.5. Writing Your Own Helpers
9.9. The Response Object
9.9.1. Usage
9.9.2. Manipulating Headers
9.9.3. Named Segments
9.9.4. Testing for Exceptions in the Response Object
9.9.5. Subclassing the Response Object
9.10. Plugins
9.10.1. Introduction
9.10.2. Writing Plugins
9.10.3. Using Plugins
9.10.4. Retrieving and Manipulating Plugins
9.10.5. Plugins Included in the Standard Distribution
9.10.5.1. ActionStack
9.10.5.2. Zend_Controller_Plugin_ErrorHandler
9.10.5.2.1. Using the ErrorHandler as a 404 Handler
9.10.5.2.2. Handling Previously Rendered Output
9.10.5.2.3. Plugin Usage Examples
9.10.5.2.4. Error Controller Example
9.11. Using a Conventional Modular Directory Structure
9.11.1. Introduction
9.11.2. Specifying Module Controller Directories
9.11.3. Routing to modules
9.11.4. Module or Global Default Controller
9.12. MVC Exceptions
9.12.1. Introduction
9.12.2. How can you handle exceptions?
9.12.3. MVC Exceptions You May Encounter
9.13. Migrating from Previous Versions
9.13.1. Migrating from 1.5.x to 1.6.0 or newer
9.13.1.1. Dispatcher Interface changes
9.13.2. Migrating from 1.0.x to 1.5.0 or newer
9.13.3. Migrating from 0.9.3 to 1.0.0RC1 or newer
9.13.4. Migrating from 0.9.2 to 0.9.3 or newer
9.13.5. Migrating from 0.6.0 to 0.8.0 or newer
9.13.6. Migrating from 0.2.0 or before to 0.6.0
10. Zend_Currency
10.1. Introduction to Zend_Currency
10.1.1. Why should Zend_Currency be used ?
10.2. How to work with currencies
10.2.1. Create output from an currency
10.2.2. Changing the format of a currency
10.2.3. Informational methods for Zend_Currency
10.2.4. Settings new default values
10.2.5. Speed up Zend_Currency
10.3. Migrating from Previous Versions
10.3.1. Migrating from 1.0.2 to 1.0.3 or newer
11. Zend_Date
11.1. Introduction
11.1.1. Always Set a Default Timezone
11.1.2. Why Use Zend_Date?
11.2. Theory of Operation
11.2.1. Internals
11.3. Basic Methods
11.3.1. The current date
11.3.2. Zend_Date by Example
11.3.2.1. Output a Date
11.3.2.2. Setting a Date
11.3.2.3. Adding and Subtracting Dates
11.3.2.4. Comparison of dates
11.4. Zend_Date API Overview
11.4.1. Zend_Date Options
11.4.1.1. Selecting the date format type
11.4.1.2. DST and Date Math
11.4.1.3. Month Calculations
11.4.1.4. Speed up date localization and normalization with Zend_Cache
11.4.1.5. Receiving syncronised timestamps with Zend_TimeSync
11.4.2. Working with Date Values
11.4.3. Basic Zend_Date Operations Common to Many Date Parts
11.4.3.1. List of Date Parts
11.4.3.2. List of Date Operations
11.4.4. Comparing Dates
11.4.5. Getting Dates and Date Parts
11.4.6. Working with Fractions of Seconds
11.4.7. Sunrise / Sunset
11.5. Creation of dates
11.5.1. Create the actual date
11.5.2. Create a date from database
11.5.3. Create dates from an array
11.6. Constants for General Date Functions
11.6.1. Using Constants
11.6.2. List of All Constants
11.6.3. Self-Defined OUTPUT Formats with ISO
11.6.4. Self-defined OUTPUT formats using PHP's date() format specifiers
11.7. Working examples
11.7.1. Checking dates
11.7.2. Sunrise and Sunset
11.7.3. Timezones
12. Zend_Db
12.1. Zend_Db_Adapter
12.1.1. Connecting to a Database using an Adapter
12.1.1.1. Using a Zend_Db Adapter Constructor
12.1.1.2. Using the Zend_Db Factory
12.1.1.3. Using Zend_Config with the Zend_Db Factory
12.1.1.4. Adapter Parameters
12.1.1.5. Managing Lazy Connections
12.1.2. The example database
12.1.3. Reading Query Results
12.1.3.1. Fetching a Complete Result Set
12.1.3.2. Changing the Fetch Mode
12.1.3.3. Fetching a Result Set as an Associative Array
12.1.3.4. Fetching a Single Column from a Result Set
12.1.3.5. Fetching Key-Value Pairs from a Result Set
12.1.3.6. Fetching a Single Row from a Result Set
12.1.3.7. Fetching a Single Scalar from a Result Set
12.1.4. Writing Changes to the Database
12.1.4.1. Inserting Data
12.1.4.2. Retrieving a Generated Value
12.1.4.3. Updating Data
12.1.4.4. Deleting Data
12.1.5. Quoting Values and Identifiers
12.1.5.1. Using quote()
12.1.5.2. Using quoteInto()
12.1.5.3. Using quoteIdentifier()
12.1.6. Controlling Database Transactions
12.1.7. Listing and Describing Tables
12.1.8. Closing a Connection
12.1.9. Running Other Database Statements
12.1.10. Notes on Specific Adapters
12.1.10.1. IBM DB2
12.1.10.2. MySQLi
12.1.10.3. Oracle
12.1.10.4. PDO for IBM DB2 and Informix Dynamic Server (IDS)
12.1.10.5. PDO Microsoft SQL Server
12.1.10.6. PDO MySQL
12.1.10.7. PDO Oracle
12.1.10.8. PDO PostgreSQL
12.1.10.9. PDO SQLite
12.1.10.10. Firebird/Interbase
12.2. Zend_Db_Statement
12.2.1. Creating a Statement
12.2.2. Executing a Statement
12.2.3. Fetching Results from a SELECT Statement
12.2.3.1. Fetching a Single Row from a Result Set
12.2.3.2. Fetching a Complete Result Set
12.2.3.3. Changing the Fetch Mode
12.2.3.4. Fetching a Single Column from a Result Set
12.2.3.5. Fetching a Row as an Object
12.3. Zend_Db_Profiler
12.3.1. Introduction
12.3.2. Using the Profiler
12.3.3. Advanced Profiler Usage
12.3.3.1. Filter by query elapsed time
12.3.3.2. Filter by query type
12.3.3.3. Retrieve profiles by query type
12.3.4. Specialized Profilers
12.3.4.1. Profiling with Firebug
12.4. Zend_Db_Select
12.4.1. Overview of the Select Object
12.4.2. Creating a Select Object
12.4.3. Building Select queries
12.4.3.1. Adding a FROM clause
12.4.3.2. Adding Columns
12.4.3.3. Adding Expression Columns
12.4.3.4. Adding columns to an existing FROM or JOIN table
12.4.3.5. Adding Another Table to the Query with JOIN
12.4.3.6. Adding a WHERE Clause
12.4.3.7. Adding a GROUP BY Clause
12.4.3.8. Adding a HAVING Clause
12.4.3.9. Adding an ORDER BY Clause
12.4.3.10. Adding a LIMIT Clause
12.4.3.11. Adding the DISTINCT Query Modifier
12.4.3.12. Adding the FOR UPDATE Query Modifier
12.4.4. Executing Select Queries
12.4.4.1. Executing Select Queries from the Db Adapter
12.4.4.2. Executing Select Queries from the Object
12.4.4.3. Converting a Select Object to a SQL String
12.4.5. Other methods
12.4.5.1. Retrieving Parts of the Select Object
12.4.5.2. Resetting Parts of the Select Object
12.5. Zend_Db_Table
12.5.1. Introduction to Table Class
12.5.2. Defining a Table Class
12.5.2.1. Defining the Table Name and Schema
12.5.2.2. Defining the Table Primary Key
12.5.2.3. Overriding Table Setup Methods
12.5.2.4. Table initialization
12.5.3. Creating an Instance of a Table
12.5.3.1. Specifying a Database Adapter
12.5.3.2. Setting a Default Database Adapter
12.5.3.3. Storing a Database Adapter in the Registry
12.5.4. Inserting Rows to a Table
12.5.4.1. Using a Table with an Auto-incrementing Key
12.5.4.2. Using a Table with a Sequence
12.5.4.3. Using a Table with a Natural Key
12.5.5. Updating Rows in a Table
12.5.6. Deleting Rows from a Table
12.5.7. Finding Rows by Primary Key
12.5.8. Querying for a Set of Rows
12.5.8.1. Select API
12.5.8.2. Fetching a rowset
12.5.8.3. Advanced usage
12.5.9. Querying for a Single Row
12.5.10. Retrieving Table Metadata Information
12.5.11. Caching Table Metadata
12.5.12. Customizing and Extending a Table Class
12.5.12.1. Using Custom Row or Rowset Classes
12.5.12.2. Defining Custom Logic for Insert, Update, and Delete
12.5.12.3. Define Custom Search Methods in Zend_Db_Table
12.5.12.4. Define Inflection in Zend_Db_Table
12.6. Zend_Db_Table_Row
12.6.1. Introduction
12.6.2. Fetching a Row
12.6.2.1. Reading column values from a row
12.6.2.2. Retrieving Row Data as an Array
12.6.2.3. Fetching data from related tables
12.6.3. Writing rows to the database
12.6.3.1. Changing column values in a row
12.6.3.2. Inserting a new row
12.6.3.3. Changing values in multiple columns
12.6.3.4. Deleting a row
12.6.4. Serializing and unserializing rows
12.6.4.1. Serializing a Row
12.6.4.2. Unserializing Row Data
12.6.4.3. Reactivating a Row as Live Data
12.6.5. Extending the Row class
12.6.5.1. Row initialization
12.6.5.2. Defining Custom Logic for Insert, Update, and Delete in Zend_Db_Table_Row
12.6.5.3. Define Inflection in Zend_Db_Table_Row
12.7. Zend_Db_Table_Rowset
12.7.1. Introduction
12.7.2. Fetching a Rowset
12.7.3. Retrieving Rows from a Rowset
12.7.4. Retrieving a Rowset as an Array
12.7.5. Serializing and Unserializing a Rowset
12.7.6. Extending the Rowset class
12.8. Zend_Db_Table Relationships
12.8.1. Introduction
12.8.2. Defining Relationships
12.8.3. Fetching a Dependent Rowset
12.8.4. Fetching a Parent Row
12.8.5. Fetching a Rowset via a Many-to-many Relationship
12.8.6. Cascading Write Operations
12.8.6.1. Notes Regarding Cascading Operations
13. Zend_Debug
13.1. Dumping Variables
14. Zend_Dojo
14.1. Introduction
14.2. Zend_Dojo_Data: dojo.data Envelopes
14.2.1. Zend_Dojo_Data Usage
14.2.2. Adding metadata to your containers
14.2.3. Advanced Use Cases
14.2.3.1. Available Methods
14.3. Dojo View Helpers
14.3.1. dojo() View Helper
14.3.1.1. Programmatic and Declarative Usage of Dojo
14.3.1.2. Themes
14.3.1.3. Using Layers (Custom Builds)
14.3.1.4. Methods Available
14.3.2. Dijit-Specific View Helpers
14.3.2.1. Dijit Layout Elements
14.3.2.2. Dijit Form Elements
14.4. Dojo Form Elements and Decorators
14.4.1. Dijit-Specific Form Decorators
14.4.1.1. DijitElement Decorator
14.4.1.2. DijitForm Decorator
14.4.1.3. DijitContainer-based Decorators
14.4.2. Dijit-Specific Form Elements
14.4.2.1. Button
14.4.2.2. CheckBox
14.4.2.3. ComboBox and FilteringSelect
14.4.2.4. CurrencyTextBox
14.4.2.5. DateTextBox
14.4.2.6. Editor
14.4.2.7. HorizontalSlider
14.4.2.8. NumberSpinner
14.4.2.9. NumberTextBox
14.4.2.10. PasswordTextBox
14.4.2.11. RadioButton
14.4.2.12. SimpleTextarea
14.4.2.13. Slider abstract element
14.4.2.14. SubmitButton
14.4.2.15. TextBox
14.4.2.16. Textarea
14.4.2.17. TimeTextBox
14.4.2.18. ValidationTextBox
14.4.2.19. VerticalSlider
14.4.3. Dojo Form Examples
15. Zend_Dom
15.1. Introduction
15.2. Zend_Dom_Query
15.2.1. Theory of Operation
15.2.2. Methods Available
15.2.2.1. Zend_Dom_Query
15.2.2.2. Zend_Dom_Query_Result
16. Zend_Exception
16.1. Using Exceptions
17. Zend_Feed
17.1. Introduction
17.2. Importing Feeds
17.2.1. Custom feeds
17.2.1.1. Importing a custom array
17.2.1.2. Importing a custom data source
17.2.1.3. Dumping the contents of a feed
17.3. Retrieving Feeds from Web Pages
17.4. Consuming an RSS Feed
17.5. Consuming an Atom Feed
17.6. Consuming a Single Atom Entry
17.7. Modifying Feed and Entry structures
17.8. Custom Feed and Entry Classes
18. Zend_File
18.1. Zend_File_Transfer
18.1.1. Supported adapters for Zend_File_Transfer
18.1.2. Options for Zend_File_Transfer
18.2. Validators for Zend_File_Transfer
18.2.1. Using validators with Zend_File_Transfer
18.2.2. Count validator
18.2.3. ExcludeExtension validator
18.2.4. ExcludeMimeType validator
18.2.5. Exists validator
18.2.6. Extension validator
18.2.7. FilesSize validator
18.2.8. ImageSize validator
18.2.9. IsCompressed validator
18.2.10. IsImage validator
18.2.11. MimeType validator
18.2.12. NotExists validator
18.2.13. Size validator
18.3. Filters for Zend_File_Transfer
18.3.1. Using filters with Zend_File_Transfer
18.3.2. Rename filter
18.4. Migrating from previous versions
18.4.1. Migrating from 1.6.1 to 1.6.2 or newer
18.4.1.1. Changes when using validators
19. Zend_Filter
19.1. Introduction
19.1.1. What is a filter?
19.1.2. Basic usage of filters
19.1.3. Using the static get() method
19.2. Standard Filter Classes
19.2.1. Alnum
19.2.2. Alpha
19.2.3. BaseName
19.2.4. Digits
19.2.5. Dir
19.2.6. HtmlEntities
19.2.7. Int
19.2.8. StripNewlines
19.2.9. RealPath
19.2.10. StringToLower
19.2.11. StringToUpper
19.2.12. StringTrim
19.2.13. StripTags
19.3. Filter Chains
19.4. Writing Filters
19.5. Zend_Filter_Input
19.5.1. Declaring Filter and Validator Rules
19.5.2. Creating the Filter and Validator Processor
19.5.3. Retrieving Validated Fields and other Reports
19.5.3.1. Querying if the input is valid
19.5.3.2. Getting Invalid, Missing, or Unknown Fields
19.5.3.3. Getting Valid Fields
19.5.4. Using Metacommands to Control Filter or Validator Rules
19.5.4.1. The FIELDS metacommand
19.5.4.2. The PRESENCE metacommand
19.5.4.3. The DEFAULT_VALUE metacommand
19.5.4.4. The ALLOW_EMPTY metacommand
19.5.4.5. The BREAK_CHAIN metacommand
19.5.4.6. The MESSAGES metacommand
19.5.4.7. Using options to set metacommands for all rules
19.5.5. Adding Filter Class Namespaces
19.6. Zend_Filter_Inflector
19.6.1. Operation
19.6.2. Setting Paths To Alternate Filters
19.6.3. Setting the Inflector Target
19.6.4. Inflection Rules
19.6.4.1. Static Rules
19.6.4.2. Filter Inflector Rules
19.6.4.3. Setting Many Rules At Once
19.6.5. Utility Methods
19.6.6. Using Zend_Config with Zend_Filter_Inflector
20. Zend_Form
20.1. Zend_Form
20.2. Zend_Form Quick Start
20.2.1. Create a form object
20.2.2. Add elements to the form
20.2.3. Render a form
20.2.4. Check if a form is valid
20.2.5. Get error status
20.2.6. Putting it together
20.2.7. Using a Zend_Config object
20.2.8. Conclusion
20.3. Creating Form Elements Using Zend_Form_Element
20.3.1. Plugin Loaders
20.3.2. Filters
20.3.3. Validators
20.3.3.1. Custom Error Messages
20.3.4. Decorators
20.3.5. Metadata and Attributes
20.3.6. Standard Elements
20.3.7. Zend_Form_Element Methods
20.3.8. Configuration
20.3.9. Custom Elements
20.4. Creating Forms Using Zend_Form
20.4.1. Plugin Loaders
20.4.2. Elements
20.4.2.1. Populating and Retrieving Values
20.4.2.2. Global Operations
20.4.2.3. Methods For Interacting With Elements
20.4.3. Display Groups
20.4.3.1. Global Operations
20.4.3.2. Using Custom Display Group Classes
20.4.3.3. Methods for Interacting With Display Groups
20.4.3.4. Zend_Form_DisplayGroup Methods
20.4.4. Sub Forms
20.4.4.1. Global Operations
20.4.4.2. Methods for Interacting With Sub Forms
20.4.5. Metadata and Attributes
20.4.6. Decorators
20.4.7. Validation
20.4.7.1. Custom Error Messages
20.4.8. Methods
20.4.9. Configuration
20.4.10. Custom forms
20.5. Creating Custom Form Markup Using Zend_Form_Decorator
20.5.1. Operation
20.5.2. Standard Decorators
20.5.3. Custom Decorators
20.5.4. Rendering Individual Decorators
20.6. Standard Form Elements Shipped With Zend Framework
20.6.1. Zend_Form_Element_Button
20.6.2. Zend_Form_Element_Captcha
20.6.3. Zend_Form_Element_Checkbox
20.6.4. Zend_Form_Element_File
20.6.5. Zend_Form_Element_Hidden
20.6.6. Zend_Form_Element_Hash
20.6.7. Zend_Form_Element_Image
20.6.8. Zend_Form_Element_MultiCheckbox
20.6.9. Zend_Form_Element_Multiselect
20.6.10. Zend_Form_Element_Password
20.6.11. Zend_Form_Element_Radio
20.6.12. Zend_Form_Element_Reset
20.6.13. Zend_Form_Element_Select
20.6.14. Zend_Form_Element_Submit
20.6.15. Zend_Form_Element_Text
20.6.16. Zend_Form_Element_Textarea
20.7. Standard Form Decorators Shipped With Zend Framework
20.7.1. Zend_Form_Decorator_Callback
20.7.2. Zend_Form_Decorator_Captcha
20.7.3. Zend_Form_Decorator_Description
20.7.4. Zend_Form_Decorator_DtDdWrapper
20.7.5. Zend_Form_Decorator_Errors
20.7.6. Zend_Form_Decorator_Fieldset
20.7.7. Zend_Form_Decorator_File
20.7.8. Zend_Form_Decorator_Form
20.7.9. Zend_Form_Decorator_FormElements
20.7.10. Zend_Form_Decorator_HtmlTag
20.7.11. Zend_Form_Decorator_Image
20.7.12. Zend_Form_Decorator_Label
20.7.13. Zend_Form_Decorator_ViewHelper
20.7.14. Zend_Form_Decorator_ViewScript
20.8. Internationalization of Zend_Form
20.8.1. Initializing I18n in Forms
20.8.2. Standard I18n Targets
20.9. Advanced Zend_Form Usage
20.9.1. Array Notation
20.9.2. Multi-Page Forms
21. Zend_Gdata
21.1. Introduction to Gdata
21.1.1. Structure of Zend_Gdata
21.1.2. Interacting with Google Services
21.1.3. Obtaining instances of Zend_Gdata classes
21.1.4. Google Data Client Authentication
21.1.5. Dependencies
21.1.6. Creating a new Gdata client
21.1.7. Common query parameters
21.1.8. Fetching a feed
21.1.9. Working with multi-page feeds
21.1.10. Working with data in feeds and entries
21.1.11. Updating entries
21.1.12. Posting entries to Google servers
21.1.13. Deleting entries on Google servers
21.2. Authenticating with AuthSub
21.2.1. Creating an AuthSub authenticated Http Client
21.2.2. Revoking AuthSub authentication
21.3. Using the Book Search Data API
21.3.1. Authenticating to the Book Search service
21.3.2. Searching for books
21.3.2.1. Partner Co-Branded Search
21.3.3. Using community features
21.3.3.1. Adding a rating
21.3.3.2. Reviews
21.3.3.2.1. Adding a review
21.3.3.2.2. Editing a review
21.3.3.3. Labels
21.3.3.3.1. Submitting a set of labels
21.3.3.4. Retrieving annotations: reviews, ratings, and labels
21.3.3.5. Deleting Annotations
21.3.4. Book collections and My Library
21.3.4.1. Retrieving books in a user's library
21.3.4.1.1. Retrieving all books in a user's library
21.3.4.1.2. Searching for books in a user's library
21.3.4.2. Updating books in a user's library
21.3.4.2.1. Adding a book to a library
21.3.4.2.2. Removing a book from a library
21.4. Authenticating with ClientLogin
21.4.1. Creating a ClientLogin authenticated Http Client
21.4.2. Terminating a ClientLogin authenticated Http Client
21.5. Using Google Calendar
21.5.1. Connecting To The Calendar Service
21.5.1.1. Authentication
21.5.1.2. Creating A Service Instance
21.5.2. Retrieving A Calendar List
21.5.3. Retrieving Events
21.5.3.1. Queries
21.5.3.2. Retrieving Events In Order Of Start Time
21.5.3.3. Retrieving Events In A Specified Date Range
21.5.3.4. Retrieving Events By Fulltext Query
21.5.3.5. Retrieving Individual Events
21.5.4. Creating Events
21.5.4.1. Creating Single-Occurrence Events
21.5.4.2. Event Schedules and Reminders
21.5.4.3. Creating Recurring Events
21.5.4.4. Using QuickAdd
21.5.5. Modifying Events
21.5.6. Deleting Events
21.5.7. Accessing Event Comments
21.6. Using Google Documents List Data API
21.6.1. Get a List of Documents
21.6.2. Upload a Document
21.6.3. Searching the documents feed
21.6.3.1. Get a List of Word Processing Documents
21.6.3.2. Get a List of Spreadsheets
21.6.3.3. Performing a text query
21.7. Using Google Spreadsheets
21.7.1. Create a Spreadsheet
21.7.2. Get a List of Spreadsheets
21.7.3. Get a List of Worksheets
21.7.4. Interacting With List-based Feeds
21.7.4.1. Get a List-based Feed
21.7.4.2. Reverse-sort Rows
21.7.4.3. Send a Structured Query
21.7.4.4. Add a Row
21.7.4.5. Edit a Row
21.7.4.6. Delete a Row
21.7.5. Interacting With Cell-based Feeds
21.7.5.1. Get a Cell-based Feed
21.7.5.2. Send a Cell Range Query
21.7.5.3. Change Contents of a Cell
21.8. Using Google Apps Provisioning
21.8.1. Setting the current domain
21.8.1.1. Setting the domain for the service class
21.8.1.2. Setting the domain for query classes
21.8.2. Interacting with users
21.8.2.1. Creating a user account
21.8.2.2. Retrieving a user account
21.8.2.3. Retrieving all users in a domain
21.8.2.4. Updating a user account
21.8.2.4.1. Resetting a user's password
21.8.2.4.2. Forcing a user to change their password
21.8.2.4.3. Suspending a user account
21.8.2.4.4. Granting administrative rights
21.8.2.5. Deleting user accounts
21.8.3. Interacting with nicknames
21.8.3.1. Creating a nickname
21.8.3.2. Retrieving a nickname
21.8.3.3. Retrieving all nicknames for a user
21.8.3.4. Retrieving all nicknames in a domain
21.8.3.5. Deleting a nickname
21.8.4. Interacting with email lists
21.8.4.1. Creating an email list
21.8.4.2. Retrieving all email lists to which a recipient is subscribed
21.8.4.3. Retrieving all email lists in a domain
21.8.4.4. Deleting an email list
21.8.5. Interacting with email list recipients
21.8.5.1. Adding a recipient to an email list
21.8.5.2. Retrieving the list of subscribers to an email list
21.8.5.3. Removing a recipient from an email list
21.8.6. Handling errors
21.9. Using Google Base
21.9.1. Connect To The Base Service
21.9.1.1. Authentication
21.9.1.2. Create A Service Instance
21.9.2. Retrieve Items
21.9.2.1. Send a Structured Query
21.9.2.1.1. Query Customer Items Feed
21.9.2.1.2. Query Snippets Feed
21.9.2.2. Iterate through the Items
21.9.3. Insert, Update, and Delete Customer Items
21.9.3.1. Insert an Item
21.9.3.2. Modify an Item
21.9.3.3. Delete an Item
21.10. Using Picasa Web Albums
21.10.1. Connecting To The Service
21.10.1.1. Authentication
21.10.1.2. Creating A Service Instance
21.10.2. Understanding and Constructing Queries
21.10.3. Retrieving Feeds And Entries
21.10.3.1. Retrieving A User
21.10.3.2. Retrieving An Album
21.10.3.3. Retrieving A Photo
21.10.3.4. Retrieving A Comment
21.10.3.5. Retrieving A Tag
21.10.4. Creating Entries
21.10.4.1. Creating An Album
21.10.4.2. Creating A Photo
21.10.4.3. Creating A Comment
21.10.4.4. Creating A Tag
21.10.5. Deleting Entries
21.10.5.1. Deleting An Album
21.10.5.2. Deleting A Photo
21.10.5.3. Deleting A Comment
21.10.5.4. Deleting A Tag
21.10.5.5. Optimistic Concurrency (Notes On Deletion)
21.11. Using the YouTube Data API
21.11.1. Authentication
21.11.2. Developer Keys and Client ID
21.11.3. Retrieving public video feeds
21.11.3.1. Searching for videos by metadata
21.11.3.2. Searching for videos by categories and tags/keywords
21.11.3.3. Retrieving standard feeds
21.11.3.4. Retrieving videos uploaded by a user
21.11.3.5. Retrieving videos favorited by a user
21.11.3.6. Retrieving video responses for a video
21.11.4. Retrieving video comments
21.11.5. Retrieving playlist feeds
21.11.5.1. Retrieving the playlists of a user
21.11.5.2. Retrieving a specific playlist
21.11.6. Retrieving a list of a user's subscriptions
21.11.7. Retrieving a user's profile
21.11.8. Uploading Videos to YouTube
21.11.9. Browser-based upload
21.11.10. Checking upload status
21.11.11. Other Functions
21.12. Catching Gdata Exceptions
22. Zend_Http
22.1. Zend_Http_Client - Introduction
22.1.1. Introduction
22.1.2. Configuration Parameters
22.1.3. Performing Basic HTTP Requests
22.1.4. Adding GET and POST parameters
22.1.5. Accessing Last Request and Response
22.2. Zend_Http_Client - Advanced Usage
22.2.1. HTTP Redirections
22.2.2. Adding Cookies and Using Cookie Persistence
22.2.3. Setting Custom Request Headers
22.2.4. File Uploads
22.2.5. Sending Raw POST Data
22.2.6. HTTP Authentication
22.2.7. Sending Multiple Requests With the Same Client
22.3. Zend_Http_Client - Connection Adapters
22.3.1. Overview
22.3.2. The Socket Adapter
22.3.3. The Proxy Adapter
22.3.4. The Test Adapter
22.3.5. Creating your own connection adapters
22.4. Zend_Http_Cookie and Zend_Http_CookieJar
22.4.1. Introduction
22.4.2. Instantiating Zend_Http_Cookie Objects
22.4.3. Zend_Http_Cookie getter methods
22.4.4. Zend_Http_Cookie: Matching against a scenario
22.4.5. The Zend_Http_CookieJar Class: Instantiation
22.4.6. Adding Cookies to a Zend_Http_CookieJar object
22.4.7. Retrieving Cookies From a Zend_Http_CookieJar object
22.5. Zend_Http_Response
22.5.1. Introduction
22.5.2. Boolean Tester Methods
22.5.3. Accessor Methods
22.5.4. Static HTTP Response Parsers
23. Zend_InfoCard
23.1. Introduction
23.1.1. Basic Theory of Usage
23.1.2. Using as part of Zend_Auth
23.1.3. Using the Zend_InfoCard component standalone
23.1.4. Working with a Claims object
23.1.5. Attaching Information Cards to existing accounts
23.1.6. Creating Zend_InfoCard adapters
24. Zend_Json
24.1. Introduction
24.2. Basic Usage
24.3. JSON Objects
24.4. XML to JSON conversion
24.5. Zend_Json_Server - JSON-RPC server
24.5.1. Advanced Details
24.5.1.1. Zend_Json_Server
24.5.1.2. Zend_Json_Server_Request
24.5.1.3. Zend_Json_Server_Response
24.5.1.4. Zend_Json_Server_Error
24.5.1.5. Zend_Json_Server_Smd
25. Zend_Layout
25.1. Introduction
25.2. Zend_Layout Quick Start
25.2.1. Layout scripts
25.2.2. Using Zend_Layout with the Zend Framework MVC
25.2.3. Using Zend_Layout as a Standalone Component
25.2.4. Sample Layout
25.3. Zend_Layout Configuration Options
25.3.1. Examples
25.4. Zend_Layout Advanced Usage
25.4.1. Custom View Objects
25.4.2. Custom Front Controller Plugins
25.4.3. Custom Action Helpers
25.4.4. Custom Layout Script Path Resolution: Using the Inflector
26. Zend_Ldap
26.1. Introduction
26.1.1. Theory of Operation
26.1.1.1. Automatic Username Canonicalization When Binding
26.1.1.2. Zend_Ldap Options
26.1.1.3. Account Name Canonicalization
26.1.1.4. Multi-domain Authentication and Failover
27. Zend_Loader
27.1. Loading Files and Classes Dynamically
27.1.1. Loading Files
27.1.2. Loading Classes
27.1.3. Testing if a File is Readable
27.1.4. Using the Autoloader
27.2. Loading Plugins
27.2.1. Basic Use Case
27.2.2. Manipulating Plugin Paths
27.2.3. Testing for Plugins and Retrieving Class Names
28. Zend_Locale
28.1. Introduction
28.1.1. What is Localization
28.1.2. What is a Locale?
28.1.3. How are Locales Represented?
28.1.4. Selecting the Right Locale
28.1.5. Usage of automatic Locales
28.1.6. Using a default Locale
28.1.7. ZF Locale-Aware Classes
28.1.8. Application wide locale
28.1.9. Zend_Locale_Format::setOptions(array $options)
28.1.10. Speed up Zend_Locale and its subclasses
28.2. Using Zend_Locale
28.2.1. Copying, Cloning, and Serializing Locale Objects
28.2.2. Equality
28.2.3. Default locales
28.2.4. Set a new locale
28.2.5. Getting the language and region
28.2.6. Obtaining localized strings
28.2.7. Obtaining translations for "yes" and "no"
28.2.8. Get a list of all known locales
28.3. Normalization and Localization
28.3.1. Number normalization: getNumber($input, Array $options)
28.3.1.1. Precision and Calculations
28.3.2. Number localization
28.3.3. Number testing
28.3.4. Float value normalization
28.3.5. Floating point value localization
28.3.6. Floating point value testing
28.3.7. Integer value normalization
28.3.8. Integer point value localization
28.3.9. Integer value testing
28.3.10. Numeral System Conversion
28.3.10.1. List of supported numeral systems
28.4. Working with Dates and Times
28.4.1. Normalizing Dates and Times
28.4.2. Testing Dates
28.4.3. Normalizing a Time
28.4.4. Testing Times
28.5. Supported locales
29. Zend_Log
29.1. Overview
29.1.1. Creating a Log
29.1.2. Logging Messages
29.1.3. Destroying a Log
29.1.4. Using Built-in Priorities
29.1.5. Adding User-defined Priorities
29.1.6. Understanding Log Events
29.2. Writers
29.2.1. Writing to Streams
29.2.2. Writing to Databases
29.2.3. Writing to Firebug
29.2.3.1. Setting Styles for Priorities
29.2.3.2. Preparing data for Logging
29.2.3.3. Exception Logging
29.2.3.4. Table Logging
29.2.4. Stubbing Out the Writer
29.2.5. Testing with the Mock
29.2.6. Compositing Writers
29.3. Formatters
29.3.1. Simple Formatting
29.3.2. Formatting to XML
29.4. Filters
29.4.1. Filtering for All Writers
29.4.2. Filtering for a Writer Instance
30. Zend_Mail
30.1. Introduction
30.1.1. Getting started
30.1.2. Configuring the default sendmail transport
30.2. Sending via SMTP
30.3. Sending Multiple Mails per SMTP Connection
30.4. Using Different Transports
30.5. HTML E-Mail
30.6. Attachments
30.7. Adding Recipients
30.8. Controlling the MIME Boundary
30.9. Additional Headers
30.10. Character Sets
30.11. Encoding
30.12. SMTP Authentication
30.13. Securing SMTP Transport
30.14. Reading Mail Messages
30.14.1. Simple example using Pop3
30.14.2. Opening a local storage
30.14.3. Opening a remote storage
30.14.4. Fetching messages and simple methods
30.14.5. Working with messages
30.14.6. Checking for flags
30.14.7. Using folders
30.14.8. Advanced Use
30.14.8.1. Using NOOP
30.14.8.2. Caching instances
30.14.8.3. Extending Protocol Classes
30.14.8.4. Using Quota (since 1.5)
31. Zend_Measure
31.1. Introduction
31.2. Creation of Measurements
31.2.1. Creating measurements from integers and floats
31.2.2. Creating measurements from strings
31.2.3. Measurements from localized strings
31.3. Outputting measurements
31.3.1. Automatic output
31.3.2. Outputting values
31.3.3. Output with unit of measurement
31.3.4. Output as localized string
31.4. Manipulating Measurements
31.4.1. Convert
31.4.2. Add and subtract
31.4.3. Compare
31.4.4. Compare
31.4.5. Manually change values
31.4.6. Manually change types
31.5. Types of measurements
31.5.1. Hints for Zend_Measure_Binary
31.5.2. Hints for Zend_Measure_Number
31.5.3. Roman numbers
32. Zend_Memory
32.1. Overview
32.1.1. Introduction
32.1.2. Theory of Operation
32.1.2.1. Memory manager
32.1.2.2. Memory container
32.1.2.3. Locked memory
32.1.2.4. Movable memory
32.2. Memory Manager
32.2.1. Creating a Memory Manager
32.2.2. Managing Memory Objects
32.2.2.1. Creating Movable Objects
32.2.2.2. Creating Locked Objects
32.2.2.3. Destroying Objects
32.2.3. Memory Manager Settings
32.2.3.1. Memory Limit
32.2.3.2. MinSize
32.3. Memory Objects
32.3.1. Movable
32.3.2. Locked
32.3.3. Memory container 'value' property.
32.3.4. Memory container interface
32.3.4.1. getRef() method
32.3.4.2. touch() method
32.3.4.3. lock() method
32.3.4.4. unlock() method
32.3.4.5. isLocked() method
33. Zend_Mime
33.1. Zend_Mime
33.1.1. Introduction
33.1.2. Static Methods and Constants
33.1.3. Instantiating Zend_Mime
33.2. Zend_Mime_Message
33.2.1. Introduction
33.2.2. Instantiation
33.2.3. Adding MIME Parts
33.2.4. Boundary handling
33.2.5. parsing a string to create a Zend_Mime_Message object (experimental)
33.3. Zend_Mime_Part
33.3.1. Introduction
33.3.2. Instantiation
33.3.3. Methods for rendering the message part to a string
34. Zend_OpenId
34.1. Introduction
34.1.1. What is OpenID?
34.1.2. How Does it Work?
34.1.3. Zend_OpenId Structure
34.1.4. Supported Standards
34.2. Zend_OpenId_Consumer Basics
34.2.1. OpenID Authentication
34.2.2. Combine all Steps in One Page
34.2.3. Realm
34.2.4. Immediate Check
34.2.5. Zend_OpenId_Consumer_Storage
34.2.6. Simple Registration Extension
34.2.7. Integration with Zend_Auth
34.2.8. Integration with Zend_Controller
34.3. Zend_OpenId_Provider
34.3.1. Quick Start
34.3.2. Combine all together
34.3.3. Simple Registration Extension
34.3.4. What Else?
35. Zend_Paginator
35.1. Introduction
35.2. Usage
35.2.1. Paginating data collections
35.2.2. Rendering pages with view scripts
35.2.2.1. Example pagination controls
35.2.2.2. Listing of properties
35.3. Configuration
35.4. Advanced usage
35.4.1. Custom data source adapters
35.4.2. Custom scrolling styles
36. Zend_Pdf
36.1. Introduction.
36.2. Creating and loading PDF documents.
36.3. Save changes to the PDF document.
36.4. Document pages.
36.4.1. Page creation.
36.4.2. Page cloning.
36.5. Drawing
36.5.1. Geometry
36.5.2. Colors
36.5.3. Shape Drawing
36.5.4. Text Drawing
36.5.5. Using fonts
36.5.6. Starting in 1.5, Extracting fonts.
36.5.7. Image Drawing
36.5.8. Line drawing style
36.5.9. Fill style
36.5.10. Rotations
36.5.11. Save/restore graphics state
36.5.12. Clipping draw area
36.5.13. Styles
36.5.14. Transparency
36.6. Document Info and Metadata.
36.7. Zend_Pdf module usage example
37. Zend_Registry
37.1. Using the Registry
37.1.1. Setting Values in the Registry
37.1.2. Getting Values from the Registry
37.1.3. Constructing a Registry Object
37.1.4. Accessing the Registry as an Array
37.1.5. Accessing the Registry as an Object
37.1.6. Querying if an index exists
37.1.7. Extending the Registry
37.1.8. Unsetting the Static Registry
38. Zend_Rest
38.1. Introduction
38.2. Zend_Rest_Client
38.2.1. Introduction
38.2.2. Responses
38.2.3. Request Arguments
38.3. Zend_Rest_Server
38.3.1. Introduction
38.3.2. REST Server Usage
38.3.3. Calling a Zend_Rest_Server Service
38.3.4. Sending A Custom Status
38.3.5. Returning Custom XML Responses
39. Zend_Search_Lucene
39.1. Overview
39.1.1. Introduction
39.1.2. Document and Field Objects
39.1.3. Understanding Field Types
39.1.4. HTML documents
39.1.5. Word 2007 documents
39.1.6. Powerpoint 2007 documents
39.2. Building Indexes
39.2.1. Creating a New Index
39.2.2. Updating Index
39.2.3. Updating Documents
39.2.4. Retrieving Index Size
39.2.5. Index optimization
39.2.5.1. MaxBufferedDocs auto-optimization option
39.2.5.2. MaxMergeDocs auto-optimization option
39.2.5.3. MergeFactor auto-optimization option
39.2.6. Permissions
39.2.7. Limitations
39.2.7.1. Index size
39.2.7.2. Supported Filesystems
39.3. Searching an Index
39.3.1. Building Queries
39.3.1.1. Query Parsing
39.3.2. Search Results
39.3.3. Limiting the Result Set
39.3.4. Results Scoring
39.3.5. Search Result Sorting
39.3.6. Search Results Highlighting
39.4. Query Language
39.4.1. Terms
39.4.2. Fields
39.4.3. Wildcards
39.4.4. Term Modifiers
39.4.5. Range Searches
39.4.6. Fuzzy Searches
39.4.7. Proximity Searches
39.4.8. Boosting a Term
39.4.9. Boolean Operators
39.4.9.1. AND
39.4.9.2. OR
39.4.9.3. NOT
39.4.9.4. &&, ||, and ! operators
39.4.9.5. +
39.4.9.6. -
39.4.9.7. No Operator
39.4.10. Grouping
39.4.11. Field Grouping
39.4.12. Escaping Special Characters
39.5. Query Construction API
39.5.1. Query Parser Exceptions
39.5.2. Term Query
39.5.3. Multi-Term Query
39.5.4. Boolean Query
39.5.5. Wildcard Query
39.5.6. Fuzzy Query
39.5.7. Phrase Query
39.5.8. Range Query
39.6. Character Set
39.6.1. UTF-8 and single-byte character set support
39.6.2. Default text analyzer
39.6.3. UTF-8 compatible text analyzers
39.7. Extensibility
39.7.1. Text Analysis
39.7.2. Tokens Filtering
39.7.3. Scoring Algorithms
39.7.4. Storage Containers
39.8. Interoperating with Java Lucene
39.8.1. File Formats
39.8.2. Index Directory
39.8.3. Java Source Code
39.9. Advanced
39.9.1. Starting from 1.6, handling index format transformations.
39.9.2. Using the index as static property
39.10. Best Practices
39.10.1. Field names
39.10.2. Indexing performance
39.10.3. Index during Shut Down
39.10.4. Retrieving documents by unique id
39.10.5. Memory Usage
39.10.6. Encoding
39.10.7. Index maintenance
40. Zend_Server
40.1. Introduction
40.2. Zend_Server_Reflection
40.2.1. Introduction
40.2.2. Usage
41. Zend_Service
41.1. Introduction
41.2. Zend_Service_Akismet
41.2.1. Introduction
41.2.2. Verify an API key
41.2.3. Check for spam
41.2.4. Submitting known spam
41.2.5. Submitting false positives (ham)
41.2.6. Zend-specific Accessor Methods
41.3. Zend_Service_Amazon
41.3.1. Introduction
41.3.2. Country Codes
41.3.3. Looking up a Specific Amazon Item by ASIN
41.3.4. Performing Amazon Item Searches
41.3.5. Using the Alternative Query API
41.3.5.1. Introduction
41.3.6. Zend_Service_Amazon Classes
41.3.6.1. Zend_Service_Amazon_Item
41.3.6.1.1. Zend_Service_Amazon_Item::asXML()
41.3.6.1.2. Properties
41.3.6.2. Zend_Service_Amazon_Image
41.3.6.2.1. Properties
41.3.6.3. Zend_Service_Amazon_ResultSet
41.3.6.3.1. Zend_Service_Amazon_ResultSet::totalResults()
41.3.6.4. Zend_Service_Amazon_OfferSet
41.3.6.4.1. Properties
41.3.6.5. Zend_Service_Amazon_Offer
41.3.6.5.1. Zend_Service_Amazon_Offer Properties
41.3.6.6. Zend_Service_Amazon_SimilarProduct
41.3.6.6.1. Properties
41.3.6.7. Zend_Service_Amazon_Accessories
41.3.6.7.1. Properties
41.3.6.8. Zend_Service_Amazon_CustomerReview
41.3.6.8.1. Properties
41.3.6.9. Zend_Service_Amazon_EditorialReview
41.3.6.9.1. Properties
41.3.6.10. Zend_Service_Amazon_Listmania
41.3.6.10.1. Properties
41.4. Zend_Service_Audioscrobbler
41.4.1. Introduction to Searching Audioscrobbler
41.4.2. Users
41.4.3. Artists
41.4.4. Tracks
41.4.5. Tags
41.4.6. Groups
41.4.7. Forums
41.5. Zend_Service_Delicious
41.5.1. Introduction
41.5.2. Retrieving posts
41.5.3. Zend_Service_Delicious_PostList
41.5.4. Editing posts
41.5.5. Deleting posts
41.5.6. Adding new posts
41.5.7. Tags
41.5.8. Bundles
41.5.9. Public data
41.5.9.1. Public posts
41.5.10. HTTP client
41.6. Zend_Service_Flickr
41.6.1. Introduction to Searching Flickr
41.6.2. Finding Flickr Users' Photos and Information
41.6.3. Finding photos From a Group Pool
41.6.4. Retrieving Flickr Image Details
41.6.5. Zend_Service_Flickr Result Classes
41.6.5.1. Zend_Service_Flickr_ResultSet
41.6.5.1.1. Properties
41.6.5.1.2. Zend_Service_Flickr_ResultSet::totalResults()
41.6.5.2. Zend_Service_Flickr_Result
41.6.5.2.1. Properties
41.6.5.3. Zend_Service_Flickr_Image
41.6.5.3.1. Properties
41.7. Zend_Service_Nirvanix
41.7.1. Introduction
41.7.2. Registering with Nirvanix
41.7.3. API Documentation
41.7.4. Features
41.7.5. Getting Started
41.7.6. Understanding the Proxy
41.7.7. Examining Results
41.7.8. Handling Errors
41.8. Zend_Service_ReCaptcha
41.8.1. Introduction
41.8.2. Simplest use
41.9. Zend_Service_Simpy
41.9.1. Introduction
41.9.2. Links
41.9.3. Tags
41.9.4. Notes
41.9.5. Watchlists
41.10. Introduction
41.10.1. Getting Started with Zend_Service_SlideShare
41.10.2. The SlideShow object
41.10.3. Retrieving a single slide show
41.10.4. Retrieving Groups of Slide Shows
41.10.5. Zend_Service_SlideShare Caching policies
41.10.6. Changing the behavior of the HTTP Client
41.11. Zend_Service_StrikeIron
41.11.1. Overview
41.11.2. Registering with StrikeIron
41.11.3. Getting Started
41.11.4. Making Your First Query
41.11.5. Examining Results
41.11.6. Handling Errors
41.11.7. Checking Your Subscription
41.12. Zend_Service_StrikeIron: Bundled Services
41.12.1. ZIP Code Information
41.12.2. U.S. Address Verification
41.12.3. Sales & Use Tax Basic
41.13. Zend_Service_StrikeIron: Advanced Uses
41.13.1. Using Services by WSDL
41.13.2. Viewing SOAP Transactions
41.14. Zend_Service_Technorati
41.14.1. Introduction
41.14.2. Getting Started
41.14.3. Making Your First Query
41.14.4. Consuming Results
41.14.5. Handling Errors
41.14.6. Checking Your API Key Daily Usage
41.14.7. Available Technorati Queries
41.14.7.1. Technorati Cosmos
41.14.7.2. Technorati Search
41.14.7.3. Technorati Tag
41.14.7.4. Technorati DailyCounts
41.14.7.5. Technorati TopTags
41.14.7.6. Technorati BlogInfo
41.14.7.7. Technorati BlogPostTags
41.14.7.8. Technorati GetInfo
41.14.7.9. Technorati KeyInfo
41.14.8. Zend_Service_Technorati Classes
41.14.8.1. Zend_Service_Technorati_ResultSet
41.14.8.2. Zend_Service_Technorati_CosmosResultSet
41.14.8.3. Zend_Service_Technorati_SearchResultSet
41.14.8.4. Zend_Service_Technorati_TagResultSet
41.14.8.5. Zend_Service_Technorati_DailyCountsResultSet
41.14.8.6. Zend_Service_Technorati_TagsResultSet
41.14.8.7. Zend_Service_Technorati_Result
41.14.8.8. Zend_Service_Technorati_CosmosResult
41.14.8.9. Zend_Service_Technorati_SearchResult
41.14.8.10. Zend_Service_Technorati_TagResult
41.14.8.11. Zend_Service_Technorati_DailyCountsResult
41.14.8.12. Zend_Service_Technorati_TagsResult
41.14.8.13. Zend_Service_Technorati_GetInfoResult
41.14.8.14. Zend_Service_Technorati_BlogInfoResult
41.14.8.15. Zend_Service_Technorati_KeyInfoResult
41.15. Zend_Service_Yahoo
41.15.1. Introduction
41.15.2. Searching the Web with Yahoo!
41.15.3. Finding Images with Yahoo!
41.15.4. Finding videos with Yahoo!
41.15.5. Finding Local Businesses and Services with Yahoo!
41.15.6. Searching Yahoo! News
41.15.7. Searching Yahoo! Site Explorer Inbound Links
41.15.8. Searching Yahoo! Site Explorer's PageData
41.15.9. Zend_Service_Yahoo Classes
41.15.9.1. Zend_Service_Yahoo_ResultSet
41.15.9.1.1. Zend_Service_Yahoo_ResultSet::totalResults()
41.15.9.1.2. Properties
41.15.9.2. Zend_Service_Yahoo_WebResultSet
41.15.9.3. Zend_Service_Yahoo_ImageResultSet
41.15.9.4. Zend_Service_Yahoo_VideoResultSet
41.15.9.5. Zend_Service_Yahoo_LocalResultSet
41.15.9.6. Zend_Service_Yahoo_NewsResultSet
41.15.9.7. Zend_Service_Yahoo_InlinkDataResultSet
41.15.9.8. Zend_Service_Yahoo_PageDataResultSet
41.15.9.9. Zend_Service_Yahoo_Result
41.15.9.9.1. Properties
41.15.9.10. Zend_Service_Yahoo_WebResult
41.15.9.10.1. Properties
41.15.9.11. Zend_Service_Yahoo_ImageResult
41.15.9.11.1. Properties
41.15.9.12. Zend_Service_Yahoo_VideoResult
41.15.9.12.1. Properties
41.15.9.13. Zend_Service_Yahoo_LocalResult
41.15.9.13.1. Properties
41.15.9.14. Zend_Service_Yahoo_NewsResult
41.15.9.14.1. Properties
41.15.9.15. Zend_Service_Yahoo_InlinkDataResult
41.15.9.16. Zend_Service_Yahoo_PageDataResult
41.15.9.17. Zend_Service_Yahoo_Image
41.15.9.17.1. Properties
42. Zend_Session
42.1. Introduction
42.2. Basic Usage
42.2.1. Tutorial Examples
42.2.2. Iterating Over Session Namespaces
42.2.3. Accessors for Session Namespaces
42.3. Advanced Usage
42.3.1. Starting a Session
42.3.2. Locking Session Namespaces
42.3.3. Namespace Expiration
42.3.4. Session Encapsulation and Controllers
42.3.5. Preventing Multiple Instances per Namespace
42.3.6. Working with Arrays
42.3.7. Using Sessions with Objects
42.3.8. Using Sessions with Unit Tests
42.4. Global Session Management
42.4.1. Configuration Options
42.4.2. Error: Headers Already Sent
42.4.3. Session Identifiers
42.4.3.1. Session Hijacking and Fixation
42.4.4. rememberMe(integer $seconds)
42.4.5. forgetMe()
42.4.6. sessionExists()
42.4.7. destroy(bool $remove_cookie = true, bool $readonly = true)
42.4.8. stop()
42.4.9. writeClose($readonly = true)
42.4.10. expireSessionCookie()
42.4.11. setSaveHandler(Zend_Session_SaveHandler_Interface $interface)
42.4.12. namespaceIsset($namespace)
42.4.13. namespaceUnset($namespace)
42.4.14. namespaceGet($namespace)
42.4.15. getIterator()
42.5. Zend_Session_SaveHandler_DbTable
43. Zend_Soap
43.1. Zend_Soap_Server
43.1.1. Zend_Soap_Server constructor.
43.1.1.1. Zend_Soap_Server constructor for the WSDL mode.
43.1.1.2. Zend_Soap_Server constructor for the non-WSDL mode.
43.1.2. Methods to define Web Service API.
43.1.3. Request and response objects handling.
43.1.3.1. Request processing.
43.1.3.2. Response pre-processing.
43.2. Zend_Soap_Client
43.2.1. Zend_Soap_Client Constructor
43.2.2. Performing SOAP Requests
43.3. WSDL Accessor
43.3.1. Zend_Soap_Wsdl constructor.
43.3.2. addMessage() method.
43.3.3. addPortType() method.
43.3.4. addPortOperation() method.
43.3.5. addBinding() method.
43.3.6. addBindingOperation() method.
43.3.7. addSoapBinding() method.
43.3.8. addSoapOperation() method.
43.3.9. addService() method.
43.3.10. Type mapping.
43.3.10.1. Retrieving type information.
43.3.10.2. Retrieving type information.
43.3.11. addDocumentation() method.
43.3.12. Get finalized WSDL document.
43.4. AutoDiscovery.
43.4.1. AutoDiscovery. Introduction
43.4.2. Class autodiscovering.
43.4.3. Functions autodiscovering.
43.4.4. Autodiscovering. Datatypes.
44. Zend_Test
44.1. Introduction
44.2. Zend_Test_PHPUnit
44.2.1. Bootstrapping your TestCase
44.2.2. Testing your Controllers and MVC Applications
44.2.3. Assertions
44.2.3.1. CSS Selector Assertions
44.2.3.2. XPath Assertions
44.2.3.3. Redirect Assertions
44.2.3.4. Response Header Assertions
44.2.3.5. Request Assertions
44.2.4. Examples
45. Zend_Text
45.1. Zend_Text_Figlet
46. Zend_TimeSync
46.1. Introduction
46.1.1. Why Zend_TimeSync ?
46.1.2. What is NTP ?
46.1.3. What is SNTP?
46.1.4. Problematic usage
46.1.5. Decide which server to use
46.2. Working with Zend_TimeSync
46.2.1. Generic timeserver request
46.2.2. Multiple timeservers
46.2.3. Protocols of timeservers
46.2.4. Using ports for timeservers
46.2.5. Options for timeservers
46.2.6. Using different timeservers
46.2.7. Informations from timeservers
46.2.8. Taking care of exceptions
47. Zend_Translate
47.1. Introduction
47.1.1. Starting multi-lingual
47.2. Adapters for Zend_Translate
47.2.1. How to decide which translation adapter to use
47.2.1.1. Zend_Translate_Adapter_Array
47.2.1.2. Zend_Translate_Adapter_Csv
47.2.1.3. Zend_Translate_Adapter_Gettext
47.2.1.4. Zend_Translate_Adapter_Ini
47.2.1.5. Zend_Translate_Adapter_Tbx
47.2.1.6. Zend_Translate_Adapter_Tmx
47.2.1.7. Zend_Translate_Adapter_Qt
47.2.1.8. Zend_Translate_Adapter_Xliff
47.2.1.9. Zend_Translate_Adapter_XmlTm
47.2.2. Integrate self written Adapters
47.2.3. Speedup all Adapters
47.3. Using Translation Adapters
47.3.1. Translation Source Structures
47.3.2. Creating array source files
47.3.3. Creating Gettext Source Files
47.3.4. Creating TMX Source Files
47.3.5. Creating CSV Source Files
47.3.6. Creating INI Source Files
47.3.7. Options for adapters
47.3.8. Handling languages
47.3.8.1. Automatically handling of languages
47.3.9. Automatic source detection
47.3.9.1. Language through naming directories
47.3.9.2. Language through filenames
47.3.9.2.1. Complete Filename
47.3.9.2.2. Extension of the file
47.3.9.2.3. Filename tokens
47.3.10. Checking for translations
47.3.11. Access to the source data
48. Zend_Uri
48.1. Zend_Uri
48.1.1. Overview
48.1.2. Creating a New URI
48.1.3. Manipulating an Existing URI
48.1.4. URI Validation
48.1.5. Common Instance Methods
48.1.5.1. Getting the Scheme of the URI
48.1.5.2. Getting the Entire URI
48.1.5.3. Validating the URI
49. Zend_Validate
49.1. Introduction
49.1.1. What is a validator?
49.1.2. Basic usage of validators
49.1.3. Customizing messages
49.1.4. Using the static is() method
49.2. Standard Validation Classes
49.2.1. Alnum
49.2.2. Alpha
49.2.3. Barcode
49.2.4. Between
49.2.5. Ccnum
49.2.6. Date
49.2.7. Digits
49.2.8. EmailAddress
49.2.9. Float
49.2.10. GreaterThan
49.2.11. Hex
49.2.12. Hostname
49.2.13. InArray
49.2.14. Int
49.2.15. Ip
49.2.16. LessThan
49.2.17. NotEmpty
49.2.18. Regex
49.2.19. StringLength
49.3. Validator Chains
49.4. Writing Validators
50. Zend_Version
50.1. Reading the Zend Framework Version
51. Zend_View
51.1. Introduction
51.1.1. Controller Script
51.1.2. View Script
51.1.3. Options
51.1.4. Short Tags with View Scripts
51.1.5. Utility Accessors
51.2. Controller Scripts
51.2.1. Assigning Variables
51.2.2. Rendering a View Script
51.2.3. View Script Paths
51.3. View Scripts
51.3.1. Escaping Output
51.3.2. Using Alternate Template Systems
51.3.2.1. Template Systems Using View Scripts
51.3.2.2. Template Systems Using Zend_View_Interface
51.4. View Helpers
51.4.1. Initial Helpers
51.4.1.1. Action View Helper
51.4.1.2. Partial Helper
51.4.1.3. Placeholder Helper
51.4.1.3.1. Concrete Placeholder Implementations
51.4.1.4. Doctype Helper
51.4.1.5. HeadLink Helper
51.4.1.6. HeadMeta Helper
51.4.1.7. HeadScript Helper
51.4.1.8. HeadStyle Helper
51.4.1.9. HeadTitle Helper
51.4.1.10. HTML Object Helpers
51.4.1.11. InlineScript Helper
51.4.1.12. JSON Helper
51.4.1.13. Translate Helper
51.4.2. Helper Paths
51.4.3. Writing Custom Helpers
51.5. Zend_View_Abstract
52. Zend_Wildfire
52.1. Zend_Wildfire
53. Zend_XmlRpc
53.1. Introduction
53.2. Zend_XmlRpc_Client
53.2.1. Introduction
53.2.2. Method Calls
53.2.3. Types and Conversions
53.2.3.1. PHP Native Types as Parameters
53.2.3.2. Zend_XmlRpc_Value Objects as Parameters
53.2.4. Server Proxy Object
53.2.5. Error Handling
53.2.5.1. HTTP Errors
53.2.5.2. XML-RPC Faults
53.2.6. Server Introspection
53.2.7. From Request to Response
53.2.8. HTTP Client and Testing
53.3. Zend_XmlRpc_Server
53.3.1. Introduction
53.3.2. Basic Usage
53.3.3. Server Structure
53.3.4. Conventions
53.3.5. Utilizing Namespaces
53.3.6. Custom Request Objects
53.3.7. Custom Responses
53.3.8. Handling Exceptions via Faults
53.3.9. Caching Server Definitions Between Requests
53.3.10. Usage Examples
53.3.10.1. Basic Usage
53.3.10.2. Attaching a class
53.3.10.3. Attaching several classes using namespaces
53.3.10.4. Specifying exceptions to use as valid fault responses
53.3.10.5. Utilizing a custom request object
53.3.10.6. Utilizing a custom response object
53.3.10.7. Cache server definitions between requests
A. Zend Framework Requirements
A.1. PHP Version
A.2. PHP Extensions
A.3. Zend Framework Components
A.4. Zend Framework Dependencies
B. Zend Framework Coding Standard for PHP
B.1. Overview
B.1.1. Scope
B.1.2. Goals
B.2. PHP File Formatting
B.2.1. General
B.2.2. Indentation
B.2.3. Maximum Line Length
B.2.4. Line Termination
B.3. Naming Conventions
B.3.1. Classes
B.3.2. Filenames
B.3.3. Functions and Methods
B.3.4. Variables
B.3.5. Constants
B.4. Coding Style
B.4.1. PHP Code Demarcation
B.4.2. Strings
B.4.2.1. String Literals
B.4.2.2. String Literals Containing Apostrophes
B.4.2.3. Variable Substitution
B.4.2.4. String Concatenation
B.4.3. Arrays
B.4.3.1. Numerically Indexed Arrays
B.4.3.2. Associative Arrays
B.4.4. Classes
B.4.4.1. Class Declaration
B.4.4.2. Class Member Variables
B.4.5. Functions and Methods
B.4.5.1. Function and Method Declaration
B.4.5.2. Function and Method Usage
B.4.6. Control Statements
B.4.6.1. If/Else/Elseif
B.4.6.2. Switch
B.4.7. Inline Documentation
B.4.7.1. Documentation Format
B.4.7.2. Files
B.4.7.3. Classes
B.4.7.4. Functions
C. Copyright Information
Index

List of Tables

2.1. Access Controls for an Example CMS
4.1. Configuration Options
4.2. Server Options
4.3. Debugging Messages
4.4. Options for Active Directory
4.5. Options for OpenLDAP
5.1. Core frontend options
5.2. Function frontend options
5.3. Class frontend options
5.4. File frontend options
5.5. Page frontend options
5.6. File backend options
5.7. Sqlite backend options
5.8. Memcached backend options
5.9. Xcache backend options
5.10. TwoLevels backend options
7.1. Zend_Config_Ini Constructor parameters
10.1. Constants for the selecting the currency description
10.2. Constants for the selecting the currency position
11.1. Date Parts
11.2. Basic Operations
11.3. Date Comparison Methods
11.4. Date Output Methods
11.5. Date Output Methods
11.6. Miscellaneous Methods
11.7. Operations involving Zend_Date::HOUR
11.8. Day Constants
11.9. Week Constants
11.10. Month Constants
11.11. Year Constants
11.12. Time Constants
11.13. Timezone Constants
11.14. Date Format Constants (formats include timezone)
11.15. Date and Time Formats (format varies by locale)
11.16. Constants for ISO 8601 date output
11.17. Constants for PHP date output
11.18. Types of supported horizons for sunset and sunrise
12.1. Metadata fields returned by describeTable()
12.2. Constants used by getPart() and reset()
18.1. Different notations of the rename filter and their meaning
21.1. Metadata used in the code-sample below
22.1. Zend_Http_Client configuration parameters
22.2. Zend_Http_Client_Adapter_Socket configuration parameters
22.3. Zend_Http_Client configuration parameters
26.1. Zend_Ldap Options
26.2. accountCanonicalForm
28.1. Details for getTranslationList($type = null, $locale = null, $value = null)
28.2. Details for getTranslation($value = null, $type = null, $locale = null)
28.3. Differences between ZF 1.0 and ZF 1.5
28.4. Format tokens for self generated number formats
28.5. List of supported numeral systems
28.6. Key values for getDate() with option 'fix_date'
28.7. Return values
28.8. Format definition
28.9. Example formats
28.10. List of all supported languages
29.1. Firebug Logging Styles
30.1. Mail Read Feature Overview
30.2. Mail Folder Names
31.1. List of measurement types
35.1. Adapters for Zend_Paginator
35.2. Scrolling styles for Zend_Paginator
35.3. Properties available to view partials
35.4. Configuration methods for Zend_Paginator
39.1. Zend_Search_Lucene_Field Types
41.1. Zend_Service_Amazon_Item Properties
41.2. Zend_Service_Amazon_Image Properties
41.3. Zend_Service_Amazon_OfferSet Properties
41.4. Properties
41.5. Zend_Service_Amazon_SimilarProduct Properties
41.6. Zend_Service_Amazon_Accessories Properties
41.7. Zend_Service_Amazon_CustomerReview Properties
41.8. Zend_Service_Amazon_EditorialReview Properties
41.9. Zend_Service_Amazon_Listmania Properties
41.10. Methods for retrieving public data
41.11. Methods of the Zend_Service_Delicious_SimplePost class
41.12. Zend_Service_Flickr_ResultSet Properties
41.13. Zend_Service_Flickr_Result Properties
41.14. Zend_Service_Flickr_Image Properties
41.15. Zend_Service_Yahoo_ResultSet
41.16. Zend_Service_Yahoo_LocalResultSet Properties
41.17. Zend_Service_Yahoo_Result Properties
41.18. Zend_Service_Yahoo_WebResult Properties
41.19. Zend_Service_Yahoo_ImageResult Properties
41.20. Zend_Service_Yahoo_VideoResult Properties
41.21. Zend_Service_Yahoo_LocalResult Properties
41.22. Zend_Service_Yahoo_NewsResult Properties
41.23. Zend_Service_Yahoo_Image Properties
47.1. Adapters for Zend_Translate
47.2. Options for Translation Adapters
53.1. PHP and XML-RPC Type Conversions
53.2. Zend_XmlRpc_Value Objects for XML-RPC Types
A.1. PHP Extensions Used in Zend Framework by Component
A.2. Zend Framework Components and the PHP Extensions they use
A.3. Zend Framework Components and their dependency to other Zend Framework Components

List of Examples

2.1. Multiple Inheritance amoung Roles
3.1. Basic AMF Server
3.2. Adding Message Headers to the AMF Response
4.1. Modifying the Session Namespace
4.2. Using a Custom Storage Class
4.3. Basic Usage
5.1. Getting a frontend with Zend_Cache::factory()
5.2. Caching a database query result
5.3. Caching output with Zend_Cache output frontend
7.1. Using Zend_Config Per Se
7.2. Using Zend_Config with a PHP Configuration File
7.3. Using Zend_Config_Ini
7.4. Using Zend_Config_Xml
7.5. Using tag attributes in Zend_Config_Xml
8.1. Using the Short Syntax
8.2. Using the Long Syntax
8.3. Catching Getopt Exceptions
8.4. Using getOption()
8.5. Using __get() and __isset() magic methods
8.6. Using getRemainingArgs()
8.7. Using addRules()
8.8. Using setHelp()
8.9. Using setAliases()
8.10. Using addArguments() and setArguments()
8.11. Using setOption()
8.12. Using setOptions()
9.1. How to Handle Non-Existent Actions
9.2. Adding a task using action, controller and module names
9.3. Adding a task using a request object
9.4. AutoCompletion with Dojo Using Zend MVC
9.5. Allowing Actions to Respond To Ajax Requests
9.6. Setting Options
9.7. Using Defaults
9.8. Using goto()'s _forward() API
9.9. Using route assembly with gotoRoute()
9.10. Basic Usage
9.11. Disabling autorender
9.12. Choosing a different view script
9.13. Modifying the registered view
9.14. Changing the path specifications
9.15. Rendering multiple view scripts from a single action
9.16. Standard usage
9.17. Setting a different error handler
9.18. Using accessors
10.1. Creating an instance of Zend_Currency from the actual locale
10.2. Other examples for creating an instance of Zend_Currency
10.3. Creating output for an currency
10.4. Changing the displayed format of a currency
10.5. Getting informations from currencies
10.6. Setting a new locale
10.7. Caching currencies
11.1. Setting a default timezone
11.2. Creating the current date
11.3. get() - output a date
11.4. set() - set a date
11.5. add() - adding dates
11.6. compare() - compare dates
11.7. equals() - identify a date or date part
11.8. User-specified input date format
11.9. Operating on Parts of Dates
11.10. Date creation by instance
11.11. Static date creation
11.12. Quick creation of dates from database date values
11.13. Convenient creation of dates from database date values
11.14. Date creation by array
11.15. Example usage for self-defined ISO formats
11.16. Example usage for self-defined formats with PHP specifier
11.17. Checking dates
11.18. Getting all available cities
11.19. Getting the location for a city
11.20. Calculating sun informations
11.21. Working with timezones
11.22. Multiple timezones
12.1. Using an Adapter constructor
12.2. Using the Adapter factory method
12.3. Using the Adapter factory method for a custom adapter class
12.4. Using the Adapter factory method with a Zend_Config object
12.5. Passing the case-folding option to the factory
12.6. Passing the auto-quoting option to the factory
12.7. Passing PDO driver options to the factory
12.8. Handling connection exceptions
12.9. Using fetchAll()
12.10. Using setFetchMode()
12.11. Using fetchAssoc()
12.12. Using fetchCol()
12.13. Using fetchPairs()
12.14. Using fetchRow()
12.15. Using fetchOne()
12.16. Inserting to a table
12.17. Inserting expressions to a table
12.18. Using lastInsertId() for an auto-increment key
12.19. Using lastInsertId() for a sequence
12.20. Using lastSequenceId()
12.21. Updating rows
12.22. Updating rows using an array of expressions
12.23. Deleting rows
12.24. Using quote()
12.25. Using quote() with a SQL type
12.26. Using quoteInto()
12.27. Using quoteInto() with a SQL type
12.28. Using quoteIdentifier()
12.29. Managing a transaction to ensure consistency
12.30. Closing a database connection
12.31. Running a non-prepared statement in a PDO adapter
12.32. Creating a SQL statement object with query()
12.33. Using a SQL statement constructor
12.34. Executing a statement with positional parameters
12.35. Executing a statement with named parameters
12.36. Using fetch() in a loop
12.37. Using fetchAll()
12.38. Setting the fetch mode
12.39. Using fetchColumn()
12.40. Using fetchObject()
12.41. DB Profiling with Zend_Controller_Front
12.42. DB Profiling without Zend_Controller_Front
12.43. Example of the database adapter's select() method
12.44. Example of creating a new Select object
12.45. Example of the using methods to add clauses
12.46. Example of the using the fluent interface
12.47. Example of the from() method
12.48. Example of specifying a table correlation name
12.49. Example of specifying a schema name
12.50. Examples of specifying columns
12.51. Examples of specifying columns containing expressions
12.52. Examples of quoting columns in an expression
12.53. Examples of adding columns with the columns() method
12.54. Example of the join() method
12.55. Example of specifying no columns
12.56. Example of the joinUsing() method
12.57. Example of the where() method
12.58. Example of a parameter in the where() method
12.59. Example of multiple where() methods
12.60. Example of the orWhere() method
12.61. Example of parenthesizing Boolean expressions
12.62. Example of the group() method
12.63. Example of the having() method
12.64. Example of the order() method
12.65. Example of the limit() method
12.66. Example of the limitPage() method
12.67. Example of the distinct() method
12.68. Example of forUpdate() method
12.69. Example using the Db adapter's query() method
12.70. Example using the Select object's query method
12.71. Example of the __toString() method
12.72. Example of the getPart() method
12.73. Example of the reset() method
12.74. Declaring a table class with explicit table name
12.75. Declaring a table class with implicit table name
12.76. Declaring a table class with schema
12.77. Declaring table and schema names upon instantiation
12.78. Example of specifying the primary key
12.79. Example of overriding the _setupTableName() method
12.80. Example usage of init() method
12.81. Example of constructing a Table using an Adapter object
12.82. Example of constructing a Table using a the Default Adapter
12.83. Example of constructing a Table using a Registry key
12.84. Example of inserting to a Table
12.85. Example of inserting expressions to a Table
12.86. Example of declaring a Table with auto-incrementing primary key
12.87. Example of declaring a Table with a sequence
12.88. Example of declaring a Table with a natural key
12.89. Example of updating rows in a Table
12.90. Example of deleting rows from a Table
12.91. Example of finding rows by primary key values
12.92. Example of finding rows by compound primary key values
12.93. Simple usage
12.94. Example of fluent interface
12.95. Example of finding rows by an expression
12.96. Example of finding rows by an expression
12.97. Retrieving specific columns
12.98. Retrieving expressions as columns
12.99. Using a lookup table to refine the results of fetchAll()
12.100. Removing the integrity check on Zend_Db_Table_Select to allow JOINed rows
12.101. Example of finding a single row by an expression
12.102. Example of getting the table name
12.103. Using a Default Metadata Cache for all Table Objects
12.104. Using a Metadata Cache for a Specific Table Object
12.105. Example of specifying the Row and Rowset classes
12.106. Example of changing the Row and Rowset classes
12.107. Custom logic to manage timestamps
12.108. Custom method to find bugs by status
12.109. Example of an abstract table class that implements inflection
12.110. Example of fetching a row
12.111. Example of reading a row in a rowset
12.112. Example of reading a column in a row
12.113. Example of using the toArray() method
12.114. Example of changing a column in a row
12.115. Example of creating a new row for a table
12.116. Example of populating a new row for a table
12.117. Example of using setFromArray() to set values in a new Row
12.118. Example of deleting a row
12.119. Example of serializing a row
12.120. Example of unserializing a serialized row
12.121. Example of reactivating a row
12.122. Specifying a custom Row class
12.123. Example usage of init() method
12.124. Example of custom logic in a Row class
12.125. Example of a Row class that logs insert data for multiple tables
12.126. Example of defining an inflection transformation
12.127. Example of fetching a rowset
12.128. Counting the Rows in a Rowset
12.129. Reading a Single Row from a Rowset
12.130. Iterating through a Rowset
12.131. Seeking to a known position into a Rowset
12.132. Using toArray()
12.133. Serializing a Rowset
12.134. Unserializing a Serialized Rowset
12.135. Reactivating a Rowset as Live Data
12.136. Specifying a custom Rowset class
12.137. Example of Rowset class with a new method
12.138. Fetching a Dependent Rowset
12.139. Fetching a Dependent Rowset By a Specific Rule
12.140. Fetching a Dependent Rowset using a Zend_Db_Table_Select
12.141. Fetching Dependent Rowsets using the Magic Method
12.142. Fetching the Parent Row
12.143. Fetching a Parent Row By a Specific Rule
12.144. Fetching the Parent Row using the Magic Method
12.145. Fetching a Rowset with the Many-to-many Method
12.146. Fetching a Rowset with the Many-to-many Method By a Specific Rule
12.147. Fetching Rowsets using the Magic Many-to-many Method
12.148. Example of a Cascading Delete
12.149. Example Declaration of Cascading Operations
13.1. Example of dump() method
14.1. Zend_Dojo_Data initialization via constructor
14.2. Zend_Dojo_Data initialization via mutators
14.3. Appending data to Zend_Dojo_Data
14.4. Specifying a label field in Zend_Dojo_Data
14.5. Populating Zend_Dojo_Data from JSON
14.6. Using Dojo View Helpers
14.7. dojo() View Helper Usage Example
14.8. Specifying Declarative and Programmatic Dojo Usage
14.9. Registering the Dojo View Helper Prefix Path
14.10. BorderContainer layout dijit example
14.11. Enabling Dojo in your existing forms
14.12. DijitElement Decorator Usage
14.13. DijitContainer Decorator Usage
14.14. Example Button dijit element usage
14.15. Example CheckBox dijit element usage
14.16. ComboBox dijit element usage as select input
14.17. ComboBox dijit element usage with datastore
14.18. Example CurrencyTextBox dijit element usage
14.19. Example DateTextBox dijit element usage
14.20. Example Editor dijit element usage
14.21. Example HorizontalSlider dijit element usage
14.22. Example NumberSpinner dijit element usage
14.23. Example NumberTextBox dijit element usage
14.24. Example PasswordTextBox dijit element usage
14.25. Example RadioButton dijit element usage
14.26. Example SimpleTextarea dijit element usage
14.27. Example SubmitButton dijit element usage
14.28. Example TextBox dijit element usage
14.29. Example Textarea dijit element usage
14.30. Example TimeTextBox dijit element usage
14.31. Example ValidationTextBox dijit element usage
14.32. Example VerticalSlider dijit element usage
14.33. Using Zend_Dojo_Form
14.34. Modifying an existing form to utilize Dojo
16.1. Example of catching an exception
17.1. Putting Zend_Feed to Work on RSS Feed Data
17.2. Basic Use of an Atom Feed
17.3. Reading a Single-Entry Atom Feed
17.4. Using the Entry Object Directly for a Single-Entry Atom Feed
17.5. Modifying an Existing Feed Entry
17.6. Creating an Atom Entry with Elements of Custom Namespaces
17.7. Extending the Atom Entry Class with Custom Namespaces
18.1. Simple File-Upload Form
18.2. Add validators to a file transfer
18.3. Limit validators to single files
18.4. Add multiple validators
18.5. Validate the files
18.6. Using the Count validator
18.7. Using the ExcludeExtension validator
18.8. Using the ExcludeMimeType validator
18.9. Using the Exists validator
18.10. Using the Extension validator
18.11. Using the FilesSize validator
18.12. Using the ImageSize validator
18.13. Using the IsCompressed validator
18.14. Using the IsImage validator
18.15. Using the MimeType validator
18.16. Using the NotExists validator
18.17. Using the Size validator
18.18. Add filters to a file transfer
18.19. Limit filters to single files
18.20. Add multiple filters
18.21. Using the Rename filter
18.22. How to change your file validators from 1.6.1 to 1.6.2
19.1. Transforming MixedCase and camelCaseText to another format
19.2. Setting Multiple Rules at Once
19.3. Using Zend_Config with Zend_Filter_Inflector
20.1. Custom Label
20.2. Setting Prefix Paths for All Elements
20.3. Setting Decorators for All Elements
20.4. Setting Decorators for Some Elements
20.5. Setting Filters for All Elements
20.6. Setting Decorator Prefix Path for All Display Groups
20.7. Setting Decorators for All Display Groups
20.8. File form element usage
20.9. Setting multiple files
20.10. Registration Form Example
22.1. Instantiating a Zend_Http_Client object
22.2. Performing a Simple GET Request
22.3. Using Request Methods Other Than GET
22.4. Setting GET Parameters
22.5. Setting POST Parameters
22.6. Forcing RFC 2616 Strict Redirections on 301 and 302 Responses
22.7. Setting Cookies Using setCookie()
22.8. Enabling Cookie Stickiness
22.9. Setting A Single Custom Request Header
22.10. Setting Multiple Custom Request Headers
22.11. Using setFileUpload to Upload Files
22.12. Sending Raw POST Data
22.13. Setting HTTP Authentication User and Password
22.14. Performing consecutive requests with one client
22.15. Changing the HTTPS transport layer
22.16. Using Zend_Http_Client behind a proxy server
22.17. Testing Against a Single HTTP Response Stub
22.18. Testing Against Multiple HTTP Response Stubs
22.19. Creating your own connection adapter
22.20. Instantiating a Zend_Http_Cookie object
22.21. Stringifying a Zend_Http_Cookie object
22.22. Using getter methods with Zend_Http_Cookie
22.23. Matching cookies
22.24. Instantiating a Zend_Http_Response object using the factory method
22.25. Using the isError() method to validate a response
22.26. Using Zend_Http_Response Accessor Methods
22.27. Accessing Response Headers
24.1. Zend_Json_Server Usage
25.1. Passing options to the constructor or startMvc()
25.2. Using setOption() and setConfig()
25.3. Using Accessors
25.4. Using Zend_Layout accessors to modify the inflector
25.5. Direct modification of Zend_Layout inflector
25.6. Custom inflectors
27.1. Example of loadFile() method
27.2. Example of loadClass() method
27.3. Example of isReadable() method
27.4. Example of registering the autoloader callback method
27.5. Example of registering the autoload callback method from an extended class
28.1. Choosing a specific locale
28.2. Automatically selecting a locale
28.3. Using automatic locales
28.4. Handling locale exceptions
28.5. Setting a default locale
28.6. Dates default to correct locale of web users
28.7. Overriding default locale selection
28.8. Performance optimization when using a default locale
28.9. Usage of an application wide locale
28.10. Dates default to correct locale of web users
28.11. Using STANDARD definitions for setOptions()
28.12. clone
28.13. Check for equal locales
28.14. Get default locales
28.15. setLocale
28.16. getLanguage and getRegion
28.17. getTranslationList
28.18. getTranslationList
28.19. Converting country name in one language to another
28.20. All available translations
28.21. All Languages written in their native language
28.22. getQuestion()
28.23. getLocaleList()
28.24. Number normalization
28.25. Number normalization with precision
28.26. Number localization
28.27. Number localization with precision
28.28. Using a self defined number format
28.29. Number testing
28.30. Floating point value normalization
28.31. Floating point value localization
28.32. Floating point value testing
28.33. Integer value normalization
28.34. Integer value localization
28.35. Integer value testing
28.36. Converting numerals from Eastern Arabic scripts to European/Latin scripts
28.37. Converting numerals from Latin script to Eastern Arabic script
28.38. Getting 4 letter CLDR script code using a native-language name of the script
28.39. Normalizing a date
28.40. Normalizing a date by locale
28.41. Normalizing a date with time
28.42. Normalizing a userdefined date
28.43. Automatic correction of input dates
28.44. Date testing
28.45. Normalize an unknown time
28.46. Testing a time
29.1. Logging with Zend_Controller_Front
29.2. Logging without Zend_Controller_Front
30.1. Simple E-Mail with Zend_Mail
30.2. Passing additional parameters to the Zend_Mail_Transport_Sendmail transport
30.3. Sending E-Mail via SMTP
30.4. Sending Multiple Mails per SMTP Connection
30.5. Manually controlling the transport connection
30.6. Using Different Transports
30.7. Sending HTML E-Mail
30.8. E-Mail Messages with Attachments
30.9. Changing the MIME Boundary
30.10. Adding E-Mail Message Headers
30.11. Enabling authentication within Zend_Mail_Transport_Smtp
30.12. Enabling a secure connection within Zend_Mail_Transport_Smtp
31.1. Converting measurements
31.2. The meter measurement
31.3. Creation using integer and floating values
31.4. Creation using strings
31.5. Arbitrary text input containing measurements
31.6. Localized string
31.7. Automatic output
31.8. Output a value
31.9. Outputting units
31.10. Convert
31.11. Adding units
31.12. Subtract
31.13. Different measurements
31.14. Identical measurements
31.15. Difference
31.16. Changing a value
31.17. Changing the type
32.1. Using Zend_Memory component
34.1. The Simple OpenID Login form
34.2. The Authentication Request Handler
34.3. The Authentication Response Verifier
34.4. The Complete OpenID Login Script
34.5. Authentication Request for Specified Realm
34.6. Immediate Check without Interaction
34.7. Database Storage
34.8. Sending Requests with a Simple Registration Extension
34.9. Verifying Responses with a Simple Registration Extension
34.10. Zend_Auth Adapter for OpenID
34.11. The Identity
34.12. Simple Identity Provider
34.13. Simple Login Screen
34.14. Simple Trust Screen
34.15. All together
34.16. Identity with Profile
34.17. Provider with SREG
36.1. Create new or load existing PDF document.
36.2. Requesting specified revision of the PDF document.
36.3. Save PDF document.
36.4. PDF document pages management.
36.5. Cloning existing page.
36.6. Draw a string on the page
36.7. Draw a UTF-8-encoded string on the page
36.8. Create a standard font
36.9. Create a TrueType font
36.10. Create a TrueType font, but do not embed it in the PDF document.
36.11. Do not throw an exception for fonts that cannot be embedded.
36.12. Do not compress an embedded font.
36.13. Combining font embedding options.
36.14. Extracting fonts from a loaded document.
36.15. Extracting font from a loaded document by specifying font name.
36.16. Image drawing
36.17. Zend_Pdf module usage demo
37.1. Example of set() method
37.2. Example of get() method
37.3. Example of iterating over the registry
37.4. Example of constructing a registry
37.5. Example of initializing the static registry
37.6. Example of array access
37.7. Example of object access
37.8. Example of isRegistered() method
37.9. Example of isset() method
37.10. Example of specifying the static registry's class name
37.11. Example of _unsetInstance() method
38.1. A basic REST request
38.2. Response Status
38.3. Using Technorati's Rest Service
38.4. Example Technorati Response
38.5. Setting Request Arguments
38.6. Basic Zend_Rest_Server Usage - Classes
38.7. Basic Zend_Rest_Server Usage - Functions
38.8. Returning Custom Status
38.9. Return Custom XML
39.1. Custom text Analyzer.
41.1. isSpam() Usage
41.2. submitSpam() Usage
41.3. submitHam() Usage
41.4. Search Amazon Using the Traditional API
41.5. Search Amazon Using the Query API
41.6. Choosing an Amazon Web Service Country
41.7. Looking up a Specific Amazon Item by ASIN
41.8. Performing Amazon Item Searches
41.9. Using the ResponseGroup Option
41.10. Search Amazon Using the Alternative Query API
41.11. Retrieving User Profile Information
41.12. Retrieving a User's Weekly Artist Chart
41.13. Retrieving Related Artists
41.14. Get all posts
41.15. Accessing post lists
41.16. Filtering a Post List with Specific Tags
41.17. Filtering a Post List by URL
41.18. Post editing
41.19. Method call chaining
41.20. Deleting posts
41.21. Adding a post
41.22. Tags
41.23. Bundles
41.24. Retrieving public data
41.25. Changing the HTTP client of Zend_Rest_Client
41.26. Configuring your HTTP client to keep connections alive
41.27. Simple Flickr Photo Search
41.28. Finding a Flickr User's Public Photos by E-Mail Address
41.29. Retrieving a Group's Pool Photos by Group ID
41.30. Retrieving Flickr Image Details
41.31. Querying Links
41.32. Modifying Links
41.33. Working With Tags
41.34. Working With Notes
41.35. Retrieving Watchlists
41.36. Sending your first query
41.37. Refining your query
41.38. Sending multiple queries with the same Zend_Service_Technorati instance
41.39. Consuming a result set object
41.40. Seeking a specific result set object
41.41. Consuming a standalone result object
41.42. Handling a Query Exception
41.43. Getting API key daily usage information
41.44. Cosmos Query
41.45. Search Query
41.46. Tag Query
41.47. DailyCounts Query
41.48. TopTags Query
41.49. BlogInfo Query
41.50. BlogPostTags Query
41.51. GetInfo Query
41.52. Iterating result objects from a resultset collection
41.53. Searching the Web with Yahoo!
41.54. Finding Images with Yahoo!
41.55. Finding videos with Yahoo!
41.56. Finding Local Businesses and Services with Yahoo!
41.57. Searching Yahoo! News
41.58. Searching Yahoo! Site Explorer Inbound Links
41.59. Searching Yahoo! Site Explorer's PageData
42.1. Counting Page Views
42.2. New Way: Namespaces Avoid Collisions
42.3. Old Way: PHP Session Access
42.4. Session Iteration
42.5. Accessing Session Data
42.6. Starting the Global Session
42.7. Locking Session Namespaces
42.8. Expiration Examples
42.9. Namespaced Sessions for Controllers with Automatic Expiration
42.10. Limiting Session Namespace Access to a Single Instance
42.11. Modifying Array Data with a Session Namespace
42.12. Building Arrays Prior to Session Storage
42.13. Workaround: Reassign a Modified Array
42.14. Workaround: store array containing reference
42.15. PHPUnit Testing Code Dependent on Zend_Session
42.16. Using Zend_Config to Configure Zend_Session
42.17. Session Fixation
42.18. Basic Setup
42.19. Using a Multi-Column Primary Key
44.1. Application Login TestCase example
44.2. Testing a UserController
45.1. Using Zend_Text_Figlet
47.1. Example of single-language PHP code
47.2. Example of multi-lingual PHP code
47.3. Example TMX file
47.4. Example CSV file
47.5. Example CSV file two
47.6. Example INI file
47.7. Using translation options
47.8. Handling languages with adapters
47.9. How automatically language detection works
47.10. Scanning a directory structure for sources
47.11. Directory scanning for languages
47.12. Filename scanning for languages
47.13. Checking if a text is translatable
47.14. Handling languages with adapters
48.1. Creating a New URI with Zend_Uri::factory()
48.2. Manipulating an Existing URI with Zend_Uri::factory()
48.3. URI Validation with Zend_Uri::check()
48.4. Getting the Scheme from a Zend_Uri_* Object
48.5. Getting the Entire URI from a Zend_Uri_* Object
48.6. Validating a Zend_Uri_* Object
49.1. Creating a Simple Validation Class
49.2. Writing a Validation Class having Dependent Conditions
49.3. Validation with Independent Conditions, Multiple Reasons for Failure
50.1. Example of compareVersion() method
51.1. Basic Usage of Action View Helper
51.2. Basic Usage of Partials
51.3. Using PartialLoop to Render Iterable Models
51.4. Rendering Partials in Other Modules
51.5. Basic Usage of Placeholders
51.6. Using Placeholders to Aggregate Content
51.7. Using Placeholders to Capture Content
51.8. Doctype Helper Basic Usage
51.9. Retrieving the Doctype
51.10. HeadLink Helper Basic Usage
51.11. HeadMeta Helper Basic Usage
51.12. HeadScript Helper Basic Usage
51.13. Capturing Scripts Using the HeadScript Helper
51.14. HeadStyle Helper Basic Usage
51.15. Capturing Style Declarations Using the HeadStyle Helper
51.16. HeadTitle Helper Basic Usage
51.17. Flash helper
51.18. Customizing the object by passing additional arguments
51.19. Registered instance
51.20. Within the view
51.21. Direct usage
51.22. Single parameter
51.23. List of parameters
51.24. Array of parameters
51.25. Change locale dynamically
51.26. Change locale statically
51.27. Get the currently set locale
53.1. XML-RPC Method Call
53.2. XML-RPC Method Call with Parameters
53.3. Proxy the Default Namespace
53.4. Proxy Any Namespace
53.5. Handling HTTP Errors
53.6. Handling XML-RPC Faults
53.7. Processing Request to Response