Programmer's Reference Guide

Programmer's Reference Guide

Zend Framework

2008-07-21


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 Use
2.3.1. Storing ACL Data for Persistence
2.3.2. Writing Conditional ACL Rules with Assertions
3. Zend_Auth
3.1. Introduction
3.1.1. Adapters
3.1.2. Results
3.1.3. Identity Persistence
3.1.3.1. Default Persistence in the PHP Session
3.1.3.2. Implementing Customized Storage
3.1.4. Using Zend_Auth
3.2. Database Table Authentication
3.2.1. Introduction
3.2.2. Advanced Use: Persisting a DbTable Result Object
3.2.3. Advanced Usage By Example
3.3. Digest Authentication
3.3.1. Introduction
3.3.2. Specifics
3.3.3. Identity
3.4. HTTP Authentication Adapter
3.4.1. Introduction
3.4.2. Design Overview
3.4.3. Configuration Options
3.4.4. Resolvers
3.4.4.1. File Resolver
3.4.5. Basic Usage
3.5. LDAP Authentication
3.5.1. Introduction
3.5.2. Usage
3.5.3. The API
3.5.4. Server Options
3.5.5. Collecting Debugging Messages
3.5.6. Common Options for Specific Servers
3.5.6.1. Options for Active Directory
3.5.6.2. Options for OpenLDAP
3.6. Open ID Authentication
3.6.1. Introduction
3.6.2. Specifics
4. Zend_Cache
4.1. Introduction
4.2. The theory of caching
4.2.1. The Zend_Cache factory method
4.2.2. Tagging records
4.2.3. Cleaning the cache
4.3. Zend_Cache frontends
4.3.1. Zend_Cache_Core
4.3.1.1. Introduction
4.3.1.2. Available options
4.3.1.3. Examples
4.3.2. Zend_Cache_Frontend_Output
4.3.2.1. Introduction
4.3.2.2. Available options
4.3.2.3. Examples
4.3.3. Zend_Cache_Frontend_Function
4.3.3.1. Introduction
4.3.3.2. Available options
4.3.3.3. Examples
4.3.4. Zend_Cache_Frontend_Class
4.3.4.1. Introduction
4.3.4.2. Available options
4.3.4.3. Examples
4.3.5. Zend_Cache_Frontend_File
4.3.5.1. Introduction
4.3.5.2. Available options
4.3.5.3. Examples
4.3.6. Zend_Cache_Frontend_Page
4.3.6.1. Introduction
4.3.6.2. Available options (for this frontend in Zend_Cache factory)
4.3.6.3. Examples
4.3.6.4. The specific cancel method
4.4. Zend_Cache backends
4.4.1. Zend_Cache_Backend_File
4.4.2. Zend_Cache_Backend_Sqlite
4.4.3. Zend_Cache_Backend_Memcached
4.4.4. Zend_Cache_Backend_Apc
4.4.5. Zend_Cache_Backend_Xcache
4.4.6. Zend_Cache_Backend_ZendPlatform
5. Zend_Config
5.1. Introduction
5.2. Theory of Operation
5.3. Zend_Config_Ini
5.4. Zend_Config_Xml
6. Zend_Console_Getopt
6.1. Introduction to Getopt
6.2. Declaring Getopt Rules
6.2.1. Declaring Options with the Short Syntax
6.2.2. Declaring Options with the Long Syntax
6.3. Fetching Options and Arguments
6.3.1. Handling Getopt Exceptions
6.3.2. Fetching Options by Name
6.3.3. Reporting Options
6.3.4. Fetching Non-option Arguments
6.4. Configuring Zend_Console_Getopt
6.4.1. Adding Option Rules
6.4.2. Adding Help Messages
6.4.3. Adding Option Aliases
6.4.4. Adding Argument Lists
6.4.5. Adding Configuration
7. Zend_Controller
7.1. Zend_Controller Quick Start
7.1.1. Introduction
7.1.2. Quick Start
7.1.2.1. Create your filesystem layout
7.1.2.2. Set your document root
7.1.2.3. Create your rewrite rules
7.1.2.4. Create your bootstrap file
7.1.2.5. Create your default action controller
7.1.2.6. Create your view script
7.1.2.7. Create your error controller
7.1.2.8. View the site!
7.2. Zend_Controller Basics
7.3. The Front Controller
7.3.1. Overview
7.3.2. Primary Methods
7.3.2.1. getInstance()
7.3.2.2. setControllerDirectory() and addControllerDirectory
7.3.2.3. dispatch()
7.3.2.4. run()
7.3.3. Environmental Accessor Methods
7.3.4. Front Controller Parameters
7.3.5. Subclassing the Front Controller
7.4. The Request Object
7.4.1. Introduction
7.4.2. HTTP Requests
7.4.2.1. Accessing Request Data
7.4.2.2. Base Url and Subdirectories
7.4.2.3. Determining the Request Method
7.4.2.4. Detecting AJAX Requests
7.4.3. Subclassing the Request Object
7.5. The Standard Router: Zend_Controller_Router_Rewrite
7.5.1. Introduction
7.5.2. Using a router
7.5.3. Basic Rewrite Router operation
7.5.4. Default routes
7.5.5. Base URL and subdirectories
7.5.6. Route Types
7.5.6.1. Zend_Controller_Router_Route
7.5.6.1.1. Variable defaults
7.5.6.1.2. Variable requirements
7.5.6.1.3. Hostname routing
7.5.6.2. Zend_Controller_Router_Route_Static
7.5.6.3. Zend_Controller_Router_Route_Regex
7.5.7. Using Zend_Config with the RewriteRouter
7.5.8. Subclassing the Router
7.6. The Dispatcher
7.6.1. Overview
7.6.2. Subclassing the Dispatcher
7.7. Action Controllers
7.7.1. Introduction
7.7.2. Object initialization
7.7.3. Pre- and Post-Dispatch Hooks
7.7.4. Accessors
7.7.5. View Integration
7.7.5.1. View Initialization
7.7.5.2. Rendering Views
7.7.6. Utility Methods
7.7.7. Subclassing the Action Controller
7.8. Action Helpers
7.8.1. Introduction
7.8.2. Helper Initialization
7.8.3. The Helper Broker
7.8.4. Built-in Action Helpers
7.8.4.1. ActionStack
7.8.4.2. AutoComplete
7.8.4.2.1. AutoCompletion with Dojo
7.8.4.2.2. AutoCompletion with Scriptaculous
7.8.4.3. ContextSwitch and AjaxContext
7.8.4.3.1. Default Contexts Available
7.8.4.3.2. Creating Custom Contexts
7.8.4.3.3. Setting Contexts Per Action
7.8.4.3.4. Initializing Context Switching
7.8.4.3.5. Additional Functionality
7.8.4.3.6. AjaxContext Functionality
7.8.4.4. FlashMessenger
7.8.4.4.1. Introduction
7.8.4.4.2. Basic Usage Example
7.8.4.5. JSON
7.8.4.6. Redirector
7.8.4.6.1. Introduction
7.8.4.6.2. Basic Usage Examples
7.8.4.7. ViewRenderer
7.8.4.7.1. Introduction
7.8.4.7.2. API
7.8.4.7.3. Basic Usage Examples
7.8.4.7.4. Advanced Usage Examples
7.8.5. Writing Your Own Helpers
7.9. The Response Object
7.9.1. Usage
7.9.2. Manipulating Headers
7.9.3. Named Segments
7.9.4. Testing for Exceptions in the Response Object
7.9.5. Subclassing the Response Object
7.10. Plugins
7.10.1. Introduction
7.10.2. Writing Plugins
7.10.3. Using Plugins
7.10.4. Retrieving and Manipulating Plugins
7.10.5. Plugins Included in the Standard Distribution
7.10.5.1. ActionStack
7.10.5.2. Zend_Controller_Plugin_ErrorHandler
7.10.5.2.1. Using the ErrorHandler as a 404 Handler
7.10.5.2.2. Handling Previously Rendered Output
7.10.5.2.3. Plugin Usage Examples
7.10.5.2.4. Error Controller Example
7.11. Using a Conventional Modular Directory Structure
7.11.1. Introduction
7.11.2. Specifying Module Controller Directories
7.11.3. Routing to modules
7.11.4. Module or Global Default Controller
7.12. MVC Exceptions
7.12.1. Introduction
7.12.2. How can you handle exceptions?
7.12.3. MVC Exceptions You May Encounter
7.13. Migrating from Previous Versions
7.13.1. Migrating from 1.0.x to 1.5.0 or newer
7.13.2. Migrating from 0.9.3 to 1.0.0RC1 or newer
7.13.3. Migrating from 0.9.2 to 0.9.3 or newer
7.13.4. Migrating from 0.6.0 to 0.8.0 or newer
7.13.5. Migrating from 0.2.0 or before to 0.6.0
8. Zend_Currency
8.1. Introduction to Zend_Currency
8.1.1. Why should Zend_Currency be used ?
8.2. How to work with currencies
8.2.1. Create output from an currency
8.2.2. Changing the format of a currency
8.2.3. Informational methods for Zend_Currency
8.2.4. Settings new default values
8.2.5. Speed up Zend_Currency
8.3. Migrating from Previous Versions
8.3.1. Migrating from 1.0.2 to 1.0.3 or newer
9. Zend_Date
9.1. Introduction
9.1.1. Always Set a Default Timezone
9.1.2. Why Use Zend_Date?
9.2. Theory of Operation
9.2.1. Internals
9.3. Basic Methods
9.3.1. The current date
9.3.2. Zend_Date by Example
9.3.2.1. Output a Date
9.3.2.2. Setting a Date
9.3.2.3. Adding and Subtracting Dates
9.3.2.4. Comparison of dates
9.4. Zend_Date API Overview
9.4.1. Zend_Date Options
9.4.1.1. Selecting the date format type
9.4.1.2. DST and Date Math
9.4.1.3. Month Calculations
9.4.1.4. Speed up date localization and normalization with Zend_Cache
9.4.1.5. Receiving syncronised timestamps with Zend_TimeSync
9.4.2. Working with Date Values
9.4.3. Basic Zend_Date Operations Common to Many Date Parts
9.4.3.1. List of Date Parts
9.4.3.2. List of Date Operations
9.4.4. Comparing Dates
9.4.5. Getting Dates and Date Parts
9.4.6. Working with Fractions of Seconds
9.4.7. Sunrise / Sunset
9.5. Creation of dates
9.5.1. Create the actual date
9.5.2. Create a date from database
9.5.3. Create dates from an array
9.6. Constants for General Date Functions
9.6.1. Using Constants
9.6.2. List of All Constants
9.6.3. Self-Defined OUTPUT Formats with ISO
9.6.4. Self-defined OUTPUT formats using PHP's date() format specifiers
9.7. Working examples
9.7.1. Checking dates
9.7.2. Sunrise and Sunset
9.7.3. Timezones
10. Zend_Db
10.1. Zend_Db_Adapter
10.1.1. Connecting to a Database using an Adapter
10.1.1.1. Using a Zend_Db Adapter Constructor
10.1.1.2. Using the Zend_Db Factory
10.1.1.3. Using Zend_Config with the Zend_Db Factory
10.1.1.4. Adapter Parameters
10.1.1.5. Managing Lazy Connections
10.1.2. The example database
10.1.3. Reading Query Results
10.1.3.1. Fetching a Complete Result Set
10.1.3.2. Changing the Fetch Mode
10.1.3.3. Fetching a Result Set as an Associative Array
10.1.3.4. Fetching a Single Column from a Result Set
10.1.3.5. Fetching Key-Value Pairs from a Result Set
10.1.3.6. Fetching a Single Row from a Result Set
10.1.3.7. Fetching a Single Scalar from a Result Set
10.1.4. Writing Changes to the Database
10.1.4.1. Inserting Data
10.1.4.2. Retrieving a Generated Value
10.1.4.3. Updating Data
10.1.4.4. Deleting Data
10.1.5. Quoting Values and Identifiers
10.1.5.1. Using quote()
10.1.5.2. Using quoteInto()
10.1.5.3. Using quoteIdentifier()
10.1.6. Controlling Database Transactions
10.1.7. Listing and Describing Tables
10.1.8. Closing a Connection
10.1.9. Running Other Database Statements
10.1.10. Notes on Specific Adapters
10.1.10.1. IBM DB2
10.1.10.2. MySQLi
10.1.10.3. Oracle
10.1.10.4. PDO for IBM DB2 and Informix Dynamic Server (IDS)
10.1.10.5. PDO Microsoft SQL Server
10.1.10.6. PDO MySQL
10.1.10.7. PDO Oracle
10.1.10.8. PDO PostgreSQL
10.1.10.9. PDO SQLite
10.1.10.10. Firebird/Interbase
10.2. Zend_Db_Statement
10.2.1. Creating a Statement
10.2.2. Executing a Statement
10.2.3. Fetching Results from a SELECT Statement
10.2.3.1. Fetching a Single Row from a Result Set
10.2.3.2. Fetching a Complete Result Set
10.2.3.3. Changing the Fetch Mode
10.2.3.4. Fetching a Single Column from a Result Set
10.2.3.5. Fetching a Row as an Object
10.3. Zend_Db_Profiler
10.3.1. Introduction
10.3.2. Using the Profiler
10.3.3. Advanced Profiler Usage
10.3.3.1. Filter by query elapsed time
10.3.3.2. Filter by query type
10.3.3.3. Retrieve profiles by query type
10.4. Zend_Db_Select
10.4.1. Overview of the Select Object
10.4.2. Creating a Select Object
10.4.3. Building Select queries
10.4.3.1. Adding a FROM clause
10.4.3.2. Adding Columns
10.4.3.3. Adding Expression Columns
10.4.3.4. Adding columns to an existing FROM or JOIN table
10.4.3.5. Adding Another Table to the Query with JOIN
10.4.3.6. Adding a WHERE Clause
10.4.3.7. Adding a GROUP BY Clause
10.4.3.8. Adding a HAVING Clause
10.4.3.9. Adding an ORDER BY Clause
10.4.3.10. Adding a LIMIT Clause
10.4.3.11. Adding the DISTINCT Query Modifier
10.4.3.12. Adding the FOR UPDATE Query Modifier
10.4.4. Executing Select Queries
10.4.4.1. Executing Select Queries from the Db Adapter
10.4.4.2. Executing Select Queries from the Object
10.4.4.3. Converting a Select Object to a SQL String
10.4.5. Other methods
10.4.5.1. Retrieving Parts of the Select Object
10.4.5.2. Resetting Parts of the Select Object
10.5. Zend_Db_Table
10.5.1. Introduction to Table Class
10.5.2. Defining a Table Class
10.5.2.1. Defining the Table Name and Schema
10.5.2.2. Defining the Table Primary Key
10.5.2.3. Overriding Table Setup Methods
10.5.2.4. Table initialization
10.5.3. Creating an Instance of a Table
10.5.3.1. Specifying a Database Adapter
10.5.3.2. Setting a Default Database Adapter
10.5.3.3. Storing a Database Adapter in the Registry
10.5.4. Inserting Rows to a Table
10.5.4.1. Using a Table with an Auto-incrementing Key
10.5.4.2. Using a Table with a Sequence
10.5.4.3. Using a Table with a Natural Key
10.5.5. Updating Rows in a Table
10.5.6. Deleting Rows from a Table
10.5.7. Finding Rows by Primary Key
10.5.8. Querying for a Set of Rows
10.5.8.1. Select API
10.5.8.2. Fetching a rowset
10.5.8.3. Advanced usage
10.5.9. Querying for a Single Row
10.5.10. Retrieving Table Metadata Information
10.5.11. Caching Table Metadata
10.5.12. Customizing and Extending a Table Class
10.5.12.1. Using Custom Row or Rowset Classes
10.5.12.2. Defining Custom Logic for Insert, Update, and Delete
10.5.12.3. Define Custom Search Methods in Zend_Db_Table
10.5.12.4. Define Inflection in Zend_Db_Table
10.6. Zend_Db_Table_Row
10.6.1. Introduction
10.6.2. Fetching a Row
10.6.2.1. Reading column values from a row
10.6.2.2. Retrieving Row Data as an Array
10.6.2.3. Fetching data from related tables
10.6.3. Writing rows to the database
10.6.3.1. Changing column values in a row
10.6.3.2. Inserting a new row
10.6.3.3. Changing values in multiple columns
10.6.3.4. Deleting a row
10.6.4. Serializing and unserializing rows
10.6.4.1. Serializing a Row
10.6.4.2. Unserializing Row Data
10.6.4.3. Reactivating a Row as Live Data
10.6.5. Extending the Row class
10.6.5.1. Row initialization
10.6.5.2. Defining Custom Logic for Insert, Update, and Delete in Zend_Db_Table_Row
10.6.5.3. Define Inflection in Zend_Db_Table_Row
10.7. Zend_Db_Table_Rowset
10.7.1. Introduction
10.7.2. Fetching a Rowset
10.7.3. Retrieving Rows from a Rowset
10.7.4. Retrieving a Rowset as an Array
10.7.5. Serializing and Unserializing a Rowset
10.7.6. Extending the Rowset class
10.8. Zend_Db_Table Relationships
10.8.1. Introduction
10.8.2. Defining Relationships
10.8.3. Fetching a Dependent Rowset
10.8.4. Fetching a Parent Row
10.8.5. Fetching a Rowset via a Many-to-many Relationship
10.8.6. Cascading Write Operations
10.8.6.1. Notes Regarding Cascading Operations
11. Zend_Debug
11.1. Dumping Variables
12. Zend_Dojo
12.1. Introduction
12.2. Zend_Dojo_Data: dojo.data Envelopes
12.2.1. Zend_Dojo_Data Usage
12.2.2. Advanced Use Cases
12.2.2.1. Available Methods
12.3. Dojo View Helpers
12.3.1. dojo() View Helper
12.3.1.1. Programmatic and Declarative Usage of Dojo
12.3.1.2. Themes
12.3.1.3. Using Layers (Custom Builds)
12.3.1.4. Methods Available
12.3.2. Dijit-Specific View Helpers
12.3.2.1. Dijit Layout Elements
12.3.2.2. Dijit Form Elements
12.4. Dojo Form Elements and Decorators
12.4.1. Dijit-Specific Form Decorators
12.4.1.1. DijitElement Decorator
12.4.1.2. DijitForm Decorator
12.4.1.3. DijitContainer-based Decorators
12.4.2. Dijit-Specific Form Elements
12.4.2.1. Button
12.4.2.2. CheckBox
12.4.2.3. ComboBox
12.4.2.4. CurrencyTextBox
12.4.2.5. DateTextBox
12.4.2.6. HorizontalSlider
12.4.2.7. NumberSpinner
12.4.2.8. NumberTextBox
12.4.2.9. RadioButton
12.4.2.10. Slider abstract element
12.4.2.11. TextBox
12.4.2.12. Textarea
12.4.2.13. TimeTextBox
12.4.2.14. ValidationTextBox
12.4.2.15. VerticalSlider
12.4.3. Dojo Form Examples
13. Zend_Dom
13.1. Introduction
13.2. Zend_Dom_Query
13.2.1. Theory of Operation
13.2.2. Methods Available
13.2.2.1. Zend_Dom_Query
13.2.2.2. Zend_Dom_Query_Result
14. Zend_Exception
14.1. Using Exceptions
15. Zend_Feed
15.1. Introduction
15.2. Importing Feeds
15.2.1. Custom feeds
15.2.1.1. Importing a custom array
15.2.1.2. Importing a custom data source
15.2.1.3. Dumping the contents of a feed
15.3. Retrieving Feeds from Web Pages
15.4. Consuming an RSS Feed
15.5. Consuming an Atom Feed
15.6. Consuming a Single Atom Entry
15.7. Modifying Feed and Entry structures
15.8. Custom Feed and Entry Classes
16. Zend_Filter
16.1. Introduction
16.1.1. What is a filter?
16.1.2. Basic usage of filters
16.1.3. Using the static get() method
16.2. Standard Filter Classes
16.2.1. Alnum
16.2.2. Alpha
16.2.3. BaseName
16.2.4. Digits
16.2.5. Dir
16.2.6. HtmlEntities
16.2.7. Int
16.2.8. RealPath
16.2.9. StringToLower
16.2.10. StringToUpper
16.2.11. StringTrim
16.2.12. StripTags
16.3. Filter Chains
16.4. Writing Filters
16.5. Zend_Filter_Input
16.5.1. Declaring Filter and Validator Rules
16.5.2. Creating the Filter and Validator Processor
16.5.3. Retrieving Validated Fields and other Reports
16.5.3.1. Querying if the input is valid
16.5.3.2. Getting Invalid, Missing, or Unknown Fields
16.5.3.3. Getting Valid Fields
16.5.4. Using Metacommands to Control Filter or Validator Rules
16.5.4.1. The FIELDS metacommand
16.5.4.2. The PRESENCE metacommand
16.5.4.3. The DEFAULT_VALUE metacommand
16.5.4.4. The ALLOW_EMPTY metacommand
16.5.4.5. The BREAK_CHAIN metacommand
16.5.4.6. The MESSAGES metacommand
16.5.4.7. Using options to set metacommands for all rules
16.5.5. Adding Filter Class Namespaces
16.6. Zend_Filter_Inflector
16.6.1. Operation
16.6.2. Setting Paths To Alternate Filters
16.6.3. Setting the Inflector Target
16.6.4. Inflection Rules
16.6.4.1. Static Rules
16.6.4.2. Filter Inflector Rules
16.6.4.3. Setting Many Rules At Once
16.6.5. Utility Methods
16.6.6. Using Zend_Config with Zend_Filter_Inflector
17. Zend_Form
17.1. Zend_Form
17.2. Zend_Form Quick Start
17.2.1. Create a form object
17.2.2. Add elements to the form
17.2.3. Render a form
17.2.4. Check if a form is valid
17.2.5. Get error status
17.2.6. Putting it together
17.2.7. Using a Zend_Config object
17.2.8. Conclusion
17.3. Creating Form Elements Using Zend_Form_Element
17.3.1. Plugin Loaders
17.3.2. Filters
17.3.3. Validators
17.3.3.1. Custom Error Messages
17.3.4. Decorators
17.3.5. Metadata and Attributes
17.3.6. Standard Elements
17.3.7. Zend_Form_Element Methods
17.3.8. Configuration
17.3.9. Custom Elements
17.4. Creating Forms Using Zend_Form
17.4.1. Plugin Loaders
17.4.2. Elements
17.4.2.1. Populating and Retrieving Values
17.4.2.2. Global Operations
17.4.2.3. Methods For Interacting With Elements
17.4.3. Display Groups
17.4.3.1. Global Operations
17.4.3.2. Using Custom Display Group Classes
17.4.3.3. Methods for Interacting With Display Groups
17.4.3.4. Zend_Form_DisplayGroup Methods
17.4.4. Sub Forms
17.4.4.1. Global Operations
17.4.4.2. Methods for Interacting With Sub Forms
17.4.5. Metadata and Attributes
17.4.6. Decorators
17.4.7. Validation
17.4.7.1. Custom Error Messages
17.4.8. Methods
17.4.9. Configuration
17.4.10. Custom forms
17.5. Creating Custom Form Markup Using Zend_Form_Decorator
17.5.1. Operation
17.5.2. Standard Decorators
17.5.3. Custom Decorators
17.6. Standard Form Elements Shipped With Zend Framework
17.6.1. Zend_Form_Element_Button
17.6.2. Zend_Form_Element_Checkbox
17.6.3. Zend_Form_Element_Hidden
17.6.4. Zend_Form_Element_Hash
17.6.5. Zend_Form_Element_Image
17.6.6. Zend_Form_Element_MultiCheckbox
17.6.7. Zend_Form_Element_Multiselect
17.6.8. Zend_Form_Element_Password
17.6.9. Zend_Form_Element_Radio
17.6.10. Zend_Form_Element_Reset
17.6.11. Zend_Form_Element_Select
17.6.12. Zend_Form_Element_Submit
17.6.13. Zend_Form_Element_Text
17.6.14. Zend_Form_Element_Textarea
17.7. Standard Form Decorators Shipped With Zend Framework
17.7.1. Zend_Form_Decorator_Callback
17.7.2. Zend_Form_Decorator_Description
17.7.3. Zend_Form_Decorator_DtDdWrapper
17.7.4. Zend_Form_Decorator_Errors
17.7.5. Zend_Form_Decorator_Fieldset
17.7.6. Zend_Form_Decorator_Form
17.7.7. Zend_Form_Decorator_FormElements
17.7.8. Zend_Form_Decorator_HtmlTag
17.7.9. Zend_Form_Decorator_Image
17.7.10. Zend_Form_Decorator_Label
17.7.11. Zend_Form_Decorator_ViewHelper
17.7.12. Zend_Form_Decorator_ViewScript
17.8. Internationalization of Zend_Form
17.8.1. Initializing I18n in Forms
17.8.2. Standard I18n Targets
17.9. Advanced Zend_Form Usage
17.9.1. Array Notation
17.9.2. Multi-Page Forms
18. Zend_Gdata
18.1. Introduction to Gdata
18.1.1. Structure of Zend_Gdata
18.1.2. Interacting with Google Services
18.1.3. Obtaining instances of Zend_Gdata classes
18.1.4. Google Data Client Authentication
18.1.5. Dependencies
18.1.6. Creating a new Gdata client
18.1.7. Common query parameters
18.1.8. Fetching a feed
18.1.9. Working with multi-page feeds
18.1.10. Working with data in feeds and entries
18.1.11. Updating entries
18.1.12. Posting entries to Google servers
18.1.13. Deleting entries on Google servers
18.2. Authenticating with AuthSub
18.2.1. Creating an AuthSub authenticated Http Client
18.2.2. Revoking AuthSub authentication
18.3. Authenticating with ClientLogin
18.3.1. Creating a ClientLogin authenticated Http Client
18.3.2. Terminating a ClientLogin authenticated Http Client
18.4. Using Google Calendar
18.4.1. Connecting To The Calendar Service
18.4.1.1. Authentication
18.4.1.2. Creating A Service Instance
18.4.2. Retrieving A Calendar List
18.4.3. Retrieving Events
18.4.3.1. Queries
18.4.3.2. Retrieving Events In Order Of Start Time
18.4.3.3. Retrieving Events In A Specified Date Range
18.4.3.4. Retrieving Events By Fulltext Query
18.4.3.5. Retrieving Individual Events
18.4.4. Creating Events
18.4.4.1. Creating Single-Occurrence Events
18.4.4.2. Event Schedules and Reminders
18.4.4.3. Creating Recurring Events
18.4.4.4. Using QuickAdd
18.4.5. Modifying Events
18.4.6. Deleting Events
18.4.7. Accessing Event Comments
18.5. Using Google Documents List Data API
18.5.1. Get a List of Documents
18.5.2. Upload a Document
18.5.3. Searching the documents feed
18.5.3.1. Get a List of Word Processing Documents
18.5.3.2. Get a List of Spreadsheets
18.5.3.3. Performing a text query
18.6. Using Google Spreadsheets
18.6.1. Create a Spreadsheet
18.6.2. Get a List of Spreadsheets
18.6.3. Get a List of Worksheets
18.6.4. Interacting With List-based Feeds
18.6.4.1. Get a List-based Feed
18.6.4.2. Reverse-sort Rows
18.6.4.3. Send a Structured Query
18.6.4.4. Add a Row
18.6.4.5. Edit a Row
18.6.4.6. Delete a Row
18.6.5. Interacting With Cell-based Feeds
18.6.5.1. Get a Cell-based Feed
18.6.5.2. Send a Cell Range Query
18.6.5.3. Change Contents of a Cell
18.7. Using Google Apps Provisioning
18.7.1. Setting the current domain
18.7.1.1. Setting the domain for the service class
18.7.1.2. Setting the domain for query classes
18.7.2. Interacting with users
18.7.2.1. Creating a user account
18.7.2.2. Retrieving a user account
18.7.2.3. Retrieving all users in a domain
18.7.2.4. Updating a user account
18.7.2.4.1. Resetting a user's password
18.7.2.4.2. Forcing a user to change their password
18.7.2.4.3. Suspending a user account
18.7.2.4.4. Granting administrative rights
18.7.2.5. Deleting user accounts
18.7.3. Interacting with nicknames
18.7.3.1. Creating a nickname
18.7.3.2. Retrieving a nickname
18.7.3.3. Retrieving all nicknames for a user
18.7.3.4. Retrieving all nicknames in a domain
18.7.3.5. Deleting a nickname
18.7.4. Interacting with email lists
18.7.4.1. Creating an email list
18.7.4.2. Retrieving all email lists to which a recipient is subscribed
18.7.4.3. Retrieving all email lists in a domain
18.7.4.4. Deleting an email list
18.7.5. Interacting with email list recipients
18.7.5.1. Adding a recipient to an email list
18.7.5.2. Retrieving the list of subscribers to an email list
18.7.5.3. Removing a recipient from an email list
18.7.6. Handling errors
18.8. Using Google Base
18.8.1. Connect To The Base Service
18.8.1.1. Authentication
18.8.1.2. Create A Service Instance
18.8.2. Retrieve Items
18.8.2.1. Send a Structured Query
18.8.2.1.1. Query Customer Items Feed
18.8.2.1.2. Query Snippets Feed
18.8.2.2. Iterate through the Items
18.8.3. Insert, Update, and Delete Customer Items
18.8.3.1. Insert an Item
18.8.3.2. Modify an Item
18.8.3.3. Delete an Item
18.9. Using the YouTube Data API
18.9.1. Authentication
18.9.2. Developer Keys and Client ID
18.9.3. Retrieving public video feeds
18.9.3.1. Searching for videos by metadata
18.9.3.2. Searching for videos by categories and tags/keywords
18.9.3.3. Retrieving standard feeds
18.9.3.4. Retrieving videos uploaded by a user
18.9.3.5. Retrieving videos favorited by a user
18.9.3.6. Retrieving video responses for a video
18.9.4. Retrieving video comments
18.9.5. Retrieving playlist feeds
18.9.5.1. Retrieving the playlists of a user
18.9.5.2. Retrieving a specific playlist
18.9.6. Retrieving a list of a user's subscriptions
18.9.7. Retrieving a user's profile
18.9.8. Uploading Videos to YouTube
18.9.9. Browser-based upload
18.9.10. Checking upload status
18.9.11. Other Functions
18.10. Using Picasa Web Albums
18.10.1. Connecting To The Service
18.10.1.1. Authentication
18.10.1.2. Creating A Service Instance
18.10.2. Understanding and Constructing Queries
18.10.3. Retrieving Feeds And Entries
18.10.3.1. Retrieving A User
18.10.3.2. Retrieving An Album
18.10.3.3. Retrieving A Photo
18.10.3.4. Retrieving A Comment
18.10.3.5. Retrieving A Tag
18.10.4. Creating Entries
18.10.4.1. Creating An Album
18.10.4.2. Creating A Photo
18.10.4.3. Creating A Comment
18.10.4.4. Creating A Tag
18.10.5. Deleting Entries
18.10.5.1. Deleting An Album
18.10.5.2. Deleting A Photo
18.10.5.3. Deleting A Comment
18.10.5.4. Deleting A Tag
18.10.5.5. Optimistic Concurrency (Notes On Deletion)
18.11. Catching Gdata Exceptions
19. Zend_Http
19.1. Zend_Http_Client - Introduction
19.1.1. Introduction
19.1.2. Configuration Parameters
19.1.3. Performing Basic HTTP Requests
19.1.4. Adding GET and POST parameters
19.1.5. Accessing Last Request and Response
19.2. Zend_Http_Client - Advanced Usage
19.2.1. HTTP Redirections
19.2.2. Adding Cookies and Using Cookie Persistence
19.2.3. Setting Custom Request Headers
19.2.4. File Uploads
19.2.5. Sending Raw POST Data
19.2.6. HTTP Authentication
19.2.7. Sending Multiple Requests With the Same Client
19.3. Zend_Http_Client - Connection Adapters
19.3.1. Overview
19.3.2. The Socket Adapter
19.3.3. The Proxy Adapter
19.3.4. The Test Adapter
19.3.5. Creating your own connection adapters
19.4. Zend_Http_Cookie and Zend_Http_CookieJar
19.4.1. Introduction
19.4.2. Instantiating Zend_Http_Cookie Objects
19.4.3. Zend_Http_Cookie getter methods
19.4.4. Zend_Http_Cookie: Matching against a scenario
19.4.5. The Zend_Http_CookieJar Class: Instantiation
19.4.6. Adding Cookies to a Zend_Http_CookieJar object
19.4.7. Retrieving Cookies From a Zend_Http_CookieJar object
19.5. Zend_Http_Response
19.5.1. Introduction
19.5.2. Boolean Tester Methods
19.5.3. Accessor Methods
19.5.4. Static HTTP Response Parsers
20. Zend_InfoCard
20.1. Introduction
20.1.1. Basic Theory of Usage
20.1.2. Using as part of Zend_Auth
20.1.3. Using the Zend_InfoCard component standalone
20.1.4. Working with a Claims object
20.1.5. Attaching Information Cards to existing accounts
20.1.6. Creating Zend_InfoCard adapters
21. Zend_Json
21.1. Introduction
21.2. Basic Usage
21.3. JSON Objects
21.4. XML to JSON conversion
21.5. Zend_Json_Server - JSON-RPC server
21.5.1. Advanced Details
21.5.1.1. Zend_Json_