
Pro PHP MVC
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Model View Controller (MVC) is becoming the definitive architecture of website development frameworks due to the stability, extensibility and predictability it lends to development. It is not just the primary separation of database, business logic and interface components, but includes a wide range of considerations for building high-performing, scalable and secure applications.
Deciding which MVC framework best suits the project you are about to begin is one of the biggest challenges you'll face as a developer. If you are part of a team, this decision has probably already been made for you; but in any event, you'll need to know how (and why) the framework authors made it work the way it does.
Pro PHP MVC looks at the building blocks that make any good MVC framework, and how they apply to PHP. It exposes all considerations that many developers take for granted when using a popular framework, and teaches you how to make the framework your own.
Over the course of reading this book, you will learn the theoretical implications of the choices you would make when writing your own MVC framework, and how to put the pieces together in a cohesive package. We take a look at the highly modular Zend Framework-how to use its collection of loosely coupled classes to build a unified system. We also look at CakePHP, learning from its automated build system (Bakery) and highly intuitive approach to rapid development. This book will lay bare all the secret parts of MVC for you.
More details
Other editions
Additional editions

Person
Content
- Title Page
- Copyright Page
- Table of Contents
- About the Author
- About the Technical Reviewer
- Acknowledgments
- Introduction
- Who This Book Is For
- What This Book Won't Teach You
- What This Book Will Teach You
- Source Code
- CHAPTER 1 Introduction to MVC
- What Is MVC?
- Benefits of MVC
- Popular MVC Frameworks
- CodeIgniter
- Zend Framework
- CakePHP
- Design Patterns
- Singleton
- Registry
- Factory
- Observer
- Creating Our Own Framework
- Goals
- CHAPTER 2 Foundation
- Goals
- Autoloading
- Namespaces
- Lazy Loading
- Exceptions
- Type Methods
- Metadata
- Questions
- Answers
- Exercises
- CHAPTER 3 Base Class
- Goals
- Getters and Setters
- Magic Methods
- Adding Introspection
- Transparent Getters/Setters
- Questions
- Answers
- Exercises
- CHAPTER 4 Configuration
- Goals
- Associative Arrays
- INI Files
- Questions
- Answers
- Exercises
- CHAPTER 5 Caching
- Goals
- Performance Bottlenecks
- The Code
- Questions
- Answers
- Exercises
- CHAPTER 6 Registry
- Goals
- Singleton
- Registry
- Questions
- Answers
- Exercises
- CHAPTER 7 Routing
- Goals
- Defining Routes
- Route Classes
- Router Class
- Questions
- Answers
- Exercises
- CHAPTER 8 Templates
- Goals
- Idea
- Alternatives
- Implementation
- Benefits
- Questions
- Answers
- Exercises
- CHAPTER 9 Databases
- Goals
- Implementation
- Connectors
- Queries
- Questions
- Answers
- Exercises
- CHAPTER 10 Models
- Goals
- Idea
- Implementation
- Building the SQL
- Modifying Records
- No Relation of Mine!
- Questions
- Answers
- Exercises
- CHAPTER 11 Testing
- Goals
- Unit Testing
- Test Class
- Cache
- Coverage
- Tests
- Configuration
- Coverage
- Tests
- Database
- Coverage
- Tests
- Model
- Coverage
- Tests
- Template
- Coverage
- Tests
- Holy Code, Batman!
- Questions
- Answers
- Exercises
- CHAPTER 12 Structure
- Goals
- Database
- Folders
- Questions
- Answers
- CHAPTER 13 Bootstrapping
- Goals
- When a File Is Not a File.
- URL Rewriting
- Index.php
- Configuration
- Database
- Cache
- Controller
- Views
- Rendering
- Questions
- Answers
- Exercises
- CHAPTER 14 Registration and Login
- Goals
- Shared Libraries
- User Model
- Registration
- Sessions
- Login
- Questions
- Answers
- Exercises
- CHAPTER 15 Search
- Goals
- Extended Implementation
- URL Requests
- Search
- Questions
- Answers
- Exercises
- CHAPTER 16 Settings
- Goals
- Validation
- Validate As Required
- Settings
- Questions
- Answers
- Exercises
- CHAPTER 17 Sharing
- Goals
- Error Pages
- Friends
- Sharing
- Questions
- Answers
- Exercises
- CHAPTER 18 Photos
- Goals
- How to Upload Files
- User Photos
- Showing Off, a Little
- Questions
- Answers
- Exercises
- CHAPTER 19 Extending
- Goals
- Foxy
- Custom CSS Fonts
- Building the Proxy
- Using the Proxy
- Imagine
- Observer
- Synchronicity
- Code
- Events
- Plugins
- Questions
- Answers
- Exercises
- CHAPTER 20 Administration
- Goals
- What Is a CMS?
- Administrators
- Login
- Users
- Photos
- Questions
- Answers
- Exercises
- CHAPTER 21 Testing
- Goals
- Questions
- Answers
- Exercises
- CHAPTER 22 CodeIgniter: Bootstrapping
- Goals
- Why CodeIgniter?
- Why Not CodeIgniter?
- URL Rewriting
- Routes
- Questions
- Answers
- Exercises
- CHAPTER 23 CodeIgniter: MVC
- Goals
- Differences
- Models
- Controllers
- Questions
- Answers
- Exercises
- CHAPTER 24 CodeIgniter: Extending
- Goals
- File Uploads
- Third-Party Libraries
- Extending the Core
- Questions
- Answers
- Exercises
- CHAPTER 25 CodeIgniter: Testing
- Goals
- Tools
- The Alternative
- Questions
- Answers
- Exercises
- CHAPTER 26 Zend Framework: Bootstrapping
- Goals
- Why Zend Framework?
- Why Not Zend Framework?
- Getting Set Up
- Routes
- Questions
- Answers
- Exercises
- CHAPTER 27 Zend Framework: MVC
- Goals
- The Differences
- Models
- Controllers
- Questions
- Answers
- Exercises
- CHAPTER 28 Zend Framework: Extending
- Goals
- File Uploads
- Third-Party Libraries
- Questions
- Answers
- Exercises
- CHAPTER 29 Zend Framework: Testing
- Goals
- Installing PEAR
- Windows
- Unix/Linux/BSD
- Mac OS X
- Installing PHPUnit
- Running the Tests
- Adding Tests
- Questions
- Answers
- CHAPTER 30 CakePHP: Bootstrapping
- Goals
- Why CakePHP?
- Why Not CakePHP?
- Getting Set Up
- Routes
- Questions
- Answers
- Exercises
- CHAPTER 31 CakePHP: MVC
- Goals
- What's in a Model?
- Controllers
- Finishing Up
- Questions
- Answers
- Exercises
- CHAPTER 32 CakePHP: Extending
- Goals
- File Uploads
- Third-Party Libraries
- Questions
- Answers
- Exercises
- CHAPTER 33 CakePHP: Testing
- Goals
- Testing
- Questions
- Answers
- Exercises
- APPENDIX A Setting Up a Web Server
- Goals
- Windows
- Step 1
- Naughty Skype!
- Configuring Apache/PHP
- Step 2
- What Is MSVCP71.dll?
- Step 3
- Linux
- Step 1
- Step 2
- Step 3
- Step 4
- MAC OS X
- Step 1
- Step 2
- What If wget Is Missing?
- Step 3
- You Passed, with Flying Colors!
- Index
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.