Programmer's Reference Guide

Zend Framework

2009-05-25


Table of Contents

1. Introduction to Zend Framework
1.1. Overview
1.2. Installation
2. Zend_Acl
2.1. Introduction
2.1.1. Resources
2.1.2. Roles
2.1.3. Creating the Access Control List
2.1.4. Registering Roles
2.1.5. Defining Access Controls
2.1.6. Querying an 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
3.2.5. Connecting to the Server from Flash
4. Zend_Application
4.1. Introduction
4.2. Zend_Application Quick Start
4.2.1. Using Zend_Tool
4.2.2. Adding Zend_Application to your application
4.2.3. Adding and creating resources
4.2.4. Next steps with Zend_Application
4.3. Theory of Operation
4.3.1. Bootstrapping
4.3.1.1. Resource Methods
4.3.1.2. Bootstraps that use resource plugins
4.3.1.3. Resource Registry
4.3.1.4. Dependency Tracking
4.3.2. Resource Plugins
4.4. Examples
4.5. Core Functionality
4.5.1. Zend_Application
4.5.2. Zend_Application_Bootstrap_Bootstrapper
4.5.3. Zend_Application_Bootstrap_ResourceBootstrapper
4.5.4. Zend_Application_Bootstrap_BootstrapAbstract
4.5.5. Zend_Application_Bootstrap_Bootstrap
4.5.6. Zend_Application_Resource_Resource
4.5.7. Zend_Application_Resource_ResourceAbstract
4.5.7.1. Resource Names
4.6. Available Resource Plugins
4.6.1. Zend_Application_Resource_Db
4.6.2. Zend_Application_Resource_Frontcontroller
4.6.3. Zend_Application_Resource_Modules
4.6.4. Zend_Application_Resource_Session
4.6.5. Zend_Application_Resource_View
5. Zend_Auth
5.1. Introduction
5.1.1. Adapters
5.1.2. Results
5.1.3. Identity Persistence
5.1.3.1. Default Persistence in the PHP Session
5.1.3.2. Implementing Customized Storage
5.1.4. Usage
5.2. Database Table Authentication
5.2.1. Introduction
5.2.2. Advanced Usage: Persisting a DbTable Result Object
5.2.3. Advanced Usage By Example
5.3. Digest Authentication
5.3.1. Introduction
5.3.2. Specifics
5.3.3. Identity
5.4. HTTP Authentication Adapter
5.4.1. Introduction
5.4.2. Design Overview
5.4.3. Configuration Options
5.4.4. Resolvers
5.4.4.1. File Resolver
5.4.5. Basic Usage
5.5. LDAP Authentication
5.5.1. Introduction
5.5.2. Usage
5.5.3. The API
5.5.4. Server Options
5.5.5. Collecting Debugging Messages
5.5.6. Common Options for Specific Servers
5.5.6.1. Options for Active Directory
5.5.6.2. Options for OpenLDAP
5.6. Open ID Authentication
5.6.1. Introduction
5.6.2. Specifics
6. Zend_Cache
6.1. Introduction
6.2. The Theory of Caching
6.2.1. The Zend_Cache Factory Method
6.2.2. Tagging Records
6.2.3. Cleaning the Cache
6.3. Zend_Cache Frontends
6.3.1. Zend_Cache_Core
6.3.1.1. Introduction
6.3.1.2. Available options
6.3.1.3. Examples
6.3.2. Zend_Cache_Frontend_Output
6.3.2.1. Introduction
6.3.2.2. Available Options
6.3.2.3. Examples
6.3.3. Zend_Cache_Frontend_Function
6.3.3.1. Introduction
6.3.3.2. Available Options
6.3.3.3. Examples
6.3.4. Zend_Cache_Frontend_Class
6.3.4.1. Introduction
6.3.4.2. Available Options
6.3.4.3. Examples
6.3.5. Zend_Cache_Frontend_File
6.3.5.1. Introduction
6.3.5.2. Available Options
6.3.5.3. Examples
6.3.6. Zend_Cache_Frontend_Page
6.3.6.1. Introduction
6.3.6.2. Available Options
6.3.6.3. Examples
6.3.6.4. The Specific Cancel Method
6.4. Zend_Cache Backends
6.4.1. Zend_Cache_Backend_File
6.4.2. Zend_Cache_Backend_Sqlite
6.4.3. Zend_Cache_Backend_Memcached
6.4.4. Zend_Cache_Backend_Apc
6.4.5. Zend_Cache_Backend_Xcache
6.4.6. Zend_Cache_Backend_ZendPlatform
6.4.7. Zend_Cache_Backend_TwoLevels
6.4.8. Zend_Cache_Backend_ZendServer_Disk and Zend_Cache_Backend_ZendServer_ShMem
7. Zend_Captcha
7.1. Introduction
7.2. Captcha Operation
7.3. CAPTCHA Adapters
7.3.1. Zend_Captcha_Word
7.3.2. Zend_Captcha_Dumb
7.3.3. Zend_Captcha_Figlet
7.3.4. Zend_Captcha_Image
7.3.5. Zend_Captcha_ReCaptcha
8. Zend_CodeGenerator
8.1. Introduction
8.1.1. Theory of Operation
8.2. Zend_CodeGenerator Examples
8.3. Zend_CodeGenerator Reference
8.3.1. Abstract Classes and Interfaces
8.3.1.1. Zend_CodeGenerator_Abstract
8.3.1.2. Zend_CodeGenerator_Php_Abstract
8.3.1.3. Zend_CodeGenerator_Php_Member_Abstract
8.3.2. Concrete CodeGenerator Classes
8.3.2.1. Zend_CodeGenerator_Php_Body
8.3.2.2. Zend_CodeGenerator_Php_Class
8.3.2.3. Zend_CodeGenerator_Php_Docblock
8.3.2.4. Zend_CodeGenerator_Php_Docblock_Tag
8.3.2.5. Zend_CodeGenerator_Php_DocBlock_Tag_Param
8.3.2.6. Zend_CodeGenerator_Php_DocBlock_Tag_Return
8.3.2.7. Zend_CodeGenerator_Php_File
8.3.2.8. Zend_CodeGenerator_Php_Member_Container
8.3.2.9. Zend_CodeGenerator_Php_Method
8.3.2.10. Zend_CodeGenerator_Php_Parameter
8.3.2.11. Zend_CodeGenerator_Php_Property
9. Zend_Config
9.1. Introduction
9.2. Theory of Operation
9.3. Zend_Config_Ini
9.4. Zend_Config_Xml
10. Zend_Config_Writer
10.1. Zend_Config_Writer
11. Zend_Console_Getopt
11.1. Introduction
11.2. Declaring Getopt Rules
11.2.1. Declaring Options with the Short Syntax
11.2.2. Declaring Options with the Long Syntax
11.3. Fetching Options and Arguments
11.3.1. Handling Getopt Exceptions
11.3.2. Fetching Options by Name
11.3.3. Reporting Options
11.3.4. Fetching Non-option Arguments
11.4. Configuring Zend_Console_Getopt
11.4.1. Adding Option Rules
11.4.2. Adding Help Messages
11.4.3. Adding Option Aliases
11.4.4. Adding Argument Lists
11.4.5. Adding Configuration
12. Zend_Controller
12.1. Zend_Controller Quick Start
12.1.1. Introduction
12.1.2. Quick Start
12.1.2.1. Create the Filesystem Layout
12.1.2.2. Set the Document Root
12.1.2.3. Create the Rewrite Rules
12.1.2.4. Create the Bootstrap File
12.1.2.5. Create the Default Action Controller
12.1.2.6. Create the View Script
12.1.2.7. Create the Error Controller
12.1.2.8. View the Site!
12.2. Zend_Controller Basics
12.3. The Front Controller
12.3.1. Overview
12.3.2. Primary Methods
12.3.2.1. getInstance()
12.3.2.2. setControllerDirectory() and addControllerDirectory
12.3.2.3. addModuleDirectory() and getModuleDirectory()
12.3.2.4. dispatch()
12.3.2.5. run()
12.3.3. Environmental Accessor Methods
12.3.4. Front Controller Parameters
12.3.5. Extending the Front Controller
12.4. The Request Object
12.4.1. Introduction
12.4.2. HTTP Requests
12.4.2.1. Accessing Request Data
12.4.2.2. Base Url and Subdirectories
12.4.2.3. Determining the Request Method
12.4.2.4. Detecting AJAX Requests
12.4.3. Subclassing the Request Object
12.5. The Standard Router
12.5.1. Introduction
12.5.2. Using a Router
12.5.3. Basic Rewrite Router Operation
12.5.4. Default Routes
12.5.5. Base URL and Subdirectories
12.5.6. Global Parameters
12.5.7. Route Types
12.5.7.1. Zend_Controller_Router_Route
12.5.7.1.1. Variable Defaults
12.5.7.1.2. Variable Requirements
12.5.7.1.3. Translated segments
12.5.7.2. Zend_Controller_Router_Route_Static
12.5.7.3. Zend_Controller_Router_Route_Regex
12.5.7.4. Zend_Controller_Router_Route_Hostname
12.5.7.5. Zend_Controller_Router_Route_Chain
12.5.7.5.1. Chain Routes via Zend_Config
12.5.8. Using Zend_Config with the RewriteRouter
12.5.9. Subclassing the Router
12.6. The Dispatcher
12.6.1. Overview
12.6.2. Subclassing the Dispatcher
12.7. Action Controllers
12.7.1. Introduction
12.7.2. Object Initialization
12.7.3. Pre- and Post-Dispatch Hooks
12.7.4. Accessors
12.7.5. View Integration
12.7.5.1. View Initialization
12.7.5.2. Rendering Views
12.7.6. Utility Methods
12.7.7. Subclassing the Action Controller
12.8. Action Helpers
12.8.1. Introduction
12.8.2. Helper Initialization
12.8.3. The Helper Broker
12.8.4. Built-in Action Helpers
12.8.4.1. ActionStack
12.8.4.2. AutoComplete
12.8.4.2.1. AutoCompletion with Dojo
12.8.4.2.2. AutoCompletion with Scriptaculous
12.8.4.3. ContextSwitch and AjaxContext
12.8.4.3.1. Default Contexts Available
12.8.4.3.2. Creating Custom Contexts
12.8.4.3.3. Setting Contexts Per Action
12.8.4.3.4. Initializing Context Switching
12.8.4.3.5. Additional Functionality
12.8.4.3.6. AjaxContext Functionality
12.8.4.4. FlashMessenger
12.8.4.4.1. Introduction
12.8.4.4.2. Basic Usage Example
12.8.4.5. JSON
12.8.4.6. Redirector
12.8.4.6.1. Introduction
12.8.4.6.2. Basic Usage Examples
12.8.4.7. ViewRenderer
12.8.4.7.1. Introduction
12.8.4.7.2. API
12.8.4.7.3. Basic Usage Examples
12.8.4.7.4. Advanced Usage Examples
12.8.5. Writing Your Own Helpers
12.9. The Response Object
12.9.1. Usage
12.9.2. Manipulating Headers
12.9.3. Named Segments
12.9.4. Testing for Exceptions in the Response Object
12.9.5. Subclassing the Response Object
12.10. Plugins
12.10.1. Introduction
12.10.2. Writing Plugins
12.10.3. Using Plugins
12.10.4. Retrieving and Manipulating Plugins
12.10.5. Plugins Included in the Standard Distribution
12.10.5.1. ActionStack
12.10.5.2. Zend_Controller_Plugin_ErrorHandler
12.10.5.2.1. Using the ErrorHandler as a 404 Handler
12.10.5.2.2. Handling Previously Rendered Output
12.10.5.2.3. Plugin Usage Examples
12.10.5.2.4. Error Controller Example
12.11. Using a Conventional Modular Directory Structure
12.11.1. Introduction
12.11.2. Specifying Module Controller Directories
12.11.3. Routing to Modules
12.11.4. Module or Global Default Controller
12.12. MVC Exceptions
12.12.1. Introduction
12.12.2. Handling Exceptions
12.12.3. MVC Exceptions You May Encounter
12.13. Migrating from Previous Versions
12.13.1. Migrating from 1.7.x to 1.8.0 or newer
12.13.1.1. Standard Route Changes
12.13.2. Migrating from 1.6.x to 1.7.0 or newer
12.13.2.1. Dispatcher Interface Changes
12.13.3. Migrating from 1.5.x to 1.6.0 or Newer
12.13.3.1. Dispatcher Interface Changes
12.13.4. Migrating from 1.0.x to 1.5.0 or Newer
12.13.5. Migrating from 0.9.3 to 1.0.0RC1 or Newer
12.13.6. Migrating from 0.9.2 to 0.9.3 or Newer
12.13.7. Migrating from 0.6.0 to 0.8.0 or Newer
12.13.8. Migrating from 0.2.0 or before to 0.6.0
13. Zend_Currency
13.1. Introduction to Zend_Currency
13.1.1. Why use Zend_Currency?
13.2. How to Work with Currencies
13.2.1. Creating and Output String from a Currency
13.2.2. Changing the Format of a Currency
13.2.3. Reference Methods for Zend_Currency
13.2.4. Settings new default values
13.2.5. Zend_Currency Performance Optimization
13.3. Migrating from Previous Versions
13.3.1. Migrating from 1.0.2 to 1.0.3 or Newer
14. Zend_Date
14.1. Introduction
14.1.1. Always Set a Default Timezone
14.1.2. Why Use Zend_Date?
14.2. Theory of Operation
14.2.1. Internals
14.3. Basic Methods
14.3.1. Current Date
14.3.2. Zend_Date by Example
14.3.2.1. Output a Date
14.3.2.2. Setting a Date
14.3.2.3. Adding and Subtracting Dates
14.3.2.4. Comparison of Dates
14.4. Zend_Date API Overview
14.4.1. Zend_Date Options
14.4.1.1. Selecting the Date Format Type
14.4.1.2. DST and Date Math
14.4.1.3. Month Calculations
14.4.1.4. Speed up Date Localization and Normalization with Zend_Cache
14.4.1.5. Receiving Syncronised Timestamps with Zend_TimeSync
14.4.2. Working with Date Values
14.4.3. Basic Zend_Date Operations Common to Many Date Parts
14.4.3.1. List of Date Parts
14.4.3.2. List of Date Operations
14.4.4. Comparing Dates
14.4.5. Getting Dates and Date Parts
14.4.6. Working with Fractions of Seconds
14.4.7. Sunrise / Sunset
14.5. Creation of Dates
14.5.1. Create the Actual Date
14.5.2. Create a Date from Database
14.5.3. Create Dates from an Array
14.6. Constants for General Date Functions
14.6.1. Using Constants
14.6.2. List of All Constants
14.6.3. Self-Defined OUTPUT Formats with ISO
14.6.4. Self-Defined OUTPUT Formats Using PHP's date() Format Specifiers
14.7. Working Examples
14.7.1. Checking Dates
14.7.2. Sunrise and Sunset
14.7.3. Time Zones
15. Zend_Db
15.1. Zend_Db_Adapter
15.1.1. Connecting to a Database Using an Adapter
15.1.1.1. Using a Zend_Db Adapter Constructor
15.1.1.2. Using the Zend_Db Factory
15.1.1.3. Using Zend_Config with the Zend_Db Factory
15.1.1.4. Adapter Parameters
15.1.1.5. Managing Lazy Connections
15.1.2. Example Database
15.1.3. Reading Query Results
15.1.3.1. Fetching a Complete Result Set
15.1.3.2. Changing the Fetch Mode
15.1.3.3. Fetching a Result Set as an Associative Array
15.1.3.4. Fetching a Single Column from a Result Set
15.1.3.5. Fetching Key-Value Pairs from a Result Set
15.1.3.6. Fetching a Single Row from a Result Set
15.1.3.7. Fetching a Single Scalar from a Result Set
15.1.4. Writing Changes to the Database
15.1.4.1. Inserting Data
15.1.4.2. Retrieving a Generated Value
15.1.4.3. Updating Data
15.1.4.4. Deleting Data
15.1.5. Quoting Values and Identifiers
15.1.5.1. Using quote()
15.1.5.2. Using quoteInto()
15.1.5.3. Using quoteIdentifier()
15.1.6. Controlling Database Transactions
15.1.7. Listing and Describing Tables
15.1.8. Closing a Connection
15.1.9. Running Other Database Statements
15.1.10. Retrieving Server Version
15.1.11. Notes on Specific Adapters
15.1.11.1. IBM DB2
15.1.11.2. MySQLi
15.1.11.3. Oracle
15.1.11.4. PDO for IBM DB2 and Informix Dynamic Server (IDS)
15.1.11.5. PDO Microsoft SQL Server
15.1.11.6. PDO MySQL
15.1.11.7. PDO Oracle
15.1.11.8. PDO PostgreSQL
15.1.11.9. PDO SQLite
15.1.11.10. Firebird/Interbase
15.2. Zend_Db_Statement
15.2.1. Creating a Statement
15.2.2. Executing a Statement
15.2.3. Fetching Results from a SELECT Statement
15.2.3.1. Fetching a Single Row from a Result Set
15.2.3.2. Fetching a Complete Result Set
15.2.3.3. Changing the Fetch Mode
15.2.3.4. Fetching a Single Column from a Result Set
15.2.3.5. Fetching a Row as an Object
15.3. Zend_Db_Profiler
15.3.1. Introduction
15.3.2. Using the Profiler
15.3.3. Advanced Profiler Usage
15.3.3.1. Filter by query elapsed time
15.3.3.2. Filter by query type
15.3.3.3. Retrieve profiles by query type
15.3.4. Specialized Profilers
15.3.4.1. Profiling with Firebug
15.4. Zend_Db_Select
15.4.1. Introduction
15.4.2. Creating a Select Object
15.4.3. Building Select queries
15.4.3.1. Adding a FROM clause
15.4.3.2. Adding Columns
15.4.3.3. Adding Expression Columns
15.4.3.4. Adding columns to an existing FROM or JOIN table
15.4.3.5. Adding Another Table to the Query with JOIN
15.4.3.6. Adding a WHERE Clause
15.4.3.7. Adding a GROUP BY Clause
15.4.3.8. Adding a HAVING Clause
15.4.3.9. Adding an ORDER BY Clause
15.4.3.10. Adding a LIMIT Clause
15.4.3.11. Adding the DISTINCT Query Modifier
15.4.3.12. Adding the FOR UPDATE Query Modifier
15.4.4. Executing Select Queries
15.4.4.1. Executing Select Queries from the Db Adapter
15.4.4.2. Executing Select Queries from the Object
15.4.4.3. Converting a Select Object to a SQL String
15.4.5. Other methods
15.4.5.1. Retrieving Parts of the Select Object
15.4.5.2. Resetting Parts of the Select Object
15.5. Zend_Db_Table
15.5.1. Introduction
15.5.2. Defining a Table Class
15.5.2.1. Defining the Table Name and Schema
15.5.2.2. Defining the Table Primary Key
15.5.2.3. Overriding Table Setup Methods
15.5.2.4. Table initialization
15.5.3. Creating an Instance of a Table
15.5.3.1. Specifying a Database Adapter
15.5.3.2. Setting a Default Database Adapter
15.5.3.3. Storing a Database Adapter in the Registry
15.5.4. Inserting Rows to a Table
15.5.4.1. Using a Table with an Auto-incrementing Key
15.5.4.2. Using a Table with a Sequence
15.5.4.3. Using a Table with a Natural Key
15.5.5. Updating Rows in a Table
15.5.6. Deleting Rows from a Table
15.5.7. Finding Rows by Primary Key
15.5.8. Querying for a Set of Rows
15.5.8.1. Select API
15.5.8.2. Fetching a rowset
15.5.8.3. Advanced usage
15.5.9. Querying for a Single Row
15.5.10. Retrieving Table Metadata Information
15.5.11. Caching Table Metadata
15.5.11.1. Hardcoding Table Metadata
15.5.12. Customizing and Extending a Table Class
15.5.12.1. Using Custom Row or Rowset Classes
15.5.12.2. Defining Custom Logic for Insert, Update, and Delete
15.5.12.3. Define Custom Search Methods in Zend_Db_Table
15.5.12.4. Define Inflection in Zend_Db_Table
15.6. Zend_Db_Table_Row
15.6.1. Introduction
15.6.2. Fetching a Row
15.6.2.1. Reading column values from a row
15.6.2.2. Retrieving Row Data as an Array
15.6.2.3. Fetching data from related tables
15.6.3. Writing rows to the database
15.6.3.1. Changing column values in a row
15.6.3.2. Inserting a new row
15.6.3.3. Changing values in multiple columns
15.6.3.4. Deleting a row
15.6.4. Serializing and unserializing rows
15.6.4.1. Serializing a Row
15.6.4.2. Unserializing Row Data
15.6.4.3. Reactivating a Row as Live Data
15.6.5. Extending the Row class
15.6.5.1. Row initialization
15.6.5.2. Defining Custom Logic for Insert, Update, and Delete in Zend_Db_Table_Row
15.6.5.3. Define Inflection in Zend_Db_Table_Row
15.7. Zend_Db_Table_Rowset
15.7.1. Introduction
15.7.2. Fetching a Rowset
15.7.3. Retrieving Rows from a Rowset
15.7.4. Retrieving a Rowset as an Array
15.7.5. Serializing and Unserializing a Rowset
15.7.6. Extending the Rowset class
15.8. Zend_Db_Table Relationships
15.8.1. Introduction
15.8.2. Defining Relationships
15.8.3. Fetching a Dependent Rowset
15.8.4. Fetching a Parent Row
15.8.5. Fetching a Rowset via a Many-to-many Relationship
15.8.6. Cascading Write Operations
15.8.6.1. Notes Regarding Cascading Operations
16. Zend_Debug
16.1. Dumping Variables
17. Zend_Dojo
17.1. Introduction
17.2. Zend_Dojo_Data: dojo.data Envelopes
17.2.1. Zend_Dojo_Data Usage
17.2.2. Adding metadata to your containers
17.2.3. Advanced Use Cases
17.2.3.1. Available Methods
17.3. Dojo View Helpers
17.3.1. dojo() View Helper
17.3.1.1. Programmatic and Declarative Usage of Dojo
17.3.1.2. Themes
17.3.1.3. Using Layers (Custom Builds)
17.3.1.4. Methods Available
17.3.2. Dijit-Specific View Helpers
17.3.2.1. Dijit Layout Elements
17.3.2.2. Dijit Form Elements
17.3.2.3. Custom Dijits
17.4. Dojo Form Elements and Decorators
17.4.1. Dijit-Specific Form Decorators
17.4.1.1. DijitElement Decorator
17.4.1.2. DijitForm Decorator
17.4.1.3. DijitContainer-based Decorators
17.4.2. Dijit-Specific Form Elements
17.4.2.1. Button
17.4.2.2. CheckBox
17.4.2.3. ComboBox and FilteringSelect
17.4.2.4. CurrencyTextBox
17.4.2.5. DateTextBox
17.4.2.6. Editor
17.4.2.7. HorizontalSlider
17.4.2.8. NumberSpinner
17.4.2.9. NumberTextBox
17.4.2.10. PasswordTextBox
17.4.2.11. RadioButton
17.4.2.12. SimpleTextarea
17.4.2.13. Slider abstract element
17.4.2.14. SubmitButton
17.4.2.15. TextBox
17.4.2.16. Textarea
17.4.2.17. TimeTextBox
17.4.2.18. ValidationTextBox
17.4.2.19. VerticalSlider
17.4.3. Dojo Form Examples
18. Zend_Dom
18.1. Introduction
18.2. Zend_Dom_Query
18.2.1. Theory of Operation
18.2.2. Methods Available
18.2.2.1. Zend_Dom_Query
18.2.2.2. Zend_Dom_Query_Result
19. Zend_Exception
19.1. Using Exceptions
20. Zend_Feed
20.1. Introduction
20.2. Importing Feeds
20.2.1. Custom feeds
20.2.1.1. Importing a custom array
20.2.1.2. Importing a custom data source
20.2.1.3. Dumping the contents of a feed
20.3. Retrieving Feeds from Web Pages
20.4. Consuming an RSS Feed
20.5. Consuming an Atom Feed
20.6. Consuming a Single Atom Entry
20.7. Modifying Feed and Entry structures
20.8. Custom Feed and Entry Classes
21. Zend_File
21.1. Zend_File_Transfer
21.1.1. Supported Adapters for Zend_File_Transfer
21.1.2. Options for Zend_File_Transfer
21.1.3. Checking Files
21.1.4. Additional File Informations
21.1.5. Progress for file uploads
21.1.5.1. Using a progressbar adapter
21.1.5.2. Using getProgress() manually
21.2. Validators for Zend_File_Transfer
21.2.1. Using Validators with Zend_File_Transfer
21.2.2. Count Validator
21.2.3. Crc32 Validator
21.2.4. ExcludeExtension Validator
21.2.5. ExcludeMimeType Validator
21.2.6. Exists Validator
21.2.7. Extension Validator
21.2.8. FilesSize Validator
21.2.9. ImageSize Validator
21.2.10. IsCompressed Validator
21.2.11. IsImage Validator
21.2.12. Hash Validator
21.2.13. Md5 Validator
21.2.14. MimeType Validator
21.2.15. NotExists Validator
21.2.16. Sha1 Validator
21.2.17. Size Validator
21.2.18. WordCount Validator
21.3. Filters for Zend_File_Transfer
21.3.1. Using filters with Zend_File_Transfer
21.3.2. Decrypt filter
21.3.3. Encrypt filter
21.3.4. LowerCase filter
21.3.5. Rename filter
21.3.6. UpperCase filter
21.4. Migrating from previous versions
21.4.1. Migrating from 1.6 to 1.7 or newer
21.4.1.1. Changes when using filters and validators
21.4.1.1.1. Filter: Rename
21.4.1.1.2. Validator: Count
21.4.1.1.3. Validator:Extension
21.4.1.1.4. Validator: FilesSize
21.4.1.1.5. Validator: Hash
21.4.1.1.6. Validator: ImageSize
21.4.1.1.7. Validator: Size
21.4.2. Migrating from 1.6.1 to 1.6.2 or newer
21.4.2.1. Changes when using validators
22. Zend_Filter
22.1. Introduction
22.1.1. What is a filter?
22.1.2. Basic usage of filters
22.1.3. Using the static get() method
22.2. Standard Filter Classes
22.2.1. Alnum
22.2.2. Alpha
22.2.3. BaseName
22.2.4. Callback
22.2.5. Decrypt
22.2.5.1. Decryption with Mcrypt
22.2.5.2. Decryption with OpenSSL
22.2.6. Digits
22.2.7. Dir
22.2.8. Encrypt
22.2.8.1. Encryption with Mcrypt
22.2.8.2. Encryption with OpenSSL
22.2.9. HtmlEntities
22.2.10. Int
22.2.11. LocalizedToNormalized
22.2.11.1. Normalization for numbers
22.2.11.2. Normalization for date and time
22.2.12. NormalizedToLocalized
22.2.12.1. Localization for numbers
22.2.12.2. Localization for date and time
22.2.13. StripNewlines
22.2.14. RealPath
22.2.15. StringToLower
22.2.16. StringToUpper
22.2.17. StringTrim
22.2.18. StripTags
22.3. Filter Chains
22.4. Writing Filters
22.5. Zend_Filter_Input
22.5.1. Declaring Filter and Validator Rules
22.5.2. Creating the Filter and Validator Processor
22.5.3. Retrieving Validated Fields and other Reports
22.5.3.1. Querying if the input is valid
22.5.3.2. Getting Invalid, Missing, or Unknown Fields
22.5.3.3. Getting Valid Fields
22.5.4. Using Metacommands to Control Filter or Validator Rules
22.5.4.1. The FIELDS metacommand
22.5.4.2. The PRESENCE metacommand
22.5.4.3. The DEFAULT_VALUE metacommand
22.5.4.4. The ALLOW_EMPTY metacommand
22.5.4.5. The BREAK_CHAIN metacommand
22.5.4.6. The MESSAGES metacommand
22.5.4.7. Using options to set metacommands for all rules
22.5.5. Adding Filter Class Namespaces
22.6. Zend_Filter_Inflector
22.6.1. Operation
22.6.2. Setting Paths To Alternate Filters
22.6.3. Setting the Inflector Target
22.6.4. Inflection Rules
22.6.4.1. Static Rules
22.6.4.2. Filter Inflector Rules
22.6.4.3. Setting Many Rules At Once
22.6.5. Utility Methods
22.6.6. Using Zend_Config with Zend_Filter_Inflector
23. Zend_Form
23.1. Zend_Form
23.2. Zend_Form Quick Start
23.2.1. Create a form object
23.2.2. Add elements to the form
23.2.3. Render a form
23.2.4. Check if a form is valid
23.2.5. Get error status
23.2.6. Putting it together
23.2.7. Using a Zend_Config Object
23.2.8. Conclusion
23.3. Creating Form Elements Using Zend_Form_Element
23.3.1. Plugin Loaders
23.3.2. Filters
23.3.3. Validators
23.3.3.1. Custom Error Messages
23.3.4. Decorators
23.3.5. Metadata and Attributes
23.3.6. Standard Elements
23.3.7. Zend_Form_Element Methods
23.3.8. Configuration
23.3.9. Custom Elements
23.4. Creating Forms Using Zend_Form
23.4.1. Plugin Loaders
23.4.2. Elements
23.4.2.1. Populating and Retrieving Values
23.4.2.2. Global Operations
23.4.2.3. Methods For Interacting With Elements
23.4.3. Display Groups
23.4.3.1. Global Operations
23.4.3.2. Using Custom Display Group Classes
23.4.3.3. Methods for Interacting With Display Groups
23.4.3.4. Zend_Form_DisplayGroup Methods
23.4.4. Sub Forms
23.4.4.1. Global Operations
23.4.4.2. Methods for Interacting With Sub Forms
23.4.5. Metadata and Attributes
23.4.6. Decorators
23.4.7. Validation
23.4.7.1. Custom Error Messages
23.4.8. Methods
23.4.9. Configuration
23.4.10. Custom forms
23.5. Creating Custom Form Markup Using Zend_Form_Decorator
23.5.1. Operation
23.5.2. Standard Decorators
23.5.3. Custom Decorators
23.5.4. Rendering Individual Decorators
23.6. Standard Form Elements Shipped With Zend Framework
23.6.1. Zend_Form_Element_Button
23.6.2. Zend_Form_Element_Captcha
23.6.3. Zend_Form_Element_Checkbox
23.6.4. Zend_Form_Element_File
23.6.5. Zend_Form_Element_Hidden
23.6.6. Zend_Form_Element_Hash
23.6.7. Zend_Form_Element_Image
23.6.8. Zend_Form_Element_MultiCheckbox
23.6.9. Zend_Form_Element_Multiselect
23.6.10. Zend_Form_Element_Password
23.6.11. Zend_Form_Element_Radio
23.6.12. Zend_Form_Element_Reset
23.6.13. Zend_Form_Element_Select
23.6.14. Zend_Form_Element_Submit
23.6.15. Zend_Form_Element_Text
23.6.16. Zend_Form_Element_Textarea
23.7. Standard Form Decorators Shipped With Zend Framework
23.7.1. Zend_Form_Decorator_Callback
23.7.2. Zend_Form_Decorator_Captcha
23.7.3. Zend_Form_Decorator_Description
23.7.4. Zend_Form_Decorator_DtDdWrapper
23.7.5. Zend_Form_Decorator_Errors
23.7.6. Zend_Form_Decorator_Fieldset
23.7.7. Zend_Form_Decorator_File
23.7.8. Zend_Form_Decorator_Form
23.7.9. Zend_Form_Decorator_FormElements
23.7.10. Zend_Form_Decorator_FormErrors
23.7.11. Zend_Form_Decorator_HtmlTag
23.7.12. Zend_Form_Decorator_Image
23.7.13. Zend_Form_Decorator_Label
23.7.14. Zend_Form_Decorator_PrepareElements
23.7.15. Zend_Form_Decorator_ViewHelper
23.7.16. Zend_Form_Decorator_ViewScript
23.8. Internationalization of Zend_Form
23.8.1. Initializing I18n in Forms
23.8.2. Standard I18n Targets
23.9. Advanced Zend_Form Usage
23.9.1. Array Notation
23.9.2. Multi-Page Forms
24. Zend_Gdata
24.1. Introduction
24.1.1. Structure of Zend_Gdata
24.1.2. Interacting with Google Services
24.1.3. Obtaining instances of Zend_Gdata classes
24.1.4. Google Data Client Authentication
24.1.5. Dependencies
24.1.6. Creating a new Gdata client
24.1.7. Common Query Parameters
24.1.8. Fetching a Feed
24.1.9. Working with Multi-page Feeds
24.1.10. Working with Data in Feeds and Entries
24.1.11. Updating Entries
24.1.12. Posting Entries to Google Servers
24.1.13. Deleting Entries on Google Servers
24.2. Authenticating with AuthSub
24.2.1. Creating an AuthSub authenticated Http Client
24.2.2. Revoking AuthSub authentication
24.3. Using the Book Search Data API
24.3.1. Authenticating to the Book Search service
24.3.2. Searching for books
24.3.2.1. Partner Co-Branded Search
24.3.3. Using community features
24.3.3.1. Adding a rating
24.3.3.2. Reviews
24.3.3.2.1. Adding a review
24.3.3.2.2. Editing a review
24.3.3.3. Labels
24.3.3.3.1. Submitting a set of labels
24.3.3.4. Retrieving annotations: reviews, ratings, and labels
24.3.3.5. Deleting Annotations
24.3.4. Book collections and My Library
24.3.4.1. Retrieving books in a user's library
24.3.4.1.1. Retrieving all books in a user's library
24.3.4.1.2. Searching for books in a user's library
24.3.4.2. Updating books in a user's library
24.3.4.2.1. Adding a book to a library
24.3.4.2.2. Removing a book from a library
24.4. Authenticating with ClientLogin
24.4.1. Creating a ClientLogin authenticated Http Client
24.4.2. Terminating a ClientLogin authenticated Http Client
24.5. Using Google Calendar
24.5.1. Connecting To The Calendar Service
24.5.1.1. Authentication
24.5.1.2. Creating A Service Instance
24.5.2. Retrieving A Calendar List
24.5.3. Retrieving Events
24.5.3.1. Queries
24.5.3.2. Retrieving Events In Order Of Start Time
24.5.3.3. Retrieving Events In A Specified Date Range
24.5.3.4. Retrieving Events By Fulltext Query
24.5.3.5. Retrieving Individual Events
24.5.4. Creating Events
24.5.4.1. Creating Single-Occurrence Events
24.5.4.2. Event Schedules and Reminders
24.5.4.3. Creating Recurring Events
24.5.4.4. Using QuickAdd
24.5.5. Modifying Events
24.5.6. Deleting Events
24.5.7. Accessing Event Comments
24.6. Using Google Documents List Data API
24.6.1. Get a List of Documents
24.6.2. Upload a Document
24.6.3. Searching the documents feed
24.6.3.1. Get a List of Word Processing Documents
24.6.3.2. Get a List of Spreadsheets
24.6.3.3. Performing a text query
24.7. Using Google Health
24.7.1. Connect To The Health Service
24.7.1.1. Authentication
24.7.1.2. Create A Health Service Instance
24.7.2. Profile Feed
24.7.2.1. Send a Structured Query
24.7.2.1.1. Query The Feed
24.7.2.2. Iterate Through The Profile Entries
24.7.3. Profile List Feed
24.7.3.1. Query The Feed
24.7.4. Sending Notices to the Register Feed
24.7.4.1. Sending a notice
24.8. Using Google Spreadsheets
24.8.1. Create a Spreadsheet
24.8.2. Get a List of Spreadsheets
24.8.3. Get a List of Worksheets
24.8.4. Interacting With List-based Feeds
24.8.4.1. Get a List-based Feed
24.8.4.2. Reverse-sort Rows
24.8.4.3. Send a Structured Query
24.8.4.4. Add a Row
24.8.4.5. Edit a Row
24.8.4.6. Delete a Row
24.8.5. Interacting With Cell-based Feeds
24.8.5.1. Get a Cell-based Feed
24.8.5.2. Send a Cell Range Query
24.8.5.3. Change Contents of a Cell
24.9. Using Google Apps Provisioning
24.9.1. Setting the current domain
24.9.1.1. Setting the domain for the service class
24.9.1.2. Setting the domain for query classes
24.9.2. Interacting with users
24.9.2.1. Creating a user account
24.9.2.2. Retrieving a user account
24.9.2.3. Retrieving all users in a domain
24.9.2.4. Updating a user account
24.9.2.4.1. Resetting a user's password
24.9.2.4.2. Forcing a user to change their password
24.9.2.4.3. Suspending a user account
24.9.2.4.4. Granting administrative rights
24.9.2.5. Deleting user accounts
24.9.3. Interacting with nicknames
24.9.3.1. Creating a nickname
24.9.3.2. Retrieving a nickname
24.9.3.3. Retrieving all nicknames for a user
24.9.3.4. Retrieving all nicknames in a domain
24.9.3.5. Deleting a nickname
24.9.4. Interacting with email lists
24.9.4.1. Creating an email list
24.9.4.2. Retrieving all email lists to which a recipient is subscribed
24.9.4.3. Retrieving all email lists in a domain
24.9.4.4. Deleting an email list
24.9.5. Interacting with email list recipients
24.9.5.1. Adding a recipient to an email list
24.9.5.2. Retrieving the list of subscribers to an email list
24.9.5.3. Removing a recipient from an email list
24.9.6. Handling errors
24.10. Using Google Base
24.10.1. Connect To The Base Service
24.10.1.1. Authentication
24.10.1.2. Create A Service Instance
24.10.2. Retrieve Items
24.10.2.1. Send a Structured Query
24.10.2.1.1. Query Customer Items Feed
24.10.2.1.2. Query Snippets Feed
24.10.2.2. Iterate through the Items
24.10.3. Insert, Update, and Delete Customer Items
24.10.3.1. Insert an Item
24.10.3.2. Modify an Item
24.10.3.3. Delete an Item
24.11. Using Picasa Web Albums
24.11.1. Connecting To The Service
24.11.1.1. Authentication
24.11.1.2. Creating A Service Instance
24.11.2. Understanding and Constructing Queries
24.11.3. Retrieving Feeds And Entries
24.11.3.1. Retrieving A User
24.11.3.2. Retrieving An Album
24.11.3.3. Retrieving A Photo
24.11.3.4. Retrieving A Comment
24.11.3.5. Retrieving A Tag
24.11.4. Creating Entries
24.11.4.1. Creating An Album
24.11.4.2. Creating A Photo
24.11.4.3. Creating A Comment
24.11.4.4. Creating A Tag
24.11.5. Deleting Entries
24.11.5.1. Deleting An Album
24.11.5.2. Deleting A Photo
24.11.5.3. Deleting A Comment
24.11.5.4. Deleting A Tag
24.11.5.5. Optimistic Concurrency (Notes On Deletion)
24.12. Using the YouTube Data API
24.12.1. Authentication
24.12.2. Developer Keys and Client ID
24.12.3. Retrieving public video feeds
24.12.3.1. Searching for videos by metadata
24.12.3.2. Searching for videos by categories and tags/keywords
24.12.3.3. Retrieving standard feeds
24.12.3.4. Retrieving videos uploaded by a user
24.12.3.5. Retrieving videos favorited by a user
24.12.3.6. Retrieving video responses for a video
24.12.4. Retrieving video comments
24.12.5. Retrieving playlist feeds
24.12.5.1. Retrieving the playlists of a user
24.12.5.2. Retrieving a specific playlist
24.12.6. Retrieving a list of a user's subscriptions
24.12.7. Retrieving a user's profile
24.12.8. Uploading Videos to YouTube
24.12.9. Browser-based upload
24.12.10. Checking upload status
24.12.11. Other Functions
24.13. Catching Gdata Exceptions
25. Zend_Http
25.1. Introduction
25.1.1. Using Zend_Http_Client
25.1.2. Configuration Parameters
25.1.3. Performing Basic HTTP Requests
25.1.4. Adding GET and POST parameters
25.1.5. Accessing Last Request and Response
25.2. Zend_Http_Client - Advanced Usage
25.2.1. HTTP Redirections
25.2.2. Adding Cookies and Using Cookie Persistence
25.2.3. Setting Custom Request Headers
25.2.4. File Uploads
25.2.5. Sending Raw POST Data
25.2.6. HTTP Authentication
25.2.7. Sending Multiple Requests With the Same Client
25.3. Zend_Http_Client - Connection Adapters
25.3.1. Overview
25.3.2. The Socket Adapter
25.3.3. The Proxy Adapter
25.3.4. The Test Adapter
25.3.5. The cURL Adapter
25.3.6. Creating your own connection adapters
25.4. Zend_Http_Cookie and Zend_Http_CookieJar
25.4.1. Introduction
25.4.2. Instantiating Zend_Http_Cookie Objects
25.4.3. Zend_Http_Cookie getter methods
25.4.4. Zend_Http_Cookie: Matching against a scenario
25.4.5. The Zend_Http_CookieJar Class: Instantiation
25.4.6. Adding Cookies to a Zend_Http_CookieJar object
25.4.7. Retrieving Cookies From a Zend_Http_CookieJar object
25.5. Zend_Http_Response
25.5.1. Introduction
25.5.2. Boolean Tester Methods
25.5.3. Accessor Methods
25.5.4. Static HTTP Response Parsers
26. Zend_InfoCard
26.1. Introduction
26.1.1. Basic Theory of Usage
26.1.2. Using as part of Zend_Auth
26.1.3. Using the Zend_InfoCard component standalone
26.1.4. Working with a Claims object
26.1.5. Attaching Information Cards to existing accounts
26.1.6. Creating Zend_InfoCard Adapters
27. Zend_Json
27.1. Introduction
27.2. Basic Usage
27.3. Advanced Usage of Zend_Json
27.3.1. JSON Objects
27.3.2. Encoding PHP objects
27.3.3. Internal Encoder/Decoder
27.3.4. JSON Expressions
27.4. XML to JSON conversion
27.5. Zend_Json_Server - JSON-RPC server
27.5.1. Advanced Details
27.5.1.1. Zend_Json_Server
27.5.1.2. Zend_Json_Server_Request
27.5.1.3. Zend_Json_Server_Response
27.5.1.4. Zend_Json_Server_Error
27.5.1.5. Zend_Json_Server_Smd
28. Zend_Layout
28.1. Introduction
28.2. Zend_Layout Quick Start
28.2.1. Layout scripts
28.2.2. Using Zend_Layout with the Zend Framework MVC
28.2.3. Using Zend_Layout as a Standalone Component
28.2.4. Sample Layout
28.3. Zend_Layout Configuration Options
28.3.1. Examples
28.4. Zend_Layout Advanced Usage
28.4.1. Custom View Objects
28.4.2. Custom Front Controller Plugins
28.4.3. Custom Action Helpers
28.4.4. Custom Layout Script Path Resolution: Using the Inflector
29. Zend_Ldap
29.1. Introduction
29.1.1. Theory of Operation
29.1.1.1. Automatic Username Canonicalization When Binding
29.1.1.2. Zend_Ldap Options
29.1.1.3. Account Name Canonicalization
29.1.1.4. Multi-domain Authentication and Failover
30. Zend_Loader
30.1. Loading Files and Classes Dynamically
30.1.1. Loading Files
30.1.2. Loading Classes
30.1.3. Testing if a File is Readable
30.1.4. Using the Autoloader
30.2. The Autoloader
30.2.1. Using the Autoloader
30.2.2. The Autoloader Interface
30.2.3. Autoloader Reference
30.3. Resource Autoloaders
30.3.1. Resource autoloader usage
30.3.2. The Module Resource Autoloader
30.3.3. Using Resource Autoloaders as Object Factories
30.3.4. Resource Autoloader Reference
30.4. Loading Plugins
30.4.1. Basic Use Case
30.4.2. Manipulating Plugin Paths
30.4.3. Testing for Plugins and Retrieving Class Names
30.4.4. Getting Better Performance for Plugins
31. Zend_Locale
31.1. Introduction
31.1.1. What is Localization
31.1.2. What is a Locale?
31.1.3. How are Locales Represented?
31.1.4. Selecting the Right Locale
31.1.5. Usage of automatic Locales
31.1.6. Using a default Locale
31.1.7. ZF Locale-Aware Classes
31.1.8. Application wide locale
31.1.9. Zend_Locale_Format::setOptions(array $options)
31.1.10. Speed up Zend_Locale and its subclasses
31.2. Using Zend_Locale
31.2.1. Copying, Cloning, and Serializing Locale Objects
31.2.2. Equality
31.2.3. Default locales
31.2.4. Set a new locale
31.2.5. Getting the language and region
31.2.6. Obtaining localized strings
31.2.7. Obtaining translations for "yes" and "no"
31.2.8. Get a list of all known locales
31.2.9. Detecting locales
31.3. Normalization and Localization
31.3.1. Number normalization: getNumber($input, Array $options)
31.3.1.1. Precision and Calculations
31.3.2. Number localization
31.3.3. Number testing
31.3.4. Float value normalization
31.3.5. Floating point value localization
31.3.6. Floating point value testing
31.3.7. Integer value normalization
31.3.8. Integer point value localization
31.3.9. Integer value testing
31.3.10. Numeral System Conversion
31.4. Working with Dates and Times
31.4.1. Normalizing Dates and Times
31.4.2. Testing Dates
31.4.3. Normalizing a Time
31.4.4. Testing Times
31.5. Supported locales
31.6. Migrating from previous versions
31.6.1. Migrating from 1.8 to 1.9 or newer
31.6.1.1. Depreciated methods
31.6.2. Migrating from 1.6 to 1.7 or newer
31.6.2.1. Changes when using isLocale()
31.6.2.2. Changes when using getDefault()
32. Zend_Log
32.1. Overview
32.1.1. Creating a Log
32.1.2. Logging Messages
32.1.3. Destroying a Log
32.1.4. Using Built-in Priorities
32.1.5. Adding User-defined Priorities
32.1.6. Understanding Log Events
32.2. Writers
32.2.1. Writing to Streams
32.2.2. Writing to Databases
32.2.3. Writing to Firebug
32.2.3.1. Setting Styles for Priorities
32.2.3.2. Preparing data for Logging
32.2.3.3. Exception Logging
32.2.3.4. Table Logging
32.2.4. Writing to Email
32.2.4.1. Zend_Layout Usage
32.2.4.2. Subject Line Error Level Summary
32.2.4.3. Caveats
32.2.5. Stubbing Out the Writer
32.2.6. Testing with the Mock
32.2.7. Compositing Writers
32.3. Formatters
32.3.1. Simple Formatting
32.3.2. Formatting to XML
32.4. Filters
32.4.1. Filtering for All Writers
32.4.2. Filtering for a Writer Instance
33. Zend_Mail
33.1. Introduction
33.1.1. Getting started
33.1.2. Configuring the default sendmail transport
33.2. Sending via SMTP
33.3. Sending Multiple Mails per SMTP Connection
33.4. Using Different Transports
33.5. HTML E-Mail
33.6. Attachments
33.7. Adding Recipients
33.8. Controlling the MIME Boundary
33.9. Additional Headers
33.10. Character Sets
33.11. Encoding
33.12. SMTP Authentication
33.13. Securing SMTP Transport
33.14. Reading Mail Messages
33.14.1. Simple example using Pop3
33.14.2. Opening a local storage
33.14.3. Opening a remote storage
33.14.4. Fetching messages and simple methods
33.14.5. Working with messages
33.14.6. Checking for flags
33.14.7. Using folders
33.14.8. Advanced Use
33.14.8.1. Using NOOP
33.14.8.2. Caching instances
33.14.8.3. Extending Protocol Classes
33.14.8.4. Using Quota (since 1.5)
34. Zend_Measure
34.1. Introduction
34.2. Creation of Measurements
34.2.1. Creating measurements from integers and floats
34.2.2. Creating measurements from strings
34.2.3. Measurements from localized strings
34.3. Outputting measurements
34.3.1. Automatic output
34.3.2. Outputting values
34.3.3. Output with unit of measurement
34.3.4. Output as localized string
34.4. Manipulating Measurements
34.4.1. Convert
34.4.2. Add and subtract
34.4.3. Compare
34.4.4. Compare
34.4.5. Manually change values
34.4.6. Manually change types
34.5. Types of measurements
34.5.1. Hints for Zend_Measure_Binary
34.5.2. Hints for Zend_Measure_Number
34.5.3. Roman numbers
35. Zend_Memory
35.1. Overview
35.1.1. Introduction
35.1.2. Theory of Operation
35.1.2.1. Memory manager
35.1.2.2. Memory container
35.1.2.3. Locked memory
35.1.2.4. Movable memory
35.2. Memory Manager
35.2.1. Creating a Memory Manager
35.2.2. Managing Memory Objects
35.2.2.1. Creating Movable Objects
35.2.2.2. Creating Locked Objects
35.2.2.3. Destroying Objects
35.2.3. Memory Manager Settings
35.2.3.1. Memory Limit
35.2.3.2. MinSize
35.3. Memory Objects
35.3.1. Movable
35.3.2. Locked
35.3.3. Memory container 'value' property
35.3.4. Memory container interface
35.3.4.1. getRef() method
35.3.4.2. touch() method
35.3.4.3. lock() method
35.3.4.4. unlock() method
35.3.4.5. isLocked() method
36. Zend_Mime
36.1. Zend_Mime
36.1.1. Introduction
36.1.2. Static Methods and Constants
36.1.3. Instantiating Zend_Mime
36.2. Zend_Mime_Message
36.2.1. Introduction
36.2.2. Instantiation
36.2.3. Adding MIME Parts
36.2.4. Boundary handling
36.2.5. parsing a string to create a Zend_Mime_Message object (experimental)
36.3. Zend_Mime_Part
36.3.1. Introduction
36.3.2. Instantiation
36.3.3. Methods for rendering the message part to a string
37. Zend_Navigation
37.1. Introduction
37.1.1. Pages and Containers
37.1.1.1. Pages
37.1.1.2. Containers
37.1.2. Separation of data (model) and rendering (view)
37.2. Pages
37.2.1. Common page features
37.2.2. Zend_Navigation_Page_Mvc
37.2.3. Zend_Navigation_Page_Uri
37.2.4. Creating custom page types
37.2.5. Creating pages using the page factory
37.3. Containers
37.3.1. Creating containers
37.3.2. Adding pages
37.3.3. Removing pages
37.3.4. Finding pages
37.3.5. Iterating containers
37.3.6. Other operations
38. Zend_OpenId
38.1. Introduction
38.1.1. What is OpenID?
38.1.2. How Does it Work?
38.1.3. Zend_OpenId Structure
38.1.4. Supported OpenID Standards
38.2. Zend_OpenId_Consumer Basics
38.2.1. OpenID Authentication
38.2.2. Combining all Steps in One Page
38.2.3. Consumer Realm
38.2.4. Immediate Check
38.2.5. Zend_OpenId_Consumer_Storage
38.2.6. Simple Registration Extension
38.2.7. Integration with Zend_Auth
38.2.8. Integration with Zend_Controller
38.3. Zend_OpenId_Provider
38.3.1. Quick Start
38.3.2. Combined Provide Scripts
38.3.3. Simple Registration Extension
38.3.4. Anything Else?
39. Zend_Paginator
39.1. Introduction
39.2. Usage
39.2.1. Paginating data collections
39.2.2. Rendering pages with view scripts
39.2.2.1. Example pagination controls
39.2.2.2. Listing of properties
39.3. Configuration
39.4. Advanced usage
39.4.1. Custom data source adapters
39.4.2. Custom scrolling styles
39.4.3. Caching features
40. Zend_Pdf
40.1. Introduction
40.2. Creating and Loading PDF Documents
40.3. Save Changes to PDF Documents
40.4. Working with Pages
40.4.1. Page Creation
40.4.2. Page cloning
40.5. Drawing
40.5.1. Geometry
40.5.2. Colors
40.5.3. Shape Drawing
40.5.4. Text Drawing
40.5.5. Using fonts
40.5.6. Standard PDF fonts limitations
40.5.7. Extracting fonts
40.5.8. Image Drawing
40.5.9. Line drawing style
40.5.10. Fill style
40.5.11. Linear Transformations
40.5.11.1. Rotations
40.5.11.2. Starting from ZF 1.8, scaling
40.5.11.3. Starting from ZF 1.8, translating
40.5.11.4. Starting from ZF 1.8, skewing
40.5.12. Save/restore graphics state
40.5.13. Clipping draw area
40.5.14. Styles
40.5.15. Transparency
40.6. Document Info and Metadata
40.7. Zend_Pdf module usage example
41. Zend_ProgressBar
41.1. Zend_ProgressBar
41.1.1. Introduction
41.1.2. Basic Usage of Zend_Progressbar
41.1.3. Persistent progress
41.1.4. Standard adapters
41.1.4.1. Zend_ProgressBar_Adapter_Console
41.1.4.2. Zend_ProgressBar_Adapter_JsPush
41.1.4.3. Zend_ProgressBar_Adapter_JsPull
42. Zend_Reflection
42.1. Introduction
42.2. Zend_Reflection Examples
42.3. Zend_Reflection Reference
42.3.1. Zend_Reflection_Docblock
42.3.2. Zend_Reflection_Docblock_Tag
42.3.3. Zend_Reflection_Docblock_Tag_Param
42.3.4. Zend_Reflection_Docblock_Tag_Return
42.3.5. Zend_Reflection_File
42.3.6. Zend_Reflection_Class
42.3.7. Zend_Reflection_Extension
42.3.8. Zend_Reflection_Function
42.3.9. Zend_Reflection_Method
42.3.10. Zend_Reflection_Parameter
42.3.11. Zend_Reflection_Property
43. Zend_Registry
43.1. Using the Registry
43.1.1. Setting Values in the Registry
43.1.2. Getting Values from the Registry
43.1.3. Constructing a Registry Object
43.1.4. Accessing the Registry as an Array
43.1.5. Accessing the Registry as an Object
43.1.6. Querying if an Index Exists
43.1.7. Extending the Registry
43.1.8. Unsetting the Static Registry
44. Zend_Rest
44.1. Introduction
44.2. Zend_Rest_Client
44.2.1. Introduction
44.2.2. Responses
44.2.3. Request Arguments
44.3. Zend_Rest_Server
44.3.1. Introduction
44.3.2. REST Server Usage
44.3.3. Calling a Zend_Rest_Server Service
44.3.4. Sending A Custom Status
44.3.5. Returning Custom XML Responses
45. Zend_Search_Lucene
45.1. Overview
45.1.1. Introduction
45.1.2. Document and Field Objects
45.1.3. Understanding Field Types
45.1.4. HTML documents
45.1.5. Word 2007 documents
45.1.6. Powerpoint 2007 documents
45.1.7. Excel 2007 documents
45.2. Building Indexes
45.2.1. Creating a New Index
45.2.2. Updating Index
45.2.3. Updating Documents
45.2.4. Retrieving Index Size
45.2.5. Index optimization
45.2.5.1. MaxBufferedDocs auto-optimization option
45.2.5.2. MaxMergeDocs auto-optimization option
45.2.5.3. MergeFactor auto-optimization option
45.2.6. Permissions
45.2.7. Limitations
45.2.7.1. Index size
45.2.7.2. Supported Filesystems
45.3. Searching an Index
45.3.1. Building Queries
45.3.1.1. Query Parsing
45.3.2. Search Results
45.3.3. Limiting the Result Set
45.3.4. Results Scoring
45.3.5. Search Result Sorting
45.3.6. Search Results Highlighting
45.4. Query Language
45.4.1. Terms
45.4.2. Fields
45.4.3. Wildcards
45.4.4. Term Modifiers
45.4.5. Range Searches
45.4.6. Fuzzy Searches
45.4.7. Matched terms limitation
45.4.8. Proximity Searches
45.4.9. Boosting a Term
45.4.10. Boolean Operators
45.4.10.1. AND
45.4.10.2. OR
45.4.10.3. NOT
45.4.10.4. &&, ||, and ! operators
45.4.10.5. +
45.4.10.6. -
45.4.10.7. No Operator
45.4.11. Grouping
45.4.12. Field Grouping
45.4.13. Escaping Special Characters
45.5. Query Construction API
45.5.1. Query Parser Exceptions
45.5.2. Term Query
45.5.3. Multi-Term Query
45.5.4. Boolean Query
45.5.5. Wildcard Query
45.5.6. Fuzzy Query
45.5.7. Phrase Query
45.5.8. Range Query
45.6. Character Set
45.6.1. UTF-8 and single-byte character set support
45.6.2. Default text analyzer
45.6.3. UTF-8 compatible text analyzers
45.7. Extensibility
45.7.1. Text Analysis
45.7.2. Tokens Filtering
45.7.3. Scoring Algorithms
45.7.4. Storage Containers
45.8. Interoperating with Java Lucene
45.8.1. File Formats
45.8.2. Index Directory
45.8.3. Java Source Code
45.9. Advanced
45.9.1. Starting from 1.6, handling index format transformations
45.9.2. Using the index as static property
45.10. Best Practices
45.10.1. Field names
45.10.2. Indexing performance
45.10.3. Index during Shut Down
45.10.4. Retrieving documents by unique id
45.10.5. Memory Usage
45.10.6. Encoding
45.10.7. Index maintenance
46. Zend_Server
46.1. Introduction
46.2. Zend_Server_Reflection
46.2.1. Introduction
46.2.2. Usage
47. Zend_Service
47.1. Introduction
47.2. Zend_Service_Akismet
47.2.1. Introduction
47.2.2. Verify an API key
47.2.3. Check for spam
47.2.4. Submitting known spam
47.2.5. Submitting false positives (ham)
47.2.6. Zend-specific Accessor Methods
47.3. Zend_Service_Amazon
47.3.1. Introduction
47.3.2. Country Codes
47.3.3. Looking up a Specific Amazon Item by ASIN
47.3.4. Performing Amazon Item Searches
47.3.5. Using the Alternative Query API
47.3.5.1. Introduction
47.3.6. Zend_Service_Amazon Classes
47.3.6.1. Zend_Service_Amazon_Item
47.3.6.1.1. Zend_Service_Amazon_Item::asXML()
47.3.6.1.2. Properties
47.3.6.2. Zend_Service_Amazon_Image
47.3.6.2.1. Properties
47.3.6.3. Zend_Service_Amazon_ResultSet
47.3.6.3.1. Zend_Service_Amazon_ResultSet::totalResults()
47.3.6.4. Zend_Service_Amazon_OfferSet
47.3.6.4.1. Properties
47.3.6.5. Zend_Service_Amazon_Offer
47.3.6.5.1. Zend_Service_Amazon_Offer Properties
47.3.6.6. Zend_Service_Amazon_SimilarProduct
47.3.6.6.1. Properties
47.3.6.7. Zend_Service_Amazon_Accessories
47.3.6.7.1. Properties
47.3.6.8. Zend_Service_Amazon_CustomerReview
47.3.6.8.1. Properties
47.3.6.9. Zend_Service_Amazon_EditorialReview
47.3.6.9.1. Properties
47.3.6.10. Zend_Service_Amazon_Listmania
47.3.6.10.1. Properties
47.4. Zend_Service_Amazon_Ec2
47.4.1. Introduction
47.4.2. What is Amazon Ec2?
47.4.3. Static Methods
47.5. Zend_Service_Amazon_Ec2: Instances
47.5.1. Instance Types
47.5.2. Running Amazon EC2 Instances
47.5.3. Amazon Instance Utilities
47.6. Zend_Service_Amazon_Ec2: Amazon Machine Images (AMI)
47.6.1. AMI Information Utilities
47.6.2. AMI Attribute Utilities
47.7. Zend_Service_Amazon_Ec2: Elastic Block Stroage (EBS)
47.7.1. Create EBS Volumes and Snapshots
47.7.2. Describing EBS Volumes and Snapshots
47.7.3. Attach and Detaching Volumes from Instances
47.7.4. Deleting EBS Volumes and Snapshots
47.8. Zend_Service_Amazon_Ec2: Elastic IP Addresses
47.9. Zend_Service_Amazon_Ec2: Keypairs
47.10. Zend_Service_Amazon_Ec2: Regions and Availability Zones
47.10.1. Amazon EC2 Regions
47.10.2. Amazon EC2 Availability Zones
47.11. Zend_Service_Amazon_Ec2: Security Groups
47.11.1. Security Group Maintenance
47.11.2. Authorizing Access
47.11.3. Revoking Access
47.12. Zend_Service_Amazon_S3
47.12.1. Introduction
47.12.2. Registering with Amazon S3
47.12.3. API Documentation
47.12.4. Features
47.12.5. Getting Started
47.12.6. Bucket operations
47.12.7. Object operations
47.12.8. Stream wrapper
47.13. Zend_Service_Audioscrobbler
47.13.1. Introduction
47.13.2. Users
47.13.3. Artists
47.13.4. Tracks
47.13.5. Tags
47.13.6. Groups
47.13.7. Forums
47.14. Zend_Service_Delicious
47.14.1. Introduction
47.14.2. Retrieving posts
47.14.3. Zend_Service_Delicious_PostList
47.14.4. Editing posts
47.14.5. Deleting posts
47.14.6. Adding new posts
47.14.7. Tags
47.14.8. Bundles
47.14.9. Public data
47.14.9.1. Public posts
47.14.10. HTTP client
47.15. Zend_Service_Flickr
47.15.1. Introduction
47.15.2. Finding Flickr Users' Photos and Information
47.15.3. Finding photos From a Group Pool
47.15.4. Retrieving Flickr Image Details
47.15.5. Zend_Service_Flickr Result Classes
47.15.5.1. Zend_Service_Flickr_ResultSet
47.15.5.1.1. Properties
47.15.5.1.2. Zend_Service_Flickr_ResultSet::totalResults()
47.15.5.2. Zend_Service_Flickr_Result
47.15.5.2.1. Properties
47.15.5.3. Zend_Service_Flickr_Image
47.15.5.3.1. Properties
47.16. Zend_Service_Nirvanix
47.16.1. Introduction
47.16.2. Registering with Nirvanix
47.16.3. API Documentation
47.16.4. Features
47.16.5. Getting Started
47.16.6. Understanding the Proxy
47.16.7. Examining Results
47.16.8. Handling Errors
47.17. Zend_Service_ReCaptcha
47.17.1. Introduction
47.17.2. Simplest use
47.18. Zend_Service_Simpy
47.18.1. Introduction
47.18.2. Links
47.18.3. Tags
47.18.4. Notes
47.18.5. Watchlists
47.19. Introduction
47.19.1. Getting Started with Zend_Service_SlideShare
47.19.2. The SlideShow object
47.19.3. Retrieving a single slide show
47.19.4. Retrieving Groups of Slide Shows
47.19.5. Zend_Service_SlideShare Caching policies
47.19.6. Changing the behavior of the HTTP Client
47.20. Zend_Service_StrikeIron
47.20.1. Overview
47.20.2. Registering with StrikeIron
47.20.3. Getting Started
47.20.4. Making Your First Query
47.20.5. Examining Results
47.20.6. Handling Errors
47.20.7. Checking Your Subscription
47.21. Zend_Service_StrikeIron: Bundled Services
47.21.1. ZIP Code Information
47.21.2. U.S. Address Verification
47.21.3. Sales & Use Tax Basic
47.22. Zend_Service_StrikeIron: Advanced Uses
47.22.1. Using Services by WSDL
47.22.2. Viewing SOAP Transactions
47.23. Zend_Service_Technorati
47.23.1. Introduction
47.23.2. Getting Started
47.23.3. Making Your First Query
47.23.4. Consuming Results
47.23.5. Handling Errors
47.23.6. Checking Your API Key Daily Usage
47.23.7. Available Technorati Queries
47.23.7.1. Technorati Cosmos
47.23.7.2. Technorati Search
47.23.7.3. Technorati Tag
47.23.7.4. Technorati DailyCounts
47.23.7.5. Technorati TopTags
47.23.7.6. Technorati BlogInfo
47.23.7.7. Technorati BlogPostTags
47.23.7.8. Technorati GetInfo
47.23.7.9. Technorati KeyInfo
47.23.8. Zend_Service_Technorati Classes
47.23.8.1. Zend_Service_Technorati_ResultSet
47.23.8.2. Zend_Service_Technorati_CosmosResultSet
47.23.8.3. Zend_Service_Technorati_SearchResultSet
47.23.8.4. Zend_Service_Technorati_TagResultSet
47.23.8.5. Zend_Service_Technorati_DailyCountsResultSet
47.23.8.6. Zend_Service_Technorati_TagsResultSet
47.23.8.7. Zend_Service_Technorati_Result
47.23.8.8. Zend_Service_Technorati_CosmosResult
47.23.8.9. Zend_Service_Technorati_SearchResult
47.23.8.10. Zend_Service_Technorati_TagResult
47.23.8.11. Zend_Service_Technorati_DailyCountsResult
47.23.8.12. Zend_Service_Technorati_TagsResult
47.23.8.13. Zend_Service_Technorati_GetInfoResult
47.23.8.14. Zend_Service_Technorati_BlogInfoResult
47.23.8.15. Zend_Service_Technorati_KeyInfoResult
47.24. Zend_Service_Twitter
47.24.1. Introduction
47.24.2. Authentication
47.24.3. Account Methods
47.24.4. Status Methods
47.24.5. User Methods
47.24.6. Direct Message Methods
47.24.7. Friendship Methods
47.24.8. Favorite Methods
47.24.9. Zend_Service_Twitter_Search
47.24.9.1. Introduction
47.24.9.2. Twitter Trends
47.24.9.3. Searching Twitter
47.24.9.4. Zend-specific Accessor Methods
47.25. Zend_Service_Yahoo
47.25.1. Introduction
47.25.2. Searching the Web with Yahoo!
47.25.3. Finding Images with Yahoo!
47.25.4. Finding videos with Yahoo!
47.25.5. Finding Local Businesses and Services with Yahoo!
47.25.6. Searching Yahoo! News
47.25.7. Searching Yahoo! Site Explorer Inbound Links
47.25.8. Searching Yahoo! Site Explorer's PageData
47.25.9. Zend_Service_Yahoo Classes
47.25.9.1. Zend_Service_Yahoo_ResultSet
47.25.9.1.1. Zend_Service_Yahoo_ResultSet::totalResults()
47.25.9.1.2. Properties
47.25.9.2. Zend_Service_Yahoo_WebResultSet
47.25.9.3. Zend_Service_Yahoo_ImageResultSet
47.25.9.4. Zend_Service_Yahoo_VideoResultSet
47.25.9.5. Zend_Service_Yahoo_LocalResultSet
47.25.9.6. Zend_Service_Yahoo_NewsResultSet
47.25.9.7. Zend_Service_Yahoo_InlinkDataResultSet
47.25.9.8. Zend_Service_Yahoo_PageDataResultSet
47.25.9.9. Zend_Service_Yahoo_Result
47.25.9.9.1. Properties
47.25.9.10. Zend_Service_Yahoo_WebResult
47.25.9.10.1. Properties
47.25.9.11. Zend_Service_Yahoo_ImageResult
47.25.9.11.1. Properties
47.25.9.12. Zend_Service_Yahoo_VideoResult
47.25.9.12.1. Properties
47.25.9.13. Zend_Service_Yahoo_LocalResult
47.25.9.13.1. Properties
47.25.9.14. Zend_Service_Yahoo_NewsResult
47.25.9.14.1. Properties
47.25.9.15. Zend_Service_Yahoo_InlinkDataResult
47.25.9.16. Zend_Service_Yahoo_PageDataResult
47.25.9.17. Zend_Service_Yahoo_Image
47.25.9.17.1. Properties
48. Zend_Session
48.1. Introduction
48.2. Basic Usage
48.2.1. Tutorial Examples
48.2.2. Iterating Over Session Namespaces
48.2.3. Accessors for Session Namespaces
48.3. Advanced Usage
48.3.1. Starting a Session
48.3.2. Locking Session Namespaces
48.3.3. Namespace Expiration
48.3.4. Session Encapsulation and Controllers
48.3.5. Preventing Multiple Instances per Namespace
48.3.6. Working with Arrays
48.3.7. Using Sessions with Objects
48.3.8. Using Sessions with Unit Tests
48.4. Global Session Management
48.4.1. Configuration Options
48.4.2. Error: Headers Already Sent
48.4.3. Session Identifiers
48.4.3.1. Session Hijacking and Fixation
48.4.4. rememberMe(integer $seconds)
48.4.5. forgetMe()
48.4.6. sessionExists()
48.4.7. destroy(bool $remove_cookie = true, bool $readonly = true)
48.4.8. stop()
48.4.9. writeClose($readonly = true)
48.4.10. expireSessionCookie()
48.4.11. setSaveHandler(Zend_Session_SaveHandler_Interface $interface)
48.4.12. namespaceIsset($namespace)
48.4.13. namespaceUnset($namespace)
48.4.14. namespaceGet($namespace)
48.4.15. getIterator()
48.5. Zend_Session_SaveHandler_DbTable
49. Zend_Soap
49.1. Zend_Soap_Server
49.1.1. Zend_Soap_Server constructor
49.1.1.1. Zend_Soap_Server constructor for the WSDL mode
49.1.1.2. Zend_Soap_Server constructor for the non-WSDL mode
49.1.2. Methods to define Web Service API
49.1.3. Request and response objects handling
49.1.3.1. Request processing
49.1.3.2. Response pre-processing
49.2. Zend_Soap_Client
49.2.1. Zend_Soap_Client Constructor
49.2.2. Performing SOAP Requests
49.3. WSDL Accessor
49.3.1. Zend_Soap_Wsdl constructor
49.3.2. addMessage() method
49.3.3. addPortType() method
49.3.4. addPortOperation() method
49.3.5. addBinding() method
49.3.6. addBindingOperation() method
49.3.7. addSoapBinding() method
49.3.8. addSoapOperation() method
49.3.9. addService() method
49.3.10. Type mapping
49.3.10.1. Retrieving type information
49.3.10.2. Adding complex type information
49.3.11. addDocumentation() method
49.3.12. Get finalized WSDL document
49.3.13. Parsing WSDL documents
49.4. AutoDiscovery
49.4.1. AutoDiscovery Introduction
49.4.2. Class autodiscovering
49.4.3. Functions autodiscovering
49.4.4. Autodiscovering Datatypes
49.4.5. WSDL Binding Styles
50. Zend_Tag
50.1. Introduction
50.2. Zend_Tag_Cloud
50.2.1. Decorators
50.2.1.1. HTML Tag decorator
50.2.1.2. HTML Cloud decorator
51. Zend_Test
51.1. Introduction
51.2. Zend_Test_PHPUnit
51.2.1. Bootstrapping your TestCase
51.2.2. Testing your Controllers and MVC Applications
51.2.3. Assertions
51.2.3.1. CSS Selector Assertions
51.2.3.2. XPath Assertions
51.2.3.3. Redirect Assertions
51.2.3.4. Response Header Assertions
51.2.3.5. Request Assertions
51.2.4. Examples
52. Zend_Text
52.1. Zend_Text_Figlet
52.2. Zend_Text_Table
53. Zend_TimeSync
53.1. Introduction
53.1.1. Why Zend_TimeSync ?
53.1.2. What is NTP ?
53.1.3. What is SNTP?
53.1.4. Problematic usage
53.1.5. Decide which server to use
53.2. Working with Zend_TimeSync
53.2.1. Generic Time Server Request
53.2.2. Multiple Time Servers
53.2.3. Protocols of Time Servers
53.2.4. Using Ports for Time Servers
53.2.5. Time Servers Options
53.2.6. Using Different Time Servers
53.2.7. Information from Time Servers
53.2.8. Handling Exceptions
54. Zend_Tool_Framework
54.1. Introduction
54.2. Using the CLI Tool
54.2.1. Setting up the CLI tool
54.2.2. Setting up the CLI tool on Unix-like Systems
54.2.3. Setting up the CLI tool on Windows
54.2.4. Other Setup Considerations
54.2.5. Where To Go Next?
54.3. Architecture
54.3.1. Registry
54.3.2. Providers
54.3.3. Loaders
54.3.4. Manifests
54.3.5. Clients
54.4. Creating Providers to use with Zend_Tool_Framework
54.4.1. Basic Instructions for Creating Providers
54.4.2. Advanced Development Information
54.5. Shipped System Providers
54.5.1. The Version Provider
54.5.2. The Manifest Provider
55. Zend_Tool_Project
55.1. Zend_Tool_Project Introduction
55.2. Create A Project
55.3. Zend Tool Project Providers
56. Zend_Translate
56.1. Introduction
56.1.1. Starting multi-lingual
56.2. Adapters for Zend_Translate
56.2.1. How to decide which translation adapter to use
56.2.1.1. Zend_Translate_Adapter_Array
56.2.1.2. Zend_Translate_Adapter_Csv
56.2.1.3. Zend_Translate_Adapter_Gettext
56.2.1.4. Zend_Translate_Adapter_Ini
56.2.1.5. Zend_Translate_Adapter_Tbx
56.2.1.6. Zend_Translate_Adapter_Tmx
56.2.1.7. Zend_Translate_Adapter_Qt
56.2.1.8. Zend_Translate_Adapter_Xliff
56.2.1.9. Zend_Translate_Adapter_XmlTm
56.2.2. Integrate self written Adapters
56.2.3. Speedup all Adapters
56.3. Using Translation Adapters
56.3.1. Translation Source Structures
56.3.2. Creating Array source files
56.3.3. Creating Gettext source files
56.3.4. Creating TMX source files
56.3.5. Creating CSV source files
56.3.6. Creating INI source files
56.3.7. Options for adapters
56.3.8. Handling languages
56.3.8.1. Automatical handling of languages
56.3.9. Automatic source detection
56.3.9.1. Language through naming directories
56.3.9.2. Language through filenames
56.3.9.2.1. Complete filename
56.3.9.2.2. Extension of the file
56.3.9.2.3. Filename tokens
56.3.10. Checking for translations
56.3.11. How to log not found translations
56.3.12. Accessing source data
56.4. Migrating from previous versions
56.4.1. Migrating from 1.6 to 1.7 or newer
56.4.1.1. Setting languages
57. Zend_Uri
57.1. Zend_Uri
57.1.1. Overview
57.1.2. Creating a New URI
57.1.3. Manipulating an Existing URI
57.1.4. URI Validation
57.1.4.1. Allowing "Unwise" characters in URIs
57.1.5. Common Instance Methods
57.1.5.1. Getting the Scheme of the URI
57.1.5.2. Getting the Entire URI
57.1.5.3. Validating the URI
58. Zend_Validate
58.1. Introduction
58.1.1. What is a validator?
58.1.2. Basic usage of validators
58.1.3. Customizing messages
58.1.4. Using the static is() method
58.1.5. Translating messages
58.2. Standard Validation Classes
58.2.1. Alnum
58.2.2. Alpha
58.2.3. Barcode
58.2.4. Between
58.2.5. Ccnum
58.2.6. Date
58.2.7. Db_RecordExists and Db_NoRecordExists
58.2.7.1. Basic usage
58.2.7.2. Excluding records
58.2.7.3. Database Adapters
58.2.8. Digits
58.2.9. EmailAddress
58.2.10. Float
58.2.11. GreaterThan
58.2.12. Hex
58.2.13. Hostname
58.2.14. Iban
58.2.15. InArray
58.2.16. Int
58.2.17. Ip
58.2.18. LessThan
58.2.19. NotEmpty
58.2.20. Regex
58.2.21. Sitemap Validators
58.2.21.1. Sitemap_Changefreq
58.2.21.2. Sitemap_Lastmod
58.2.21.3. Sitemap_Loc
58.2.21.4. Sitemap_Priority
58.2.22. StringLength
58.3. Validator Chains
58.4. Writing Validators
58.5. Validation Messages
59. Zend_Version
59.1. Getting the Zend Framework Version
60. Zend_View
60.1. Introduction
60.1.1. Controller Script
60.1.2. View Script
60.1.3. Options
60.1.4. Short Tags with View Scripts
60.1.5. Utility Accessors
60.2. Controller Scripts
60.2.1. Assigning Variables
60.2.2. Rendering a View Script
60.2.3. View Script Paths
60.3. View Scripts
60.3.1. Escaping Output
60.3.2. Using Alternate Template Systems
60.3.2.1. Template Systems Using View Scripts
60.3.2.2. Template Systems Using Zend_View_Interface
60.4. View Helpers
60.4.1. Initial Helpers
60.4.1.1. Action View Helper
60.4.1.2. Cycle Helper
60.4.1.3. Partial Helper
60.4.1.4. Placeholder Helper
60.4.1.4.1. Concrete Placeholder Implementations
60.4.1.5. Doctype Helper
60.4.1.6. HeadLink Helper
60.4.1.7. HeadMeta Helper
60.4.1.8. HeadScript Helper
60.4.1.9. HeadStyle Helper
60.4.1.10. HeadTitle Helper
60.4.1.11. HTML Object Helpers
60.4.1.12. InlineScript Helper
60.4.1.13. JSON Helper
60.4.1.14. Navigation Helpers
60.4.1.14.1. Translation of labels and titles
60.4.1.14.2. Integration with ACL
60.4.1.14.3. Navigation setup used in examples
60.4.1.14.4. Breadcrumbs Helper
60.4.1.14.5. Links Helper
60.4.1.14.6. Menu Helper
60.4.1.14.7. Sitemap Helper
60.4.1.14.8. Navigation Helper
60.4.1.15. Translate Helper
60.4.2. Helper Paths
60.4.3. Writing Custom Helpers
60.5. Zend_View_Abstract
60.6. Migrating from Previous Versions
60.6.1. Migrating from versions prior to 1.7.5
60.6.1.1. Disabling LFI protection for the render() method
61. Zend_Wildfire
61.1. Zend_Wildfire
62. Zend_XmlRpc
62.1. Introduction
62.2. Zend_XmlRpc_Client
62.2.1. Introduction
62.2.2. Method Calls
62.2.3. Types and Conversions
62.2.3.1. PHP Native Types as Parameters
62.2.3.2. Zend_XmlRpc_Value Objects as Parameters
62.2.4. Server Proxy Object
62.2.5. Error Handling
62.2.5.1. HTTP Errors
62.2.5.2. XML-RPC Faults
62.2.6. Server Introspection
62.2.7. From Request to Response
62.2.8. HTTP Client and Testing
62.3. Zend_XmlRpc_Server
62.3.1. Introduction
62.3.2. Basic Usage
62.3.3. Server Structure
62.3.4. Conventions
62.3.5. Utilizing Namespaces
62.3.6. Custom Request Objects
62.3.7. Custom Responses
62.3.8. Handling Exceptions via Faults
62.3.9. Caching Server Definitions Between Requests
62.3.10. Usage Examples
62.3.10.1. Basic Usage
62.3.10.2. Attaching a class
62.3.10.3. Attaching several classes using namespaces
62.3.10.4. Specifying exceptions to use as valid fault responses
62.3.10.5. Utilizing a custom request object
62.3.10.6. Utilizing a custom response object
62.3.10.7. Cache server definitions between requests
A. Zend Framework Requirements
A.1. Introduction
A.1.1. PHP Version
A.1.2. PHP Extensions
A.1.3. Zend Framework Components
A.1.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. Zend Framework Performance Guide
C.1. Introduction
C.2. Class Loading
C.2.1. How can I optimize my include_path?
C.2.1.1. Use absolute paths
C.2.1.2. Reduce the number of include paths you define
C.2.1.3. Define your Zend Framework include_path as early as possible
C.2.1.4. Define the current directory last, or not at all
C.2.2. How can I eliminate unnecessary require_once statements?
C.2.2.1. Strip require_once calls with find and sed
C.2.3. How can I speed up plugin loading?
C.2.3.1. Use the PluginLoader include file cache
C.3. Zend_Db Performance
C.3.1. How can I reduce overhead introduced by Zend_Db_Table for retrieving table metadata?
C.3.1.1. Use the metadata cache
C.3.1.2. Hardcode your metadata in the table definition
C.3.2. SQL generated with Zend_Db_Select s not hitting my indexes; how can I make it better?
C.3.2.1. Write your own tuned SQL
C.4. Internationalization (i18n) and Localization (l10n)
C.4.1. Which translation adapter should I use?
C.4.1.1. Use non-XML translation adapters for greatest speed
C.4.2. How can I make translation and localization even faster?
C.4.2.1. Use translation and localization caches
C.5. View Rendering
C.5.1. How can I speed up resolution of view helpers?
C.5.1.1. Use the PluginLoader include file cache
C.5.1.2. Extend Zend_View to provide often used helper methods
C.5.2. How can I speed up view partials?
C.5.2.1. Use partial() only when really necessary
C.5.3. How can I speed up calls to the action() view helper?
C.5.3.1. Use the ActionStack when possible
C.5.3.2. Favor helpers that query the model over action()
D. Copyright Information
Index

List of Tables

2.1. Access Controls for an Example CMS
4.1. Zend_Application options
4.2. Zend_Application Methods
4.3. Zend_Application_Bootstrap_Bootstrapper Interface
4.4. Zend_Application_Bootstrap_ResourceBootstrapper Interface
4.5. Zend_Application_Bootstrap_BootstrapAbstract Methods
4.6. Zend_Application_Resource_Resource Interface
4.7. Zend_Application_Resource_ResourceAbstract Methods
5.1. Configuration Options
5.2. Server Options
5.3. Debugging Messages
5.4. Options for Active Directory
5.5. Options for OpenLDAP
6.1. Core Frontend Options
6.2. Function Frontend Options
6.3. Class Frontend Options
6.4. File Frontend Options
6.5. Page Frontend Options
6.6. File Backend Options
6.7. Sqlite Backend Options
6.8. Memcached Backend Options
6.9. Xcache Backend Options
6.10. TwoLevels Backend Options
9.1. Zend_Config_Ini Constructor Parameters
13.1. Constants for the selecting the currency description
13.2. Constants for the selecting the position of the currency description
14.1. Date Parts
14.2. Basic Operations
14.3. Date Comparison Methods
14.4. Date Output Methods
14.5. Date Output Methods
14.6. Miscellaneous Methods
14.7. Operations Involving Zend_Date::HOUR
14.8. Day Constants
14.9. Week Constants
14.10. Month Constants
14.11. Year Constants
14.12. Time Constants
14.13. Timezone Constants
14.14. Date Format Constants (formats include timezone)
14.15. Date and Time Formats (format varies by locale)
14.16. Constants for ISO 8601 Date Output
14.17. Constants for PHP Date Output
14.18. Types of Supported Horizons for Sunset and Sunrise
15.1. Metadata Fields Returned by describeTable()
15.2. Constants used by getPart() and reset()
21.1. Different notations of the rename filter and their meaning
24.1. Metadata used in the code-sample below
25.1. Zend_Http_Client configuration parameters
25.2. Zend_Http_Client_Adapter_Socket configuration parameters
25.3. Zend_Http_Client configuration parameters
29.1. Zend_Ldap Options
29.2. accountCanonicalForm
30.1. Zend_Loader_Autoloader Methods
31.1. Details for getTranslationList($type = null, $locale = null, $value = null)
31.2. Details for getTranslation($value = null, $type = null, $locale = null)
31.3. Differences between ZF 1.0 and ZF 1.5
31.4. Format tokens for self generated number formats
31.5. Key values for getDate() with option 'fix_date'
31.6. Return values
31.7. Format definition
31.8. Example formats
31.9. List of all supported languages
31.10. List of measurement types
32.1. Firebug Logging Styles
33.1. Mail Read Feature Overview
33.2. Mail Folder Names
34.1. List of measurement types
37.1. Common page options
37.2. MVC page options
37.3. URI page options
39.1. Adapters for Zend_Paginator
39.2. Scrolling styles for Zend_Paginator
39.3. Properties available to view partials
39.4. Configuration methods for Zend_Paginator
45.1. Zend_Search_Lucene_Field Types
47.1. Zend_Service_Amazon_Item Properties
47.2. Zend_Service_Amazon_Image Properties
47.3. Zend_Service_Amazon_OfferSet Properties
47.4. Properties
47.5. Zend_Service_Amazon_SimilarProduct Properties
47.6. Zend_Service_Amazon_Accessories Properties
47.7. Zend_Service_Amazon_CustomerReview Properties
47.8. Zend_Service_Amazon_EditorialReview Properties
47.9. Zend_Service_Amazon_Listmania Properties
47.10. Available Instance Types
47.11. Valid Run Options
47.12. Launch permissions fall into three categories
47.13. Valid Attributes
47.14. Methods for retrieving public data
47.15. Methods of the Zend_Service_Delicious_SimplePost class
47.16. Zend_Service_Flickr_ResultSet Properties
47.17. Zend_Service_Flickr_Result Properties
47.18. Zend_Service_Flickr_Image Properties
47.19. Zend_Service_Yahoo_ResultSet
47.20. Zend_Service_Yahoo_LocalResultSet Properties
47.21. Zend_Service_Yahoo_Result Properties
47.22. Zend_Service_Yahoo_WebResult Properties
47.23. Zend_Service_Yahoo_ImageResult Properties
47.24. Zend_Service_Yahoo_VideoResult Properties
47.25. Zend_Service_Yahoo_LocalResult Properties
47.26. Zend_Service_Yahoo_NewsResult Properties
47.27. Zend_Service_Yahoo_Image Properties
55.1. Project Provider Options
55.2. Project Provider Options
56.1. Adapters for Zend_Translate
56.2. Options for translation adapters
58.1. Available Validation Messages
60.1. Sitemap XML elements
62.1. PHP and XML-RPC Type Conversions
62.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 among Roles
3.1. Basic AMF Server
3.2. Adding Message Headers to the AMF Response
4.1. Sample DB adapter resource configuration
4.2. Sample Front Controller resource configuration
4.3. Retrieving the Front Controller in your bootstrap
4.4. Configuring Modules
4.5. Retrieving a specific module bootstrap
4.6. Sample Session resource configuration
4.7. Sample View resource configuration
5.1. Modifying the Session Namespace
5.2. Using a Custom Storage Class
5.3. Basic Usage
6.1. Getting a Frontend with Zend_Cache::factory()
6.2. Caching a Database Query Result
6.3. Caching Output with Zend_Cache Output Frontend
8.1. Generating PHP classes
8.2. Generating PHP classes with class properties
8.3. Generating PHP classes with class methods
8.4. Generating PHP files
8.5. Seeding PHP file code generation via reflection
8.6. Seeding PHP class generation via reflection
9.1. Using Zend_Config
9.2. Using Zend_Config with a PHP Configuration File
9.3. Using Zend_Config_Ini
9.4. Using Zend_Config_Xml
9.5. Using Tag Attributes in Zend_Config_Xml
10.1. Using Zend_Config_Writer
10.2. Modifying an Existing Config
11.1. Using the Short Syntax
11.2. Using the Long Syntax
11.3. Catching Getopt Exceptions
11.4. Using getOption()
11.5. Using __get() and __isset() Magic Methods
11.6. Using getRemainingArgs()
11.7. Using addRules()
11.8. Using setHelp()
11.9. Using setAliases()
11.10. Using addArguments() and setArguments()
11.11. Using setOption()
11.12. Using setOptions()
12.1. Handling Non-Existent Actions
12.2. Adding a Task Using Action, Controller and Module Names
12.3. Adding a Task Using a Request Object
12.4. AutoCompletion with Dojo Using Zend MVC
12.5. Allowing Actions to Respond To Ajax Requests
12.6. Setting Options
12.7. Using Defaults
12.8. Using goto()'s _forward() API
12.9. Using Route Assembly with gotoRoute()
12.10. Basic Usage
12.11. Disabling Autorender
12.12. Choosing a Different View Script
12.13. Modifying the Registered View
12.14. Changing the Path Specifications
12.15. Rendering Multiple View Scripts from a Single Action
12.16. Standard Usage
12.17. Setting a Different Error Handler
12.18. Using Accessors
13.1. Creating an Instance of Zend_Currency from the Locale
13.2. Other Ways to Create Instances of Zend_Currency
13.3. Creating an Output String for a Currency
13.4. Changing the displayed format of a currency
13.5. Getting Information about Currencies
13.6. Setting a New Locale
13.7. Caching currencies
14.1. Setting a Default Timezone
14.2. Creating the Current Date
14.3. get() - Output a Date
14.4. set() - Set a Date
14.5. add() - Adding Dates
14.6. compare() - Compare Dates
14.7. equals() - Identify a Date or Date Part
14.8. User-Specified Input Date Format
14.9. Operating on Parts of Dates
14.10. Date Creation by Instance
14.11. Static Date Creation
14.12. Quick Creation of Dates from Database Date Values
14.13. Convenient Creation of Dates from Database Date Values
14.14. Date Creation by Array
14.15. Self-Defined ISO Formats
14.16. Self-Defined Formats with PHP Specifier
14.17. Checking Dates
14.18. Getting all Available Cities
14.19. Getting the Location for a City
14.20. Calculating Sun Information
14.21. Working with Time Zones
14.22. Multiple Time Zones
15.1. Using an Adapter Constructor
15.2. Using the Adapter Factory Method
15.3. Using the Adapter Factory Method for a Custom Adapter Class
15.4. Using the Adapter Factory Method with a Zend_Config Object
15.5. Passing the Case-Folding Option to the Factory
15.6. Passing the Auto-Quoting Option to the Factory
15.7. Passing PDO Driver Options to the Factory
15.8. Passing Serialization Options to the Factory
15.9. Handling Connection Exceptions
15.10. Using fetchAll()
15.11. Using setFetchMode()
15.12. Using fetchAssoc()
15.13. Using fetchCol()
15.14. Using fetchPairs()
15.15. Using fetchRow()
15.16. Using fetchOne()
15.17. Inserting in a Table
15.18. Inserting Expressions in a Table
15.19. Using lastInsertId() for an Auto-Increment Key
15.20. Using lastInsertId() for a Sequence
15.21. Using lastSequenceId()
15.22. Updating Rows
15.23. Updating Rows Using an Array of Expressions
15.24. Deleting Rows
15.25. Using quote()
15.26. Using quote() with a SQL Type
15.27. Using quoteInto()
15.28. Using quoteInto() with a SQL Type
15.29. Using quoteIdentifier()
15.30. Managing a Transaction to Ensure Consistency
15.31. Closing a Database Connection
15.32. Running a Non-Prepared Statement in a PDO Adapter
15.33. Verifying server version before running a query
15.34. Creating a SQL statement object with query()
15.35. Using a SQL statement constructor
15.36. Executing a statement with positional parameters
15.37. Executing a statement with named parameters
15.38. Using fetch() in a loop
15.39. Using fetchAll()
15.40. Setting the fetch mode
15.41. Using fetchColumn()
15.42. Using fetchObject()
15.43. DB Profiling with Zend_Controller_Front
15.44. DB Profiling without Zend_Controller_Front
15.45. Example of the database adapter's select() method
15.46. Example of creating a new Select object
15.47. Example of the using methods to add clauses
15.48. Example of the using the fluent interface
15.49. Example of the from() method
15.50. Example of specifying a table correlation name
15.51. Example of specifying a schema name
15.52. Examples of specifying columns
15.53. Examples of specifying columns containing expressions
15.54. Examples of quoting columns in an expression
15.55. Examples of adding columns with the columns() method
15.56. Example of the join() method
15.57. Example of specifying no columns
15.58. Example of the joinUsing() method
15.59. Example of the where() method
15.60. Example of a parameter in the where() method
15.61. Example of multiple where() methods
15.62. Example of the orWhere() method
15.63. Example of parenthesizing Boolean expressions
15.64. Example of the group() method
15.65. Example of the having() method
15.66. Example of the order() method
15.67. Example of the limit() method
15.68. Example of the limitPage() method
15.69. Example of the distinct() method
15.70. Example of forUpdate() method
15.71. Example using the Db adapter's query() method
15.72. Example using the Select object's query method
15.73. Example of the __toString() method
15.74. Example of the getPart() method
15.75. Example of the reset() method
15.76. Declaring a table class with explicit table name
15.77. Declaring a table class with implicit table name
15.78. Declaring a table class with schema
15.79. Declaring table and schema names upon instantiation
15.80. Example of specifying the primary key
15.81. Example of overriding the _setupTableName() method
15.82. Example usage of init() method
15.83. Example of constructing a Table using an Adapter object
15.84. Example of constructing a Table using a the Default Adapter
15.85. Example of constructing a Table using a Registry key
15.86. Example of inserting to a Table
15.87. Example of inserting expressions to a Table
15.88. Example of declaring a Table with auto-incrementing primary key
15.89. Example of declaring a Table with a sequence
15.90. Example of declaring a Table with a natural key
15.91. Example of updating rows in a Table
15.92. Example of deleting rows from a Table
15.93. Example of finding rows by primary key values
15.94. Example of finding rows by compound primary key values
15.95. Simple usage
15.96. Example of fluent interface
15.97. Example of finding rows by an expression
15.98. Example of finding rows by an expression
15.99. Retrieving specific columns
15.100. Retrieving expressions as columns
15.101. Using a lookup table to refine the results of fetchAll()
15.102. Removing the integrity check on Zend_Db_Table_Select to allow JOINed rows
15.103. Example of finding a single row by an expression
15.104. Example of getting the table name
15.105. Using a Default Metadata Cache for all Table Objects
15.106. Using a Metadata Cache for a Specific Table Object
15.107. Example of specifying the Row and Rowset classes
15.108. Example of changing the Row and Rowset classes
15.109. Custom logic to manage timestamps
15.110. Custom method to find bugs by status
15.111. Example of an abstract table class that implements inflection
15.112. Example of fetching a row
15.113. Example of reading a row in a rowset
15.114. Example of reading a column in a row
15.115. Example of using the toArray() method
15.116. Example of changing a column in a row
15.117. Example of creating a new row for a table
15.118. Example of populating a new row for a table
15.119. Example of using setFromArray() to set values in a new Row
15.120. Example of deleting a row
15.121. Example of serializing a row
15.122. Example of unserializing a serialized row
15.123. Example of reactivating a row
15.124. Specifying a custom Row class
15.125. Example usage of init() method
15.126. Example of custom logic in a Row class
15.127. Example of a Row class that logs insert data for multiple tables
15.128. Example of defining an inflection transformation
15.129. Example of fetching a rowset
15.130. Counting the Rows in a Rowset
15.131. Reading a Single Row from a Rowset
15.132. Iterating through a Rowset
15.133. Seeking to a known position into a Rowset
15.134. Using toArray()
15.135. Serializing a Rowset
15.136. Unserializing a Serialized Rowset
15.137. Reactivating a Rowset as Live Data
15.138. Specifying a custom Rowset class
15.139. Example of Rowset class with a new method
15.140. Fetching a Dependent Rowset
15.141. Fetching a Dependent Rowset By a Specific Rule
15.142. Fetching a Dependent Rowset using a Zend_Db_Table_Select
15.143. Fetching Dependent Rowsets using the Magic Method
15.144. Fetching the Parent Row
15.145. Fetching a Parent Row By a Specific Rule
15.146. Fetching the Parent Row using the Magic Method
15.147. Fetching a Rowset with the Many-to-many Method
15.148. Fetching a Rowset with the Many-to-many Method By a Specific Rule
15.149. Fetching Rowsets using the Magic Many-to-many Method
15.150. Example of a Cascading Delete
15.151. Example Declaration of Cascading Operations
16.1. Example of dump() method
17.1. Zend_Dojo_Data initialization via constructor
17.2. Zend_Dojo_Data initialization via mutators
17.3. Appending data to Zend_Dojo_Data
17.4. Specifying a label field in Zend_Dojo_Data
17.5. Populating Zend_Dojo_Data from JSON
17.6. Using Dojo View Helpers
17.7. dojo() View Helper Usage Example
17.8. Specifying Declarative and Programmatic Dojo Usage
17.9. Registering the Dojo View Helper Prefix Path
17.10. BorderContainer layout dijit example
17.11. Using CustomDijit to render a dojox.layout.ContentPane
17.12. Enabling Dojo in your existing forms
17.13. DijitElement Decorator Usage
17.14. DijitContainer Decorator Usage
17.15. Example Button dijit element usage
17.16. Example CheckBox dijit element usage
17.17. ComboBox dijit element usage as select input
17.18. ComboBox dijit element usage with datastore
17.19. Example CurrencyTextBox dijit element usage
17.20. Example DateTextBox dijit element usage
17.21. Example Editor dijit element usage
17.22. Example HorizontalSlider dijit element usage
17.23. Example NumberSpinner dijit element usage
17.24. Example NumberTextBox dijit element usage
17.25. Example PasswordTextBox dijit element usage
17.26. Example RadioButton dijit element usage
17.27. Example SimpleTextarea dijit element usage
17.28. Example SubmitButton dijit element usage
17.29. Example TextBox dijit element usage
17.30. Example Textarea dijit element usage
17.31. Example TimeTextBox dijit element usage
17.32. Example ValidationTextBox dijit element usage
17.33. Example VerticalSlider dijit element usage
17.34. Using Zend_Dojo_Form
17.35. Modifying an existing form to utilize Dojo
19.1. Catching an Exception
20.1. Putting Zend_Feed to Work on RSS Feed Data
20.2. Basic Use of an Atom Feed
20.3. Reading a Single-Entry Atom Feed
20.4. Using the Entry Object Directly for a Single-Entry Atom Feed
20.5. Modifying an Existing Feed Entry
20.6. Creating an Atom Entry with Elements of Custom Namespaces
20.7. Extending the Atom Entry Class with Custom Namespaces
21.1. Simple Form for Uploading Files
21.2. Checking Files
21.3. Getting the Filename
21.4. Getting the size of a file
21.5. Getting the hash of a file
21.6. Getting the mimetype of a file
21.7. Using the progressbar adapter to retrieve the actual state
21.8. Manual usage of the file progress
21.9. Add Validators to a File Transfer Object
21.10. Limit Validators to Single Files
21.11. Add Multiple Validators
21.12. Validate the Files
21.13. Using the Count Validator
21.14. Using the Crc32 Validator
21.15. Using the ExcludeExtension Validator
21.16. Using the ExcludeMimeType Validator
21.17. Using the Exists Validator
21.18. Using the Extension Validator
21.19. Using the FilesSize Validator
21.20. Using the ImageSize Validator
21.21. Using the IsCompressed Validator
21.22. Using the IsImage Validator
21.23. Using the Hash Validator
21.24. Using the Md5 Validator
21.25. Using the MimeType Validator
21.26. Using the NotExists Validator
21.27. Using the sha1 Validator
21.28. Using the Size Validator
21.29. Using the WordCount Validator
21.30. Add filters to a file transfer
21.31. Limit filters to single files
21.32. Add multiple filters
21.33. Using the Decrypt filter with Mcrypt
21.34. Using the Decrypt filter with OpenSSL
21.35. Using the Encrypt filter with Mcrypt
21.36. Using the Encrypt filter with OpenSSL
21.37. Using the LowerCase filter
21.38. Using the Rename filter
21.39. Using the UpperCase filter
21.40. Changes for the rename filter from 1.6 to 1.7
21.41. Changes for the count validator from 1.6 to 1.7
21.42. Changes for the extension validator from 1.6 to 1.7
21.43. Changes for the filessize validator from 1.6 to 1.7
21.44. Changes for the hash validator from 1.6 to 1.7
21.45. Changes for the imagesize validator from 1.6 to 1.7
21.46. Changes for the size validator from 1.6 to 1.7
21.47. How to change your file validators from 1.6.1 to 1.6.2
22.1. Transforming MixedCase and camelCaseText to another format
22.2. Setting Multiple Rules at Once
22.3. Using Zend_Config with Zend_Filter_Inflector
23.1. Custom Label
23.2. Setting Prefix Paths for All Elements
23.3. Setting Decorators for All Elements
23.4. Setting Decorators for Some Elements
23.5. Setting Filters for All Elements
23.6. Setting Decorator Prefix Path for All Display Groups
23.7. Setting Decorators for All Display Groups
23.8. File form element usage
23.9. Explicit file retrievement
23.10. Checking if an optional file has been uploaded
23.11. Setting multiple files
23.12. Registration Form Example
24.1. Passing a Developer Key and ClientID to Zend_Gdata_YouTube
24.2. Searching for videos
24.3. Searching for videos in specific categories
24.4. Retrieving a standard video feed
24.5. Using a Zend_Gdata_YouTube_VideoQuery to Retrieve Videos
24.6. Retrieving a video feed by URL
24.7. Retrieving videos uploaded by a specific user
24.8. Retrieving a user's favorite videos
24.9. Retrieving a feed of video responses
24.10. Retrieving a feed of video comments from a video ID
24.11. Retrieving a Feed of Video Comments from a Zend_Gdata_YouTube_VideoEntry
24.12. Retrieving the playlists of a user
24.13. Retrieving a specific playlist
24.14. Retrieving all subscriptions for a user
24.15. Retrieving a user's profile
24.16. Uploading a video
24.17. Browser-based upload
24.18. Browser-based upload: Creating the HTML form
24.19. Checking video upload status
25.1. Instantiating a Zend_Http_Client Object
25.2. Performing a Simple GET Request
25.3. Using Request Methods Other Than GET
25.4. Setting GET Parameters
25.5. Setting POST Parameters
25.6. Forcing RFC 2616 Strict Redirections on 301 and 302 Responses
25.7. Setting Cookies Using setCookie()
25.8. Enabling Cookie Stickiness
25.9. Setting A Single Custom Request Header
25.10. Setting Multiple Custom Request Headers
25.11. Using setFileUpload to Upload Files
25.12. Sending Raw POST Data
25.13. Setting HTTP Authentication User and Password
25.14. Performing consecutive requests with one client
25.15. Changing the HTTPS transport layer
25.16. Using Zend_Http_Client behind a proxy server
25.17. Testing Against a Single HTTP Response Stub
25.18. Testing Against Multiple HTTP Response Stubs
25.19. Setting cURL options
25.20. Transfering Files by Handle
25.21. Creating your own connection adapter
25.22. Instantiating a Zend_Http_Cookie object
25.23. Stringifying a Zend_Http_Cookie object
25.24. Using getter methods with Zend_Http_Cookie
25.25. Matching cookies
25.26. Instantiating a Zend_Http_Response Object Using the Factory Method
25.27. Using the isError() method to validate a response
25.28. Using Zend_Http_Response Accessor Methods
25.29. Accessing Response Headers
27.1. Zend_Json_Server Usage
28.1. Passing options to the constructor or startMvc()
28.2. Using setOption() and setConfig()
28.3. Using Accessors
28.4. Using Zend_Layout accessors to modify the inflector
28.5. Direct modification of Zend_Layout inflector
28.6. Custom inflectors
30.1. Example of the loadFile() Method
30.2. Example of the loadClass() Method
30.3. Example of isReadable() method
30.4. Example of registering the autoloader callback method
30.5. Example of registering the autoload callback method from an extended class
30.6. Using the PluginLoader class file include cache
31.1. Choosing a specific locale
31.2. Automatically selecting a locale
31.3. Using automatic locales
31.4. Handling locale exceptions
31.5. Setting a default locale
31.6. Dates default to correct locale of web users
31.7. Overriding default locale selection
31.8. Performance optimization when using a default locale
31.9. Usage of an application wide locale
31.10. Dates default to correct locale of web users
31.11. Using STANDARD definitions for setOptions()
31.12. clone
31.13. Check for equal locales
31.14. Get default locales
31.15. setLocale
31.16. getLanguage and getRegion
31.17. getTranslationList
31.18. getTranslationList
31.19. Converting country name in one language to another
31.20. All Languages written in their native language
31.21. getQuestion()
31.22. getLocaleList()
31.23. Simple locale detection
31.24. Strict locale detection
31.25. Implement locale aware behaviour
31.26. Locale aware behaviour as with ZF 1.8
31.27. Number normalization
31.28. Number normalization with precision
31.29. Number localization
31.30. Number localization with precision
31.31. Using a self defined number format
31.32. Number testing
31.33. Floating point value normalization
31.34. Floating point value localization
31.35. Floating point value testing
31.36. Integer value normalization
31.37. Integer value localization
31.38. Integer value testing
31.39. Converting numerals from Eastern Arabic scripts to European/Latin scripts
31.40. Converting numerals from Latin script to Eastern Arabic script
31.41. Getting 4 letter CLDR script code using a native-language name of the script
31.42. Normalizing a date
31.43. Normalizing a date by locale
31.44. Normalizing a date with time
31.45. Normalizing a userdefined date
31.46. Automatic correction of input dates
31.47. Date testing
31.48. Normalize an unknown time
31.49. Testing a time
31.50. How to change isLocale() from 1.6 to 1.7
31.51. How to change getDefault() from 1.6 to 1.7
32.1. Logging with Zend_Controller_Front
32.2. Logging without Zend_Controller_Front
33.1. Simple E-Mail with Zend_Mail
33.2. Passing additional parameters to the Zend_Mail_Transport_Sendmail transport
33.3. Sending E-Mail via SMTP
33.4. Sending Multiple Mails per SMTP Connection
33.5. Manually controlling the transport connection
33.6. Using Different Transports
33.7. Sending HTML E-Mail
33.8. E-Mail Messages with Attachments
33.9. Changing the MIME Boundary
33.10. Adding E-Mail Message Headers
33.11. Enabling authentication within Zend_Mail_Transport_Smtp
33.12. Enabling a secure connection within Zend_Mail_Transport_Smtp
34.1. Converting measurements
34.2. The meter measurement
34.3. Creation using integer and floating values
34.4. Creation using strings
34.5. Arbitrary text input containing measurements
34.6. Localized string
34.7. Automatic output
34.8. Output a value
34.9. Outputting units
34.10. Convert
34.11. Adding units
34.12. Subtract
34.13. Different measurements
34.14. Identical measurements
34.15. Difference
34.16. Changing a value
34.17. Changing the type
35.1. Using Zend_Memory component
37.1. Custom page properties
37.2. getHref() generates the page URI
37.3. isActive() determines if page is active
37.4. Using routes
37.5. The most simple custom page
37.6. A custom page with properties
37.7. Creating an MVC page using the page factory
37.8. Creating a URI page using the page factory
37.9. Creating a custom page type using the page factory
37.10. Creating a container using an array
37.11. Creating a container using a config object
37.12. Adding pages to a container
37.13. Removing pages from a container
37.14. Finding pages in a container
37.15. Iterating a container
37.16. Converting a container to an array
38.1. The Simple OpenID Login form
38.2. The Authentication Request Handler
38.3. The Authentication Response Verifier
38.4. The Complete OpenID Login Script
38.5. Authentication Request for Specified Realm
38.6. Immediate Check without Interaction
38.7. Database Storage
38.8. Sending Requests with a Simple Registration Extension
38.9. Verifying Responses with a Simple Registration Extension
38.10. Zend_Auth Adapter for OpenID
38.11. The Identity
38.12. Simple Identity Provider
38.13. Simple Login Screen
38.14. Simple Trust Screen
38.15. Everything Together
38.16. Identity with Profile
38.17. Provider with SREG
40.1. Create new or load existing PDF document
40.2. Requesting Specific Revisions of a PDF Document
40.3. Saving PDF Documents
40.4. PDF document pages management
40.5. Cloning existing page
40.6. Draw a string on the page
40.7. Draw a UTF-8-encoded string on the page
40.8. Create a standard font
40.9. Create a TrueType font
40.10. Create a TrueType font, but do not embed it in the PDF document
40.11. Do not throw an exception for fonts that cannot be embedded
40.12. Do not compress an embedded font
40.13. Combining font embedding options
40.14. Combining font embedding options
40.15. Extracting fonts from a loaded document
40.16. Extracting font from a loaded document by specifying font name
40.17. Image drawing
40.18. Zend_Pdf module usage demo
41.1. Basic example for the client-side stuff
42.1. Performing reflection on a file
42.2. Performing reflection on a class
42.3. Performing reflection on a method
42.4. Performing reflection on a docblock
43.1. Example of set() Method Usage
43.2. Example of get() Method Usage
43.3. Example of Iterating over the Registry
43.4. Example of Constructing a Registry
43.5. Example of Initializing the Singleton Registry
43.6. Example of Array Access
43.7. Example of Object Access
43.8. Example of isRegistered() Method Usage
43.9. Example of isset() Method Usage
43.10. Example of Specifying the Singleton Registry's Class Name
43.11. Example of _unsetInstance() Method Usage
44.1. A basic REST request
44.2. Response Status
44.3. Using Technorati's Rest Service
44.4. Example Technorati Response
44.5. Setting Request Arguments
44.6. Basic Zend_Rest_Server Usage - Classes
44.7. Basic Zend_Rest_Server Usage - Functions
44.8. Returning Custom Status
44.9. Return Custom XML
45.1. Custom text Analyzer
47.1. isSpam() Usage
47.2. submitSpam() Usage
47.3. submitHam() Usage
47.4. Search Amazon Using the Traditional API
47.5. Search Amazon Using the Query API
47.6. Choosing an Amazon Web Service Country
47.7. Looking up a Specific Amazon Item by ASIN
47.8. Performing Amazon Item Searches
47.9. Using the ResponseGroup Option
47.10. Search Amazon Using the Alternative Query API
47.11. setKeys() Example
47.12. setRegion() Example
47.13. Starting New Ec2 Instances
47.14. Rebooting an Ec2 Instances
47.15. Terminating an Ec2 Instances
47.16. Describing Instances
47.17. Describing Instances By Image Id
47.18. Retreiving Console Output
47.19. Confirm Product Code on an Instance
47.20. Register an AMI with EC2
47.21. Deregister an AMI with EC2
47.22. Describe an AMI
47.23. Modify Image Attributes
47.24. Reset an AMI Attribute
47.25. Describe AMI Attribute
47.26. Create a new EBS Volume
47.27. Create an EBS Volume from a Snapshot
47.28. Create a Snapshot of an EBS Volume
47.29. Describing an EBS Volume
47.30. Describe Attached Volumes
47.31. Describe an EBS Volume Snapshot
47.32. Attaching an EBS Volume
47.33. Detaching an EBS Volume
47.34. Deleting an EBS Volume
47.35. Deleting an EBS Volume Snapshot
47.36. Allocating a new Elastic IP
47.37. Describing Allocated Elastic IP Addresses
47.38. Releasing Elastic IP
47.39. Associates an Elastic IP to an Instance
47.40. Disassociate an Elastic IP from an instance
47.41. Creating a new Amazon Keypair
47.42. Deleting an Amazon Keypair
47.43. Describe an Amazon Keypair
47.44. Viewing the available regions
47.45. Viewing the available zones
47.46. Create a new Security Group
47.47. Describe a Security Group
47.48. Delete a Security Group
47.49. Authorizing by IP
47.50. Authorize By Group
47.51. Revoke by IP
47.52. Revoke By Group
47.53. Zend_Service_Amazon_S3 Usage Example
47.54. Zend_Service_Amazon_S3 Bucket Removal Example
47.55. Zend_Service_Amazon_S3 Bucket Listing Example
47.56. Zend_Service_Amazon_S3 Public Object Example
47.57. Zend_Service_Amazon_S3 Object Listing Example
47.58. Zend_Service_Amazon_S3 Streams Example
47.59. Retrieving User Profile Information
47.60. Retrieving a User's Weekly Artist Chart
47.61. Retrieving Related Artists
47.62. Get all posts
47.63. Accessing post lists
47.64. Filtering a Post List with Specific Tags
47.65. Filtering a Post List by URL
47.66. Post editing
47.67. Method call chaining
47.68. Deleting posts
47.69. Adding a post
47.70. Tags
47.71. Bundles
47.72. Retrieving public data
47.73. Changing the HTTP client of Zend_Rest_Client
47.74. Configuring your HTTP client to keep connections alive
47.75. Simple Flickr Photo Search
47.76. Finding a Flickr User's Public Photos by E-Mail Address
47.77. Retrieving a Group's Pool Photos by Group ID
47.78. Retrieving Flickr Image Details
47.79. Querying Links
47.80. Modifying Links
47.81. Working With Tags
47.82. Working With Notes
47.83. Retrieving Watchlists
47.84. Sending your first query
47.85. Refining your query
47.86. Sending multiple queries with the same Zend_Service_Technorati instance
47.87. Consuming a result set object
47.88. Seeking a specific result set object
47.89. Consuming a standalone result object
47.90. Handling a Query Exception
47.91. Getting API key daily usage information
47.92. Cosmos Query
47.93. Search Query
47.94. Tag Query
47.95. DailyCounts Query
47.96. TopTags Query
47.97. BlogInfo Query
47.98. BlogPostTags Query
47.99. GetInfo Query
47.100. Iterating result objects from a resultset collection
47.101. Creating the Twitter Class
47.102. Verifying credentials
47.103. Sessions ending
47.104. Rating limit status
47.105. Retrieving public timeline
47.106. Retrieving friends timeline
47.107. Retrieving user timeline
47.108. Showing user status
47.109. Updating user status
47.110. Showing user replies
47.111. Deleting user status
47.112. Retrieving user friends
47.113. Retrieving user followers
47.114. Showing user informations
47.115. Retrieving recent direct messages received
47.116. Retrieving recent direct messages sent
47.117. Sending direct message
47.118. Deleting direct message
47.119. Creating friend
47.120. Deleting friend
47.121. Checking friend existence
47.122. Retrieving favorites
47.123. Creating favorites
47.124. Deleting favorites
47.125. JSON Search Example
47.126. ATOM Search Example
47.127. Searching the Web with Yahoo!
47.128. Finding Images with Yahoo!
47.129. Finding videos with Yahoo!
47.130. Finding Local Businesses and Services with Yahoo!
47.131. Searching Yahoo! News
47.132. Searching Yahoo! Site Explorer Inbound Links
47.133. Searching Yahoo! Site Explorer's PageData
48.1. Counting Page Views
48.2. New Way: Namespaces Avoid Collisions
48.3. Old Way: PHP Session Access
48.4. Session Iteration
48.5. Accessing Session Data
48.6. Starting the Global Session
48.7. Locking Session Namespaces
48.8. Expiration Examples
48.9. Namespaced Sessions for Controllers with Automatic Expiration
48.10. Limiting Session Namespace Access to a Single Instance
48.11. Modifying Array Data with a Session Namespace
48.12. Building Arrays Prior to Session Storage
48.13. Workaround: Reassign a Modified Array
48.14. Workaround: store array containing reference
48.15. PHPUnit Testing Code Dependent on Zend_Session
48.16. Using Zend_Config to Configure Zend_Session
48.17. Session Fixation
48.18. Basic Setup
48.19. Using a Multi-Column Primary Key
50.1. Using Zend_Tag
50.2. Using Zend_Tag_Cloud
51.1. Application Login TestCase example
51.2. Testing a UserController
52.1. Using Zend_Text_Figlet
52.2. Using Zend_Text_Table
56.1. Example of single-language PHP code
56.2. Example of multi-lingual PHP code
56.3. Example TMX file
56.4. Example CSV file
56.5. Second CSV file example
56.6. Example INI file
56.7. Using translation options
56.8. Handling languages with adapters
56.9. Automatically language detection
56.10. Scanning a directory structure for sources
56.11. Directory scanning for languages
56.12. Filename scanning for languages
56.13. Checking if a text is translatable
56.14. Log translations
56.15. Self defined log messages
56.16. Handling languages with adapters
56.17. Setting languages without getting notices
57.1. Creating a New URI with Zend_Uri::factory()
57.2. Manipulating an Existing URI with Zend_Uri::factory()
57.3. URI Validation with Zend_Uri::check()
57.4. Allowing special characters in URIs
57.5. Getting the Scheme from a Zend_Uri_* Object
57.6. Getting the Entire URI from a Zend_Uri_* Object
57.7. Validating a Zend_Uri_* Object
58.1. Sitemap Lastmod Validator
58.2. Sitemap Priority Validator
58.3. Creating a Simple Validation Class
58.4. Writing a Validation Class having Dependent Conditions
58.5. Validation with Independent Conditions, Multiple Reasons for Failure
59.1. Example of the compareVersion() Method
60.1. Basic Usage of Action View Helper
60.2. Cycle Helper Basic Usage
60.3. Working with two or more cycles
60.4. Basic Usage of Partials
60.5. Using PartialLoop to Render Iterable Models
60.6. Rendering Partials in Other Modules
60.7. Basic Usage of Placeholders
60.8. Using Placeholders to Aggregate Content
60.9. Using Placeholders to Capture Content
60.10. Doctype Helper Basic Usage
60.11. Retrieving the Doctype
60.12. HeadLink Helper Basic Usage
60.13. HeadMeta Helper Basic Usage
60.14. Headscript With Conditional Comments
60.15. HeadScript Helper Basic Usage
60.16. Capturing Scripts Using the HeadScript Helper
60.17. Headstyle With Conditional Comments
60.18. HeadStyle Helper Basic Usage
60.19. Capturing Style Declarations Using the HeadStyle Helper
60.20. HeadTitle Helper Basic Usage
60.21. Flash helper
60.22. Customizing the object by passing additional arguments
60.23. Proxying calls to the navigation container
60.24. Rendering breadcrumbs
60.25. Specifying indentation
60.26. Customize breadcrumbs output
60.27. Rendering breadcrumbs using a partial view script
60.28. Specify relations in pages
60.29. Default rendering of links
60.30. Specify which relations to render
60.31. Rendering a menu
60.32. Calling renderMenu() directly
60.33. Rendering the deepest active menu
60.34. Rendering a menu with maximum depth
60.35. Rendering a menu with minimum depth
60.36. Rendering only the active branch of a menu
60.37. Rendering only the active branch of a menu with minimum depth
60.38. Rendering only the active branch of a menu with maximum depth
60.39. Rendering only the active branch of a menu with maximum depth and no parents
60.40. Rendering a custom menu using a partial view script
60.41. Rendering an XML sitemap
60.42. Registered instance
60.43. Within the view
60.44. Direct usage
60.45. Single parameter
60.46. List of parameters
60.47. Array of parameters
60.48. Change locale dynamically
60.49. Change locale statically
60.50. Get the currently set locale
62.1. XML-RPC Method Call
62.2. XML-RPC Method Call with Parameters
62.3. Proxy the Default Namespace
62.4. Proxy Any Namespace
62.5. Handling HTTP Errors
62.6. Handling XML-RPC Faults
62.7. Processing Request to Response
C.1. Example: Optimized include_path