Zend Tutorial 

Programmer's Reference Guide

Zend Framework

2008-05-15


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.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_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.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. Initializizing 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. Ouput a Date
9.3.2.2. Setting a Date
9.3.2.3. Adding and Subtracting Dates
9.3.2.4. Comparation 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_Exception
12.1. Using Exceptions
13. Zend_Feed
13.1. Introduction
13.2. Importing Feeds
13.2.1. Custom feeds
13.2.1.1. Importing a custom array
13.2.1.2. Importing a custom data source
13.2.1.3. Dumping the contents of a feed
13.3. Retrieving Feeds from Web Pages
13.4. Consuming an RSS Feed
13.5. Consuming an Atom Feed
13.6. Consuming a Single Atom Entry
13.7. Modifying Feed and Entry structures
13.8. Custom Feed and Entry Classes
14. Zend_Filter
14.1. Introduction
14.1.1. What is a filter?
14.1.2. Basic usage of filters
14.1.3. Using the static get() method
14.2. Standard Filter Classes
14.2.1. Alnum
14.2.2. Alpha
14.2.3. BaseName
14.2.4. Digits
14.2.5. Dir
14.2.6. HtmlEntities
14.2.7. Int
14.2.8. RealPath
14.2.9. StringToLower
14.2.10. StringToUpper
14.2.11. StringTrim
14.2.12. StripTags
14.3. Filter Chains
14.4. Writing Filters
14.5. Zend_Filter_Input
14.5.1. Declaring Filter and Validator Rules
14.5.2. Creating the Filter and Validator Processor
14.5.3. Retrieving Validated Fields and other Reports
14.5.3.1. Querying if the input is valid
14.5.3.2. Getting Invalid, Missing, or Unknown Fields
14.5.3.3. Getting Valid Fields
14.5.4. Using Metacommands to Control Filter or Validator Rules
14.5.4.1. The FIELDS metacommand
14.5.4.2. The PRESENCE metacommand
14.5.4.3. The DEFAULT_VALUE metacommand
14.5.4.4. The ALLOW_EMPTY metacommand
14.5.4.5. The BREAK_CHAIN metacommand
14.5.4.6. The MESSAGES metacommand
14.5.4.7. Using options to set metacommands for all rules
14.5.5. Adding Filter Class Namespaces
14.6. Zend_Filter_Inflector
14.6.1. Operation
14.6.2. Setting Paths To Alternate Filters
14.6.3. Setting the Inflector Target
14.6.4. Inflection Rules
14.6.4.1. Static Rules
14.6.4.2. Filter Inflector Rules
14.6.4.3. Setting Many Rules At Once
14.6.5. Utility Methods
14.6.6. Using Zend_Config with Zend_Filter_Inflector
15. Zend_Form
15.1. Zend_Form
15.2. Zend_Form Quick Start
15.2.1. Create a form object
15.2.2. Add elements to the form
15.2.3. Render a form
15.2.4. Check if a form is valid
15.2.5. Get error status
15.2.6. Putting it together
15.2.7. Using a Zend_Config object
15.2.8. Conclusion
15.3. Creating Form Elements Using Zend_Form_Element
15.3.1. Plugin Loaders
15.3.2. Filters
15.3.3. Validators
15.3.4. Decorators
15.3.5. Metadata and Attributes
15.3.6. Standard Elements
15.3.7. Zend_Form_Element Methods
15.3.8. Configuration
15.3.9. Custom Elements
15.4. Creating Forms Using Zend_Form
15.4.1. Plugin Loaders
15.4.2. Elements
15.4.2.1. Populating and Retrieving Values
15.4.2.2. Global Operations
15.4.2.3. Methods For Interacting With Elements
15.4.3. Display Groups
15.4.3.1. Global Operations
15.4.3.2. Using Custom Display Group Classes
15.4.3.3. Methods for Interacting With Display Groups
15.4.3.4. Zend_Form_DisplayGroup Methods
15.4.4. Sub Forms
15.4.4.1. Global Operations
15.4.4.2. Methods for Interacting With Sub Forms
15.4.5. Metadata and Attributes
15.4.6. Decorators
15.4.7. Validation
15.4.8. Methods
15.4.9. Configuration
15.4.10. Custom forms
15.5. Creating Custom Form Markup Using Zend_Form_Decorator
15.5.1. Operation
15.5.2. Standard Decorators
15.5.3. Custom Decorators
15.6. Standard Form Elements Shipped With Zend Framework
15.6.1. Zend_Form_Element_Button
15.6.2. Zend_Form_Element_Checkbox
15.6.3. Zend_Form_Element_Hidden
15.6.4. Zend_Form_Element_Hash
15.6.5. Zend_Form_Element_Image
15.6.6. Zend_Form_Element_MultiCheckbox
15.6.7. Zend_Form_Element_Multiselect
15.6.8. Zend_Form_Element_Password
15.6.9. Zend_Form_Element_Radio
15.6.10. Zend_Form_Element_Reset
15.6.11. Zend_Form_Element_Select
15.6.12. Zend_Form_Element_Submit
15.6.13. Zend_Form_Element_Text
15.6.14. Zend_Form_Element_Textarea
15.7. Standard Form Decorators Shipped With Zend Framework
15.7.1. Zend_Form_Decorator_Callback
15.7.2. Zend_Form_Decorator_Description
15.7.3. Zend_Form_Decorator_DtDdWrapper
15.7.4. Zend_Form_Decorator_Errors
15.7.5. Zend_Form_Decorator_Fieldset
15.7.6. Zend_Form_Decorator_Form
15.7.7. Zend_Form_Decorator_FormElements
15.7.8. Zend_Form_Decorator_HtmlTag
15.7.9. Zend_Form_Decorator_Image
15.7.10. Zend_Form_Decorator_Label
15.7.11. Zend_Form_Decorator_ViewHelper
15.7.12. Zend_Form_Decorator_ViewScript
15.8. Internationalization of Zend_Form
15.8.1. Initializing I18n in Forms
15.8.2. Standard I18N Targets
15.9. Advanced Zend_Form Usage
15.9.1. Array Notation
15.9.2. Multi-Page Forms
16. Zend_Gdata
16.1. Introduction to Gdata
16.1.1. Structure of Zend_Gdata
16.1.2. Interacting with Google Services
16.1.3. Obtaining instances of Zend_Gdata classes
16.1.4. Google Data Client Authentication
16.1.5. Dependencies
16.1.6. Creating a new Gdata client
16.1.7. Common query parameters
16.1.8. Fetching a feed
16.1.9. Working with multi-page feeds
16.1.10. Working with data in feeds and entries
16.1.11. Updating entries
16.1.12. Posting entries to Google servers
16.1.13. Deleting entries on Google servers
16.2. Authenticating with AuthSub
16.2.1. Creating an AuthSub authenticated Http Client
16.2.2. Revoking AuthSub authentication
16.3. Authenticating with ClientLogin
16.3.1. Creating a ClientLogin authenticated Http Client
16.3.2. Terminating a ClientLogin authenticated Http Client
16.4. Using Google Calendar
16.4.1. Connecting To The Calendar Service
16.4.1.1. Authentication
16.4.1.2. Creating A Service Instance
16.4.2. Retrieving A Calendar List
16.4.3. Retrieving Events
16.4.3.1. Queries
16.4.3.2. Retrieving Events In Order Of Start Time
16.4.3.3. Retrieving Events In A Specified Date Range
16.4.3.4. Retrieving Events By Fulltext Query
16.4.3.5. Retrieving Individual Events
16.4.4. Creating Events
16.4.4.1. Creating Single-Occurrence Events
16.4.4.2. Event Schedules and Reminders
16.4.4.3. Creating Recurring Events
16.4.4.4. Using QuickAdd
16.4.5. Modifying Events
16.4.6. Deleting Events
16.4.7. Accessing Event Comments
16.5. Using Google Documents List Data API
16.5.1. Get a List of Documents
16.5.2. Upload a Document
16.5.3. Searching the documents feed
16.5.3.1. Get a List of Word Processing Documents
16.5.3.2. Get a List of Spreadsheets
16.5.3.3. Performing a text query
16.6. Using Google Spreadsheets
16.6.1. Create a Spreadsheet
16.6.2. Get a List of Spreadsheets
16.6.3. Get a List of Worksheets
16.6.4. Interacting With List-based Feeds
16.6.4.1. Get a List-based Feed
16.6.4.2. Reverse-sort Rows
16.6.4.3. Send a Structured Query
16.6.4.4. Add a Row
16.6.4.5. Edit a Row
16.6.4.6. Delete a Row
16.6.5. Interacting With Cell-based Feeds
16.6.5.1. Get a Cell-based Feed
16.6.5.2. Send a Cell Range Query
16.6.5.3. Change Contents of a Cell
16.7. Using Google Apps Provisioning
16.7.1. Setting the current domain
16.7.1.1. Setting the domain for the service class
16.7.1.2. Setting the domain for query classes
16.7.2. Interacting with users
16.7.2.1. Creating a user account
16.7.2.2. Retrieving a user account
16.7.2.3. Retrieving all users in a domain
16.7.2.4. Updating a user account
16.7.2.4.1. Resetting a user's password
16.7.2.4.2. Forcing a user to change their password
16.7.2.4.3. Suspending a user account
16.7.2.4.4. Granting administrative rights
16.7.2.5. Deleting user accounts
16.7.3. Interacting with nicknames
16.7.3.1. Creating a nickname
16.7.3.2. Retrieving a nickname
16.7.3.3. Retrieving all nicknames for a user
16.7.3.4. Retrieving all nicknames in a domain
16.7.3.5. Deleting a nickname
16.7.4. Interacting with email lists
16.7.4.1. Creating an email list
16.7.4.2. Retrieving all email lists to which a recipient is subscribed
16.7.4.3. Retrieving all email lists in a domain
16.7.4.4. Deleting an email list
16.7.5. Interacting with email list recipients
16.7.5.1. Adding a recipient to an email list
16.7.5.2. Retrieving the list of subscribers to an email list
16.7.5.3. Removing a recipient from an email list
16.7.6. Handling errors
16.8. Using Google Base
16.8.1. Connect To The Base Service
16.8.1.1. Authentication
16.8.1.2. Create A Service Instance
16.8.2. Retrieve Items
16.8.2.1. Send a Structured Query
16.8.2.1.1. Query Customer Items Feed
16.8.2.1.2. Query Snippets Feed
16.8.2.2. Iterate through the Items
16.8.3. Insert, Update, and Delete Customer Items
16.8.3.1. Insert an Item
16.8.3.2. Modify an Item
16.8.3.3. Delete an Item
16.9. Using the YouTube data API
16.9.1. Retrieving video feeds
16.9.1.1. Searching for videos by metadata
16.9.1.2. Searching for videos by categories and tags/keywords
16.9.1.3. Retrieving standard feeds
16.9.1.4. Retrieving videos uploaded by a user
16.9.1.5. Retrieving videos favorited by a user
16.9.1.6. Retrieving video responses for a video
16.9.2. Retrieving video comments
16.9.3. Retrieving playlist feeds
16.9.3.1. Retrieving the playlists of a user
16.9.3.2. Retrieving a specific playlist
16.9.4. Retrieving a list of a user's subscriptions
16.9.5. Retrieving a user's profile
16.10. Using Picasa Web Albums
16.10.1. Connecting To The Service
16.10.1.1. Authentication
16.10.1.2. Creating A Service Instance
16.10.2. Understanding and Constructing Queries
16.10.3. Retrieving Feeds And Entries
16.10.3.1. Retrieving A User
16.10.3.2. Retrieving An Album
16.10.3.3. Retrieving A Photo
16.10.3.4. Retrieving A Comment
16.10.3.5. Retrieving A Tag
16.10.4. Creating Entries
16.10.4.1. Creating An Album
16.10.4.2. Creating A Photo
16.10.4.3. Creating A Comment
16.10.4.4. Creating A Tag
16.10.5. Deleting Entries
16.10.5.1. Deleting An Album
16.10.5.2. Deleting A Photo
16.10.5.3. Deleting A Comment
16.10.5.4. Deleting A Tag
16.10.5.5. Optimistic Concurrency (Notes On Deletion)
16.11. Catching Gdata Exceptions
17. Zend_Http
17.1. Zend_Http_Client - Introduction
17.1.1. Introduction
17.1.2. Configuration Parameters
17.1.3. Performing Basic HTTP Requests
17.1.4. Adding GET and POST parameters
17.1.5. Accessing Last Request and Response
17.2. Zend_Http_Client - Advanced Usage
17.2.1. HTTP Redirections
17.2.2. Adding Cookies and Using Cookie Persistence
17.2.3. Setting Custom Request Headers
17.2.4. File Uploads
17.2.5. Sending Raw POST Data
17.2.6. HTTP Authentication
17.2.7. Sending Multiple Requests With the Same Client
17.3. Zend_Http_Client - Connection Adapters
17.3.1. Overview
17.3.2. The Socket Adapter
17.3.3. The Proxy Adapter
17.3.4. The Test Adapter
17.3.5. Creating your own connection adapters
17.4. Zend_Http_Cookie and Zend_Http_CookieJar
17.4.1. Introduction
17.4.2. Instantiating Zend_Http_Cookie Objects
17.4.3. Zend_Http_Cookie getter methods
17.4.4. Zend_Http_Cookie: Matching against a scenario
17.4.5. The Zend_Http_CookieJar Class: Instantiation
17.4.6. Adding Cookies to a Zend_Http_CookieJar object
17.4.7. Retrieving Cookies From a Zend_Http_CookieJar object
17.5. Zend_Http_Response
17.5.1. Introduction
17.5.2. Boolean Tester Methods
17.5.3. Accessor Methods
17.5.4. Static HTTP Response Parsers
18. Zend_InfoCard
18.1. Introduction
18.1.1. Basic Theory of Usage
18.1.2. Using as part of Zend_Auth
18.1.3. Using the Zend_InfoCard component standalone
18.1.4. Working with a Claims object
18.1.5. Attaching Information Cards to existing accounts
18.1.6. Creating Zend_InfoCard adapters
19. Zend_Json
19.1. Introduction
19.2. Basic Usage
19.3. JSON Objects
19.4. XML to JSON conversion
20. Zend_Layout
20.1. Introduction
20.2. Zend_Layout Quick Start
20.2.1. Layout scripts
20.2.2. Using Zend_Layout with the Zend Framework MVC
20.2.3. Using Zend_Layout as a Standalone Component
20.2.4. Sample Layout
20.3. Zend_Layout Configuration Options
20.3.1. Examples
20.4. Zend_Layout Advanced Usage
20.4.1. Custom View Objects
20.4.2. Custom Front Controller Plugins
20.4.3. Custom Action Helpers
20.4.4. Custom Layout Script Path Resolution: Using the Inflector
21. Zend_Ldap
21.1. Introduction
21.1.1. Theory of Operation
21.1.1.1. Automatic Username Canonicalization When Binding
21.1.1.2. Zend_Ldap Options
21.1.1.3. Account Name Canonicalization
21.1.1.4. Multi-domain Authentication and Failover
22. Zend_Loader
22.1. Loading Files and Classes Dynamically
22.1.1. Loading Files
22.1.2. Loading Classes
22.1.3. Testing if a File is Readable
22.1.4. Using the Autoloader
22.2. Loading Plugins
22.2.1. Basic Use Case
22.2.2. Manipulating Plugin Paths
22.2.3. Testing for Plugins and Retrieving Class Names
23. Zend_Locale
23.1. Introduction
23.1.1. What is Localization
23.1.2. What is a Locale?
23.1.3. How are Locales Represented?
23.1.4. Selecting the Right Locale
23.1.5. Usage of automatic Locales
23.1.6. Using a default Locale
23.1.7. ZF Locale-Aware Classes
23.1.8. Zend_Locale_Format::setOptions(array $options)
23.1.9. Speed up Zend_Locale and it's subclasses
23.2. Using Zend_Locale
23.2.1. Copying, Cloning, and Serializing Locale Objects
23.2.2. Equality
23.2.3. Default locales
23.2.4. Set a new locale
23.2.5. Getting the language and region
23.2.6. Obtaining localized strings
23.2.7. Obtaining translations for "yes" and "no"
23.2.8. Get a list of all known locales
23.3. Normalization and Localization
23.3.1. Number normalization: getNumber($input, Array $options)
23.3.1.1. Precision and Calculations
23.3.2. Number localization
23.3.3. Number testing
23.3.4. Float value normalization
23.3.5. Floating point value localization
23.3.6. Floating point value testing
23.3.7. Integer value normalization
23.3.8. Integer point value localization
23.3.9. Integer value testing
23.3.10. Numeral System Conversion
23.3.10.1. List of supported numeral systems
23.4. Working with Dates and Times
23.4.1. Normalizing Dates and Times
23.4.2. Testing Dates
23.4.3. Normalizing a Time
23.4.4. Testing Times
23.5. Supported Languages for Locales
23.6. Supported Regions for Locales
24. Zend_Log
24.1. Overview
24.1.1. Creating a Log
24.1.2. Logging Messages
24.1.3. Destroying a Log
24.1.4. Using Built-in Priorities
24.1.5. Adding User-defined Priorities
24.1.6. Understanding Log Events
24.2. Writers
24.2.1. Writing to Streams
24.2.2. Writing to Databases
24.2.3. Stubbing Out the Writer
24.2.4. Testing with the Mock
24.2.5. Compositing Writers
24.3. Formatters
24.3.1. Simple Formatting
24.3.2. Formatting to XML
24.4. Filters
24.4.1. Filtering for All Writers
24.4.2. Filtering for a Writer Instance
25. Zend_Mail
25.1. Introduction
25.1.1. Getting started
25.1.2. Configuring the default sendmail transport
25.2. Sending via SMTP
25.3. Sending Multiple Mails per SMTP Connection
25.4. Using Different Transports
25.5. HTML E-Mail
25.6. Attachments
25.7. Adding Recipients
25.8. Controlling the MIME Boundary
25.9. Additional Headers
25.10. Character Sets
25.11. Encoding
25.12. SMTP Authentication
25.13. Securing SMTP Transport
25.14. Reading Mail Messages
25.14.1. Simple example using Pop3
25.14.2. Opening a local storage
25.14.3. Opening a remote storage
25.14.4. Fetching messages and simple methods
25.14.5. Working with messages
25.14.6. Checking for flags
25.14.7. Using folders
25.14.8. Advanced Use
25.14.8.1. Using NOOP
25.14.8.2. Caching instances
25.14.8.3. Extending Protocol Classes
25.14.8.4. Using Quota (since 1.5)
26. Zend_Measure
26.1. Introduction
26.2. Creation of Measurements
26.2.1. Creating measurements from integers and floats
26.2.2. Creating measurements from strings
26.2.3. Measurements from localized strings
26.3. Outputting measurements
26.3.1. Automatic output
26.3.2. Outputting values
26.3.3. Output with unit of measurement
26.3.4. Output as localized string
26.4. Manipulating Measurements
26.4.1. Convert
26.4.2. Add and subtract
26.4.3. Compare
26.4.4. Compare
26.4.5. Manually change values
26.4.6. Manually change types
26.5. Types of measurements
26.5.1. Hints for Zend_Measure_Binary
26.5.2. Hints for Zend_Measure_Number
26.5.3. Roman numbers
27. Zend_Memory
27.1. Overview
27.1.1. Introduction
27.1.2. Theory of Operation
27.1.2.1. Memory manager
27.1.2.2. Memory container
27.1.2.3. Locked memory
27.1.2.4. Movable memory
27.2. Memory Manager
27.2.1. Creating a Memory Manager
27.2.2. Managing Memory Objects
27.2.2.1. Creating Movable Objects
27.2.2.2. Creating Locked Objects
27.2.2.3. Destroying Objects
27.2.3. Memory Manager Settings
27.2.3.1. Memory Limit
27.2.3.2. MinSize
27.3. Memory Objects
27.3.1. Movable
27.3.2. Locked
27.3.3. Memory container 'value' property.