Programmer's Reference Guide

Programmer's Reference Guide

Zend Framework

2008-08-25


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_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_Captcha
5.1. Introduction
5.2. Captcha Operation
5.3. Captcha Adapters
5.3.1. Zend_Captcha_Word
5.3.2. Zend_Captcha_Dumb
5.3.3. Zend_Captcha_Figlet
5.3.4. Zend_Captcha_Image
5.3.5. Zend_Captcha_ReCaptcha
6. Zend_Config
6.1. Introduction
6.2. Theory of Operation
6.3. Zend_Config_Ini
6.4. Zend_Config_Xml
7. Zend_Console_Getopt
7.1. Introduction to Getopt
7.2. Declaring Getopt Rules
7.2.1. Declaring Options with the Short Syntax
7.2.2. Declaring Options with the Long Syntax
7.3. Fetching Options and Arguments
7.3.1. Handling Getopt Exceptions
7.3.2. Fetching Options by Name
7.3.3. Reporting Options
7.3.4. Fetching Non-option Arguments
7.4. Configuring Zend_Console_Getopt
7.4.1. Adding Option Rules
7.4.2. Adding Help Messages
7.4.3. Adding Option Aliases
7.4.4. Adding Argument Lists
7.4.5. Adding Configuration
8. Zend_Controller
8.1. Zend_Controller Quick Start
8.1.1. Introduction
8.1.2. Quick Start
8.1.2.1. Create your filesystem layout
8.1.2.2. Set your document root
8.1.2.3. Create your rewrite rules
8.1.2.4. Create your bootstrap file
8.1.2.5. Create your default action controller
8.1.2.6. Create your view script
8.1.2.7. Create your error controller
8.1.2.8. View the site!
8.2. Zend_Controller Basics
8.3. The Front Controller
8.3.1. Overview
8.3.2. Primary Methods
8.3.2.1. getInstance()
8.3.2.2. setControllerDirectory() and addControllerDirectory
8.3.2.3. addModuleDirectory() and getModuleDirectory()
8.3.2.4. dispatch()
8.3.2.5. run()
8.3.3. Environmental Accessor Methods
8.3.4. Front Controller Parameters
8.3.5. Subclassing the Front Controller
8.4. The Request Object
8.4.1. Introduction
8.4.2. HTTP Requests
8.4.2.1. Accessing Request Data
8.4.2.2. Base Url and Subdirectories
8.4.2.3. Determining the Request Method
8.4.2.4. Detecting AJAX Requests
8.4.3. Subclassing the Request Object
8.5. The Standard Router
8.5.1. Introduction
8.5.2. Using a router
8.5.3. Basic Rewrite Router operation
8.5.4. Default routes
8.5.5. Base URL and subdirectories
8.5.6. Route Types
8.5.6.1. Zend_Controller_Router_Route
8.5.6.1.1. Variable defaults
8.5.6.1.2. Variable requirements
8.5.6.1.3. Hostname routing
8.5.6.2. Zend_Controller_Router_Route_Static
8.5.6.3. Zend_Controller_Router_Route_Regex
8.5.7. Using Zend_Config with the RewriteRouter
8.5.8. Subclassing the Router
8.6. The Dispatcher
8.6.1. Overview
8.6.2. Subclassing the Dispatcher
8.7. Action Controllers
8.7.1. Introduction
8.7.2. Object initialization
8.7.3. Pre- and Post-Dispatch Hooks
8.7.4. Accessors
8.7.5. View Integration
8.7.5.1. View Initialization
8.7.5.2. Rendering Views
8.7.6. Utility Methods
8.7.7. Subclassing the Action Controller
8.8. Action Helpers
8.8.1. Introduction
8.8.2. Helper Initialization
8.8.3. The Helper Broker
8.8.4. Built-in Action Helpers
8.8.4.1. ActionStack
8.8.4.2. AutoComplete
8.8.4.2.1. AutoCompletion with Dojo
8.8.4.2.2. AutoCompletion with Scriptaculous
8.8.4.3. ContextSwitch and AjaxContext
8.8.4.3.1. Default Contexts Available
8.8.4.3.2. Creating Custom Contexts
8.8.4.3.3. Setting Contexts Per Action
8.8.4.3.4. Initializing Context Switching
8.8.4.3.5. Additional Functionality
8.8.4.3.6. AjaxContext Functionality
8.8.4.4. FlashMessenger
8.8.4.4.1. Introduction
8.8.4.4.2. Basic Usage Example
8.8.4.5. JSON
8.8.4.6. Redirector
8.8.4.6.1. Introduction
8.8.4.6.2. Basic Usage Examples
8.8.4.7. ViewRenderer
8.8.4.7.1. Introduction
8.8.4.7.2. API
8.8.4.7.3. Basic Usage Examples
8.8.4.7.4. Advanced Usage Examples
8.8.5. Writing Your Own Helpers
8.9. The Response Object
8.9.1. Usage
8.9.2. Manipulating Headers
8.9.3. Named Segments
8.9.4. Testing for Exceptions in the Response Object
8.9.5. Subclassing the Response Object
8.10. Plugins
8.10.1. Introduction
8.10.2. Writing Plugins
8.10.3. Using Plugins
8.10.4. Retrieving and Manipulating Plugins
8.10.5. Plugins Included in the Standard Distribution
8.10.5.1. ActionStack
8.10.5.2. Zend_Controller_Plugin_ErrorHandler
8.10.5.2.1. Using the ErrorHandler as a 404 Handler
8.10.5.2.2. Handling Previously Rendered Output
8.10.5.2.3. Plugin Usage Examples
8.10.5.2.4. Error Controller Example
8.11. Using a Conventional Modular Directory Structure
8.11.1. Introduction
8.11.2. Specifying Module Controller Directories
8.11.3. Routing to modules
8.11.4. Module or Global Default Controller
8.12. MVC Exceptions
8.12.1. Introduction
8.12.2. How can you handle exceptions?
8.12.3. MVC Exceptions You May Encounter
8.13. Migrating from Previous Versions
8.13.1. Migrating from 1.5.x to 1.6.0 or newer
8.13.1.1. Dispatcher Interface changes
8.13.2. Migrating from 1.0.x to 1.5.0 or newer
8.13.3. Migrating from 0.9.3 to 1.0.0RC1 or newer
8.13.4. Migrating from 0.9.2 to 0.9.3 or newer
8.13.5. Migrating from 0.6.0 to 0.8.0 or newer
8.13.6. Migrating from 0.2.0 or before to 0.6.0
9. Zend_Currency
9.1. Introduction to Zend_Currency
9.1.1. Why should Zend_Currency be used ?
9.2. How to work with currencies
9.2.1. Create output from an currency
9.2.2. Changing the format of a currency
9.2.3. Informational methods for Zend_Currency
9.2.4. Settings new default values
9.2.5. Speed up Zend_Currency
9.3. Migrating from Previous Versions
9.3.1. Migrating from 1.0.2 to 1.0.3 or newer
10. Zend_Date
10.1. Introduction
10.1.1. Always Set a Default Timezone
10.1.2. Why Use Zend_Date?
10.2. Theory of Operation
10.2.1. Internals
10.3. Basic Methods
10.3.1. The current date
10.3.2. Zend_Date by Example
10.3.2.1. Output a Date
10.3.2.2. Setting a Date
10.3.2.3. Adding and Subtracting Dates
10.3.2.4. Comparison of dates
10.4. Zend_Date API Overview
10.4.1. Zend_Date Options
10.4.1.1. Selecting the date format type
10.4.1.2. DST and Date Math
10.4.1.3. Month Calculations
10.4.1.4. Speed up date localization and normalization with Zend_Cache
10.4.1.5. Receiving syncronised timestamps with Zend_TimeSync
10.4.2. Working with Date Values
10.4.3. Basic Zend_Date Operations Common to Many Date Parts
10.4.3.1. List of Date Parts
10.4.3.2. List of Date Operations
10.4.4. Comparing Dates
10.4.5. Getting Dates and Date Parts
10.4.6. Working with Fractions of Seconds
10.4.7. Sunrise / Sunset
10.5. Creation of dates
10.5.1. Create the actual date
10.5.2. Create a date from database
10.5.3. Create dates from an array
10.6. Constants for General Date Functions
10.6.1. Using Constants
10.6.2. List of All Constants
10.6.3. Self-Defined OUTPUT Formats with ISO
10.6.4. Self-defined OUTPUT formats using PHP's date() format specifiers
10.7. Working examples
10.7.1. Checking dates
10.7.2. Sunrise and Sunset
10.7.3. Timezones
11. Zend_Db
11.1. Zend_Db_Adapter
11.1.1. Connecting to a Database using an Adapter
11.1.1.1. Using a Zend_Db Adapter Constructor
11.1.1.2. Using the Zend_Db Factory
11.1.1.3. Using Zend_Config with the Zend_Db Factory
11.1.1.4. Adapter Parameters
11.1.1.5. Managing Lazy Connections
11.1.2. The example database
11.1.3. Reading Query Results
11.1.3.1. Fetching a Complete Result Set
11.1.3.2. Changing the Fetch Mode
11.1.3.3. Fetching a Result Set as an Associative Array
11.1.3.4. Fetching a Single Column from a Result Set
11.1.3.5. Fetching Key-Value Pairs from a Result Set
11.1.3.6. Fetching a Single Row from a Result Set
11.1.3.7. Fetching a Single Scalar from a Result Set
11.1.4. Writing Changes to the Database
11.1.4.1. Inserting Data
11.1.4.2. Retrieving a Generated Value
11.1.4.3. Updating Data
11.1.4.4. Deleting Data
11.1.5. Quoting Values and Identifiers
11.1.5.1. Using quote()
11.1.5.2. Using quoteInto()
11.1.5.3. Using quoteIdentifier()
11.1.6. Controlling Database Transactions
11.1.7. Listing and Describing Tables
11.1.8. Closing a Connection
11.1.9. Running Other Database Statements
11.1.10. Notes on Specific Adapters
11.1.10.1. IBM DB2
11.1.10.2. MySQLi
11.1.10.3. Oracle
11.1.10.4. PDO for IBM DB2 and Informix Dynamic Server (IDS)
11.1.10.5. PDO Microsoft SQL Server
11.1.10.6. PDO MySQL
11.1.10.7. PDO Oracle
11.1.10.8. PDO PostgreSQL
11.1.10.9. PDO SQLite
11.1.10.10. Firebird/Interbase
11.2. Zend_Db_Statement
11.2.1. Creating a Statement
11.2.2. Executing a Statement
11.2.3. Fetching Results from a SELECT Statement
11.2.3.1. Fetching a Single Row from a Result Set
11.2.3.2. Fetching a Complete Result Set
11.2.3.3. Changing the Fetch Mode
11.2.3.4. Fetching a Single Column from a Result Set
11.2.3.5. Fetching a Row as an Object
11.3. Zend_Db_Profiler
11.3.1. Introduction
11.3.2. Using the Profiler
11.3.3. Advanced Profiler Usage
11.3.3.1. Filter by query elapsed time
11.3.3.2. Filter by query type
11.3.3.3. Retrieve profiles by query type
11.3.4. Specialized Profilers
11.3.4.1. Profiling with Firebug
11.4. Zend_Db_Select
11.4.1. Overview of the Select Object
11.4.2. Creating a Select Object
11.4.3. Building Select queries
11.4.3.1. Adding a FROM clause
11.4.3.2. Adding Columns
11.4.3.3. Adding Expression Columns
11.4.3.4. Adding columns to an existing FROM or JOIN table
11.4.3.5. Adding Another Table to the Query with JOIN
11.4.3.6. Adding a WHERE Clause
11.4.3.7. Adding a GROUP BY Clause
11.4.3.8. Adding a HAVING Clause
11.4.3.9. Adding an ORDER BY Clause
11.4.3.10. Adding a LIMIT Clause
11.4.3.11. Adding the DISTINCT Query Modifier
11.4.3.12. Adding the FOR UPDATE Query Modifier
11.4.4. Executing Select Queries
11.4.4.1. Executing Select Queries from the Db Adapter
11.4.4.2. Executing Select Queries from the Object
11.4.4.3. Converting a Select Object to a SQL String
11.4.5. Other methods
11.4.5.1. Retrieving Parts of the Select Object
11.4.5.2. Resetting Parts of the Select Object
11.5. Zend_Db_Table
11.5.1. Introduction to Table Class
11.5.2. Defining a Table Class
11.5.2.1. Defining the Table Name and Schema
11.5.2.2. Defining the Table Primary Key
11.5.2.3. Overriding Table Setup Methods
11.5.2.4. Table initialization
11.5.3. Creating an Instance of a Table
11.5.3.1. Specifying a Database Adapter
11.5.3.2. Setting a Default Database Adapter
11.5.3.3. Storing a Database Adapter in the Registry
11.5.4. Inserting Rows to a Table
11.5.4.1. Using a Table with an Auto-incrementing Key
11.5.4.2. Using a Table with a Sequence
11.5.4.3. Using a Table with a Natural Key
11.5.5. Updating Rows in a Table
11.5.6. Deleting Rows from a Table
11.5.7. Finding Rows by Primary Key
11.5.8. Querying for a Set of Rows
11.5.8.1. Select API
11.5.8.2. Fetching a rowset
11.5.8.3. Advanced usage
11.5.9. Querying for a Single Row
11.5.10. Retrieving Table Metadata Information
11.5.11. Caching Table Metadata
11.5.12. Customizing and Extending a Table Class
11.5.12.1. Using Custom Row or Rowset Classes
11.5.12.2. Defining Custom Logic for Insert, Update, and Delete
11.5.12.3. Define Custom Search Methods in Zend_Db_Table
11.5.12.4. Define Inflection in Zend_Db_Table
11.6. Zend_Db_Table_Row
11.6.1. Introduction
11.6.2. Fetching a Row
11.6.2.1. Reading column values from a row
11.6.2.2. Retrieving Row Data as an Array
11.6.2.3. Fetching data from related tables
11.6.3. Writing rows to the database
11.6.3.1. Changing column values in a row
11.6.3.2. Inserting a new row
11.6.3.3. Changing values in multiple columns
11.6.3.4. Deleting a row
11.6.4. Serializing and unserializing rows
11.6.4.1. Serializing a Row
11.6.4.2. Unserializing Row Data
11.6.4.3. Reactivating a Row as Live Data
11.6.5. Extending the Row class
11.6.5.1. Row initialization
11.6.5.2. Defining Custom Logic for Insert, Update, and Delete in Zend_Db_Table_Row
11.6.5.3. Define Inflection in Zend_Db_Table_Row
11.7. Zend_Db_Table_Rowset
11.7.1. Introduction
11.7.2. Fetching a Rowset
11.7.3. Retrieving Rows from a Rowset
11.7.4. Retrieving a Rowset as an Array
11.7.5. Serializing and Unserializing a Rowset
11.7.6. Extending the Rowset class
11.8. Zend_Db_Table Relationships
11.8.1. Introduction
11.8.2. Defining Relationships
11.8.3. Fetching a Dependent Rowset
11.8.4. Fetching a Parent Row
11.8.5. Fetching a Rowset via a Many-to-many Relationship
11.8.6. Cascading Write Operations
11.8.6.1. Notes Regarding Cascading Operations
12. Zend_Debug
12.1. Dumping Variables
13. Zend_Dojo
13.1. Introduction
13.2. Zend_Dojo_Data: dojo.data Envelopes
13.2.1. Zend_Dojo_Data Usage
13.2.2. Advanced Use Cases
13.2.2.1. Available Methods
13.3. Dojo View Helpers
13.3.1. dojo() View Helper
13.3.1.1. Programmatic and Declarative Usage of Dojo
13.3.1.2. Themes
13.3.1.3. Using Layers (Custom Builds)
13.3.1.4. Methods Available
13.3.2. Dijit-Specific View Helpers
13.3.2.1. Dijit Layout Elements
13.3.2.2. Dijit Form Elements
13.4. Dojo Form Elements and Decorators
13.4.1. Dijit-Specific Form Decorators
13.4.1.1. DijitElement Decorator
13.4.1.2. DijitForm Decorator
13.4.1.3. DijitContainer-based Decorators
13.4.2. Dijit-Specific Form Elements
13.4.2.1. Button
13.4.2.2. CheckBox
13.4.2.3. ComboBox and FilteringSelect
13.4.2.4. CurrencyTextBox
13.4.2.5. DateTextBox
13.4.2.6. HorizontalSlider
13.4.2.7. NumberSpinner
13.4.2.8. NumberTextBox
13.4.2.9. PasswordTextBox
13.4.2.10. RadioButton
13.4.2.11. Slider abstract element
13.4.2.12. SubmitButton
13.4.2.13. TextBox
13.4.2.14. Textarea
13.4.2.15. TimeTextBox
13.4.2.16. ValidationTextBox
13.4.2.17. VerticalSlider
13.4.3. Dojo Form Examples
14. Zend_Dom
14.1. Introduction
14.2. Zend_Dom_Query
14.2.1. Theory of Operation
14.2.2. Methods Available
14.2.2.1. Zend_Dom_Query
14.2.2.2. Zend_Dom_Query_Result
15. Zend_Exception
15.1. Using Exceptions
16. Zend_Feed
16.1. Introduction
16.2. Importing Feeds
16.2.1. Custom feeds
16.2.1.1. Importing a custom array
16.2.1.2. Importing a custom data source
16.2.1.3. Dumping the contents of a feed
16.3. Retrieving Feeds from Web Pages
16.4. Consuming an RSS Feed
16.5. Consuming an Atom Feed
16.6. Consuming a Single Atom Entry
16.7. Modifying Feed and Entry structures
16.8. Custom Feed and Entry Classes
17. Zend_File
17.1. Zend_File_Transfer
17.2. Validators for Zend_File_Transfer
17.2.1. Using validators with Zend_File_Transfer
17.2.2. Count validator
17.2.3. Extension validator
17.2.4. FilesSize validator
17.2.5. ImageSize validator
17.2.6. MimeType validator
17.2.7. Size validator
18. Zend_Filter
18.1. Introduction
18.1.1. What is a filter?
18.1.2. Basic usage of filters
18.1.3. Using the static get() method
18.2. Standard Filter Classes
18.2.1. Alnum
18.2.2. Alpha
18.2.3. BaseName
18.2.4. Digits
18.2.5. Dir
18.2.6. HtmlEntities
18.2.7. Int
18.2.8. StripNewlines
18.2.9. RealPath
18.2.10. StringToLower
18.2.11. StringToUpper
18.2.12. StringTrim
18.2.13. StripTags
18.3. Filter Chains
18.4. Writing Filters
18.5. Zend_Filter_Input
18.5.1. Declaring Filter and Validator Rules
18.5.2. Creating the Filter and Validator Processor
18.5.3. Retrieving Validated Fields and other Reports
18.5.3.1. Querying if the input is valid
18.5.3.2. Getting Invalid, Missing, or Unknown Fields
18.5.3.3. Getting Valid Fields
18.5.4. Using Metacommands to Control Filter or Validator Rules
18.5.4.1. The FIELDS metacommand
18.5.4.2. The PRESENCE metacommand
18.5.4.3. The DEFAULT_VALUE metacommand
18.5.4.4. The ALLOW_EMPTY metacommand
18.5.4.5. The BREAK_CHAIN metacommand
18.5.4.6. The MESSAGES metacommand
18.5.4.7. Using options to set metacommands for all rules
18.5.5. Adding Filter Class Namespaces
18.6. Zend_Filter_Inflector
18.6.1. Operation
18.6.2. Setting Paths To Alternate Filters
18.6.3. Setting the Inflector Target
18.6.4. Inflection Rules
18.6.4.1. Static Rules
18.6.4.2. Filter Inflector Rules
18.6.4.3. Setting Many Rules At Once
18.6.5. Utility Methods
18.6.6. Using Zend_Config with Zend_Filter_Inflector
19. Zend_Form
19.1. Zend_Form
19.2. Zend_Form Quick Start
19.2.1. Create a form object
19.2.2. Add elements to the form
19.2.3. Render a form
19.2.4. Check if a form is valid
19.2.5. Get error status
19.2.6. Putting it together
19.2.7. Using a Zend_Config object
19.2.8. Conclusion
19.3. Creating Form Elements Using Zend_Form_Element
19.3.1. Plugin Loaders
19.3.2. Filters
19.3.3. Validators
19.3.3.1. Custom Error Messages
19.3.4. Decorators
19.3.5. Metadata and Attributes
19.3.6. Standard Elements
19.3.7. Zend_Form_Element Methods
19.3.8. Configuration
19.3.9. Custom Elements
19.4. Creating Forms Using Zend_Form
19.4.1. Plugin Loaders
19.4.2. Elements
19.4.2.1. Populating and Retrieving Values
19.4.2.2. Global Operations
19.4.2.3. Methods For Interacting With Elements
19.4.3. Display Groups
19.4.3.1. Global Operations
19.4.3.2. Using Custom Display Group Classes
19.4.3.3. Methods for Interacting With Display Groups
19.4.3.4. Zend_Form_DisplayGroup Methods
19.4.4. Sub Forms
19.4.4.1. Global Operations
19.4.4.2. Methods for Interacting With Sub Forms
19.4.5. Metadata and Attributes
19.4.6. Decorators
19.4.7. Validation
19.4.7.1. Custom Error Messages
19.4.8. Methods
19.4.9. Configuration
19.4.10. Custom forms
19.5. Creating Custom Form Markup Using Zend_Form_Decorator
19.5.1. Operation
19.5.2. Standard Decorators
19.5.3. Custom Decorators
19.6. Standard Form Elements Shipped With Zend Framework
19.6.1. Zend_Form_Element_Button
19.6.2. Zend_Form_Element_Captcha
19.6.3. Zend_Form_Element_Checkbox
19.6.4. Zend_Form_Element_File
19.6.5. Zend_Form_Element_Hidden
19.6.6. Zend_Form_Element_Hash
19.6.7. Zend_Form_Element_Image
19.6.8. Zend_Form_Element_MultiCheckbox
19.6.9. Zend_Form_Element_Multiselect
19.6.10. Zend_Form_Element_Password
19.6.11. Zend_Form_Element_Radio
19.6.12. Zend_Form_Element_Reset
19.6.13. Zend_Form_Element_Select
19.6.14. Zend_Form_Element_Submit
19.6.15. Zend_Form_Element_Text
19.6.16. Zend_Form_Element_Textarea
19.7. Standard Form Decorators Shipped With Zend Framework
19.7.1. Zend_Form_Decorator_Callback
19.7.2. Zend_Form_Decorator_Captcha
19.7.3. Zend_Form_Decorator_Description
19.7.4. Zend_Form_Decorator_DtDdWrapper
19.7.5. Zend_Form_Decorator_Errors
19.7.6. Zend_Form_Decorator_Fieldset
19.7.7. Zend_Form_Decorator_Form
19.7.8. Zend_Form_Decorator_FormElements
19.7.9. Zend_Form_Decorator_HtmlTag
19.7.10. Zend_Form_Decorator_Image
19.7.11. Zend_Form_Decorator_Label
19.7.12. Zend_Form_Decorator_ViewHelper
19.7.13. Zend_Form_Decorator_ViewScript
19.8. Internationalization of Zend_Form
19.8.1. Initializing I18n in Forms
19.8.2. Standard I18n Targets
19.9. Advanced Zend_Form Usage
19.9.1. Array Notation
19.9.2. Multi-Page Forms
20. Zend_Gdata
20.1. Introduction to Gdata
20.1.1. Structure of Zend_Gdata
20.1.2. Interacting with Google Services
20.1.3. Obtaining instances of Zend_Gdata classes
20.1.4. Google Data Client Authentication
20.1.5. Dependencies
20.1.6. Creating a new Gdata client
20.1.7. Common query parameters
20.1.8. Fetching a feed
20.1.9. Working with multi-page feeds
20.1.10. Working with data in feeds and entries
20.1.11. Updating entries
20.1.12. Posting entries to Google servers
20.1.13. Deleting entries on Google servers
20.2. Authenticating with AuthSub
20.2.1. Creating an AuthSub authenticated Http Client
20.2.2. Revoking AuthSub authentication
20.3. Authenticating with ClientLogin
20.3.1. Creating a ClientLogin authenticated Http Client
20.3.2. Terminating a ClientLogin authenticated Http Client
20.4. Using Google Calendar
20.4.1. Connecting To The Calendar Service
20.4.1.1. Authentication
20.4.1.2. Creating A Service Instance
20.4.2. Retrieving A Calendar List
20.4.3. Retrieving Events
20.4.3.1. Queries
20.4.3.2. Retrieving Events In Order Of Start Time
20.4.3.3. Retrieving Events In A Specified Date Range
20.4.3.4. Retrieving Events By Fulltext Query
20.4.3.5. Retrieving Individual Events
20.4.4. Creating Events
20.4.4.1. Creating Single-Occurrence Events
20.4.4.2. Event Schedules and Reminders
20.4.4.3. Creating Recurring Events
20.4.4.4. Using QuickAdd
20.4.5. Modifying Events
20.4.6. Deleting Events
20.4.7. Accessing Event Comments
20.5. Using Google Documents List Data API
20.5.1. Get a List of Documents
20.5.2. Upload a Document
20.5.3. Searching the documents feed
20.5.3.1. Get a List of Word Processing Documents
20.5.3.2. Get a List of Spreadsheets
20.5.3.3. Performing a text query
20.6. Using Google Spreadsheets
20.6.1. Create a Spreadsheet
20.6.2. Get a List of Spreadsheets
20.6.3. Get a List of Worksheets
20.6.4. Interacting With List-based Feeds
20.6.4.1. Get a List-based Feed
20.6.4.2. Reverse-sort Rows
20.6.4.3. Send a Structured Query
20.6.4.4. Add a Row
20.6.4.5. Edit a Row
20.6.4.6. Delete a Row
20.6.5. Interacting With Cell-based Feeds
20.6.5.1. Get a Cell-based Feed
20.6.5.2. Send a Cell Range Query
20.6.5.3. Change Contents of a Cell
20.7. Using Google Apps Provisioning
20.7.1. Setting the current domain
20.7.1.1. Setting the domain for the service class
20.7.1.2. Setting the domain for query classes
20.7.2. Interacting with users
20.7.2.1. Creating a user account
20.7.2.2. Retrieving a user account
20.7.2.3. Retrieving all users in a domain
20.7.2.4. Updating a user account
20.7.2.4.1. Resetting a user's password
20.7.2.4.2. Forcing a user to change their password
20.7.2.4.3. Suspending a user account
20.7.2.4.4. Granting administrative rights
20.7.2.5. Deleting user accounts
20.7.3. Interacting with nicknames
20.7.3.1. Creating a nickname
20.7.3.2. Retrieving a nickname
20.7.3.3. Retrieving all nicknames for a user
20.7.3.4. Retrieving all nicknames in a domain
20.7.3.5. Deleting a nickname
20.7.4. Interacting with email lists
20.7.4.1. Creating an email list
20.7.4.2. Retrieving all email lists to which a recipient is subscribed
20.7.4.3. Retrieving all email lists in a domain
20.7.4.4. Deleting an email list
20.7.5. Interacting with email list recipients
20.7.5.1. Adding a recipient to an email list
20.7.5.2. Retrieving the list of subscribers to an email list
20.7.5.3. Removing a recipient from an email list
20.7.6. Handling errors
20.8. Using Google Base
20.8.1. Connect To The Base Service
20.8.1.1. Authentication
20.8.1.2. Create A Service Instance
20.8.2. Retrieve Items
20.8.2.1. Send a Structured Query
20.8.2.1.1. Query Customer Items Feed
20.8.2.1.2. Query Snippets Feed
20.8.2.2. Iterate through the Items
20.8.3. Insert, Update, and Delete Customer Items
20.8.3.1. Insert an Item
20.8.3.2. Modify an Item
20.8.3.3. Delete an Item
20.9. Using the YouTube Data API
20.9.1. Authentication
20.9.2. Developer Keys and Client ID
20.9.3. Retrieving public video feeds
20.9.3.1. Searching for videos by metadata
20.9.3.2. Searching for videos by categories and tags/keywords
20.9.3.3. Retrieving standard feeds
20.9.3.4. Retrieving videos uploaded by a user
20.9.3.5. Retrieving videos favorited by a user
20.9.3.6. Retrieving video responses for a video
20.9.4. Retrieving video comments
20.9.5. Retrieving playlist feeds
20.9.5.1. Retrieving the playlists of a user
20.9.5.2. Retrieving a specific playlist
20.9.6. Retrieving a list of a user's subscriptions
20.9.7. Retrieving a user's profile
20.9.8. Uploading Videos to YouTube
20.9.9. Browser-based upload
20.9.10. Checking upload status
20.9.11. Other Functions
20.10. Using Picasa Web Albums
20.10.1. Connecting To The Service
20.10.1.1. Authentication
20.10.1.2. Creating A Service Instance
20.10.2. Understanding and Constructing Queries
20.10.3. Retrieving Feeds And Entries
20.10.3.1. Retrieving A User
20.10.3.2. Retrieving An Album
20.10.3.3. Retrieving A Photo
20.10.3.4. Retrieving A Comment
20.10.3.5. Retrieving A Tag
20.10.4. Creating Entries
20.10.4.1. Creating An Album
20.10.4.2. Creating A Photo
20.10.4.3. Creating A Comment
20.10.4.4. Creating A Tag
20.10.5. Deleting Entries
20.10.5.1. Deleting An Album
20.10.5.2. Deleting A Photo
20.10.5.3. Deleting A Comment
20.10.5.4. Deleting A Tag
20.10.5.5. Optimistic Concurrency (Notes On Deletion)
20.11. Catching Gdata Exceptions
21. Zend_Http
21.1. Zend_Http_Client - Introduction
21.1.1. Introduction
21.1.2. Configuration Parameters
21.1.3. Performing Basic HTTP Requests
21.1.4. Adding GET and POST parameters
21.1.5. Accessing Last Request and Response
21.2. Zend_Http_Client - Advanced Usage
21.2.1. HTTP Redirections
21.2.2. Adding Cookies and Using Cookie Persistence
21.2.3. Setting Custom Request Headers
21.2.4. File Uploads
21.2.5. Sending Raw POST Data
21.2.6. HTTP Authentication
21.2.7. Sending Multiple Requests With the Same Client
21.3. Zend_Http_Client - Connection Adapters