Zend Framework: Surviving The Deep End

Table of Contents

1. Introduction
1.1. The Zend Framework
1.2. About This Book
1.2.1. Obtaining The Source Code For Chapters
1.3. Me, Me, Me!
1.4. You, You, You!
2. The Architecture of Zend Framework Applications
2.1. Introduction
2.2. The Model-View-Controller
2.2.1. The View
2.2.2. The Controller
2.2.3. The Model
2.3. In Review
2.4. Conclusion
3. The Model
3.1. Introduction
3.2. Clarifying The Model
3.3. In Programming, Fat Models Are Preferable To Size Zero Models
3.4. The Fat Stupid Ugly Controller
3.5. Controllers Are Not The Data Police
3.6. Conclusion
4. Installing The Zend Framework
4.1. Introduction
4.2. Before You Install The Framework
4.3. Getting The Zend Framework
4.3.1. Download As Compressed Archive File
4.3.2. Checkout From Subversion
4.3.3. Download As A Linux Distribution Package
4.3.4. Nightly Build Download
4.4. Post Installation
5. A Not So Simple Hello World Tutorial
5.1. Introduction
5.2. Step 1: Creating A New Local Domain
5.3. Step 2: Creating A Project Directory Structure
5.4. Step 3: Implement Application Bootstrapping
5.5. Step 4: The Only Way In, The Index File
5.6. Step 5: Adding A Default Controller and View
5.7. Conclusion
6. Standardise The Bootstrap Class With Zend_Application
6.1. Introduction
6.2. Step 1: Editing the ZFExt_Bootstrap Class
6.3. Step 2: Editing The Index and htaccess Files
6.4. Step 3: Adding The Application Configuration File
6.5. Step 4: Handling Setting Of Standard Component Defaults
6.6. Step 5: Fixing ZFExt_Bootstrap
6.7. Step 6: Integrating Application Configuration Into Resource Methods
6.8. Step 7: Optimising Autoloading Code
6.9. Allowing Zend_Loader_Autoload Load Namespaced Classes
6.10. Conclusion
7. Handling Application Errors Gracefully
7.1. Introduction
7.2. The ErrorController and Error View
7.3. Well, That Didn't Work...
7.4. Not All Errors Are Equal
7.5. Conclusion
8. Developing A Blogging Application
8.1. Introduction
8.2. Planning
8.3. Incremental Development and YAGNI
8.4. Checking Our Toolbox
8.5. This Is Not The Reference Guide
9. Implementing The Domain Model: Entries and Authors
9.1. Introduction
9.2. The Domain Model and Database Access Patterns
9.3. Exploring The Domain Objects
9.4. Exploring The Entry Data Mapper
9.5. Assessing Implementation Tools
9.5.1. Domain Objects
9.5.2. Validation And Filtering Rules
9.5.3. Database Access
9.6. Implementation
9.6.1. Adding Unit Tests For Execution
9.6.2. The Domain Objects
9.6.3. The Data Mappers
9.6.4. Lazy Loading Domain Objects
9.6.5. Preventing Duplicate Entities With An Identity Map
9.7. Conclusion
10. Setting The Design With Zend_View, Zend_Layout, HTML 5 and Yahoo! User Interface Library
10.1. Introduction
10.2. Zend_View: Object Oriented Templating
10.2.1. Layouts
10.2.2. Partials
10.2.3. View Helpers
10.2.4. Placeholders
10.2.5. Short Tags vs Full Tags
10.3. The ZFBlog Application Setup
10.4. Creating An Index Page With HTML 5
10.5. Extracting Static Markup Into A Layout
10.6. Replacing Changeable Elements With Placeholders
10.7. Improving HTML 5 Support With Custom View Helpers
10.8. Adding A Link To A Custom Stylesheet
10.9. Customising The Style
10.10. Conclusion
A. Creating A Local Domain Using Apache Virtual Hosts
A.1. Introduction
A.2. Configuring Apache With Virtual Hosts
A.3. Configuring Local HOSTS File
A.4. Conclusion
B. Performance Optimisation For Zend Framework Applications
B.1. Introduction
B.2. Avoid Premature Optimisation
B.3. Measuring Performance
B.3.1. Memory and CPU Measurement
B.3.2. Requests Per Second
B.4. Pinpointing The Cause Of Poor Performance
B.4.1. Code Profiling
B.4.2. Database Operations Analysis
B.5. General PHP Optimisation
B.5.1. Opcode Caching
B.5.2. Realpath Cache
B.6. General Zend Framework Optimisation
B.6.1. Class Loading Optimisation
B.6.2. Configuring Default Caches
B.6.3. Cache At The Right Level
B.6.4. Minimising Include Paths
B.7. HTTP Server Optimisation
B.7.1. Optimising Apache's Configuration
B.7.2. Avoiding Apache Completely
B.8. Conclusion
C. Copyright Information
C.1. Copyright
C.2. Licensing

Powered by jQuery Powered by Zend Framework Powered by Nginx Http Server