Home > Store > Programming > PHP

PHP 5 Power Programming

Register your product to gain access to bonus material or receive a coupon.

PHP 5 Power Programming

Book

  • Your Price: $39.19
  • List Price: $48.99
  • Usually ships in 24 hours.

Description

  • Copyright 2005
  • Dimensions: 7x9-1/4
  • Pages: 720
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-147149-X
  • ISBN-13: 978-0-13-147149-8

"This book, written by my colleague, Andi Gutmans, and two very prominent PHP developers, Stig Bakken and Derick Rethans, holds the key to unlocking the riches of PHP 5. It thoroughly covers all of the features of this new version, and is a must have for all PHP developers interested in exploring PHP 5's advanced features"

—Zeev Suraski, Co-Designer of PHP 5 and Co-Creator of the Zend Engine

  • Expert PHP 5 programming techniques, direct from PHP 5 co-creator and key developers
  • Definitive coverage of the PHP object model, design patterns, XML/SOAP integration, and more
  • Solid introduction and expert insights into performance tuning, PEAR, extensions, and database access
  • The definitive introduction to PHP 5's advanced features!
  • The definitive introduction for today's most powerful PHP 5 techniques

In this book, PHP 5's co-creator and two leading PHP developers show you how to make the most of PHP 5's industrial-strength enhancements in any project—no matter how large or complex. Their unique insights and realistic examples illuminate PHP 5's new object model, powerful design patterns, improved XML Web services support, and much more. Whether you're creating web applications, extensions, packages, or shell scripts—or migrating PHP 4 code—here are high-powered solutions you won't find anywhere else.

Review PHP's syntax and master its object-oriented capabilities—from properties and methods to polymorphism, interfaces, and reflection

  • Master the four most important design patterns for PHP development
  • Write powerful web applications: handle input, cookies, session extension, and more
  • Integrate with MySQL, SQLite, and other database engines
  • Provide efficient error handling that's transparent to your users
  • Leverage PHP 5's improved XML support—including parsing, XSLT conversions, and more
  • Build XML-based web services with XML-RPC and SOAP
  • Make the most of PEAR: work with the repository, use key packages, and create your own
  • Upgrade PHP 4 code to PHP 5—compatibility issues, techniques, and practical workarounds
  • Improve script performance: tips and tools for PHP optimization
  • Use PHP extensions to handle files/streams, regular expressions, dates/times, and graphics
  • Create original extensions and shell scripts

If you're a software developer new to PHP, you'll leap quickly into PHP and its new object-oriented capabilities. If you're an experienced PHP programmer, you already recognize PHP's convenience and simplicity. Now, discover all of its extraordinary power!

ABOUT THE SOFTWARE

At this book's link to Zend.com, download a fully functional 90-day version of Zend Studio, today's breakthrough tool for developing, managing, and debugging PHP code.

Series Editor Bruce Perens' is an open source evangelist, developer, and consultant whose software is a major component of most commercial embedded Linux offerings. He founded or cofounded Linux Standard Base, Open Source Initiative, and Software in the Public Interest. As Debian GNU/Linux Project Leader, he was instrumental in getting the system on two U.S. space shuttle flights.


© Copyright Pearson Education. All rights reserved.

Downloads

Downloads

Untitled Document

Download PHP 5 Power Programming in PDF.

Download select PDF chapters of PHP 5 Power Programming contained in one zip file.

Source Code

Download the Source Code Examples

Extras

Companion Site

Untitled Document Visit the Companion Website to download source code, examples, errata, and more.

Sample Content

Online Sample Chapter

PHP 5 Advanced OOP and Design Patterns

Downloadable Sample Chapter

Untitled Document Download the Sample Chapter related to this title.

Table of Contents

Foreword.

Preface.

1. What Is New in PHP 5?

    Introduction.

    Language Features.

      New Object-Oriented Model.

      New Object-Oriented Features.

      Other New Language Features.

    General PHP Changes.

      XML and Web Services.

    Other New Features in PHP 5.

      New Memory Manager.

      Dropped Support for Windows 95.

    Summary.

2. PHP 5 Basic Language.

    Introduction.

    HTML Embedding.

    Comments.

    Variables.

      Indirect References to Variables.

      Managing Variables.

      Superglobals.

    Basic Data Types.

      Integers.

      Floating-Point Numbers.

      Strings.

      Booleans.

      Null.

      Arrays.

      Constants.

    Operators.

      Binary Operators.

      Assignment Operators.

      Comparison Operators.

      Logical Operators.

      Bitwise Operators.

      Unary Operators.

      Negation Operators.

      Increment/Decrement Operators.

      The Cast Operators.

      The Silence Operator.

      The One and Only Ternary Operator.

    Control Structures.

      Conditional Control Structures.

      Loop Control Structures.

      Code Inclusion Control Structures.

    Functions.

      User-Defined Functions.

      Function Scope.

      Returning Values By Value.

      Returning Values By Reference.

      Declaring Function Parameters.

      Static Variables.

    Summary.

3. PHP 5 OO Language.

    Introduction.

    Objects.

    Declaring a Class.

    The new Keyword and Constructors.

    Destructors.

    Accessing Methods and Properties Using the $this Variable.

      public, protected, and private Properties.

      public, protected, and private Methods.

      Static Properties.

      Static Methods.

    Class Constants.

     Cloning Objects.

    Polymorphism.

    parent:: and self::.

    instanceof Operator.

    Interfaces.

    Inheritance of Interfaces.

    final Methods.

    final Classes.

    __toString() Method.

    Exception Handling.

    __autoload().

    Class Type Hints in Function Parameters.

    Summary.

4. PHP 5 Advanced OOP and Design Patterns.

    Introduction.

    Overloading Capabilities.

      Property and Method Overloading.

      Overloading the Array Access Syntax.

    Iterators.

    Design Patterns.

      Strategy Pattern.

      Singleton Pattern.

      Factory Pattern.

      Observer Pattern.

    Reflection.

      Introduction.

      Reflection API.

      Reflection Examples.

      Implementing the Delegation Pattern Using Reflection.

    Summary.

5. How to Write a Web Application with PHP.

    Introduction.

    Embedding into HTML.

    User Input.

    Safe-Handling User Input.

      Common Mistakes.

    Techniques to Make Scripts "Safe".

      Input Validation.

      HMAC Verification.

      PEAR::Crypt_HMAC.

      Input Filter.

      Working with Passwords.

      Error Handling.

    Cookies.

    Sessions.

      Handling the Incoming Uploaded File.

    Architecture.

      One Script Serves All.

      One Script per Function.

      Separating Logic from Layout.

    Summary.

6. Databases with PHP 5.

    Introduction.

    MySQL.

      MySQL Strengths and Weaknesses.

      PHP Interface.

      Example Data.

      Connections.

      Buffered Versus Unbuffered Queries.

      Queries.

      Multi Statements.

      Fetching Modes.

      Prepared Statements.

      BLOB Handling.

    SQLite.

      SQLite Strengths and Weaknesses.

      Best Areas of Use.

      PHP Interface.

    PEAR DB.

      Obtaining PEAR DB.

      Pros and Cons of Database Abstraction.

      Which Features Are Abstracted?

      Database Connections.

      Executing Queries.

      Fetching Results.

      Sequences.

      Portability Features.

      Abstracted Errors.

      Convenience Methods.

    Summary.

7. Error Handling.

     Introduction.

    Types of Errors.

      Programming Errors.

      Undefined Symbols.

      Portability Errors.

      PHP Errors.

    PEAR Errors.

      The PEAR_Error Class.

      Handling PEAR Errors.

      PEAR Error Modes.

      Graceful Handling.

    Exceptions.

      What Are Exceptions?

      try, catch, and throw.

    Summary.

8. XML with PHP 5.

    Introduction.

    Vocabulary.

    Parsing XML.

      SAX.

      DOM.

    SimpleXML.

      Creating a SimpleXML Object.

      Browsing SimpleXML Objects.

      Storing SimpleXML Objects.

    PEAR.

      XML_Tree.

      XML_RSS.

    Converting XML.

      XSLT.

    Communicating with XML.

      XML-RPC.

      SOAP.

    Summary.

9. Mainstream Extensions.

    Introduction.

    Files and Streams.

      File Access.

      Program Input/Output.

      Input/Output Streams.

      Compression Streams.

      User Streams.

      URL Streams.

      Locking.

      Renaming and Removing Files.

      Temporary Files.

      Syntax.

       Functions.

    Date Handling.

      Retrieving Date and Time Information.

      Formatting Date and Time.

      Parsing Date Formats.

    Graphics Manipulation with GD.

      Case 1: Bot-Proof Submission Forms.

      Case 2: Bar Chart.

      Exif.

    Multi-Byte Strings and Character Sets.

      Character Set Conversions.

      Extra Functions Dealing with Multi-Byte Character Sets.

      Locales.

    Summary.

10. Using PEAR.

    Introduction.

    PEAR Concepts.

      Packages.

      Releases.

      Version Numbers.

    Obtaining PEAR.

      Installing with UNIX / Linux PHP Distribution.

      Installing with PHP Windows Installer.

      go-pear.org.

    Installing Packages.

      Using the pear Command.

    Configuration Parameters.

    PEAR Commands.

      pear install.

      pear list.

      pear info.

      pear list-all.

      pear list-upgrades.

      pear upgrade.

      pear upgrade-all.

      pear uninstall.

      pear search.

      pear remote-list.

      pear remote-info.

      pear download.

      pear config-get.

      pear config-show.

      Shortcuts.

    Installer Front-Ends.

      CLI (Command Line Interface) Installer.

      Gtk Installer.

    Summary.

11. Important PEAR Packages.

    Introduction.

    Database Queries.

    Template Systems.

      Template Terminology.

      HTML_Template_IT.

      HTML_Template_Flexy.

    Authentication.

      Overview.

      Example: Auth with Password File.

      Example: Auth with DB and User Data.

      Auth Security Considerations.

      Auth Scalability Considerations.

      Auth Summary.

    Form Handling.

      HTML_QuickForm.

      Example: Login Form.

      Receiving Data.

    Caching.

      Cache_Lite.

    Summary.

12. Building PEAR Components.

    Introduction.

    PEAR Standards.

      Symbol Naming.

      Indentation.

    Release Versioning.

    CLI Environment.

    Fundamentals.

      When and How to Include Files.

      Error Handling.

    Building Packages.

      PEAR Example: HelloWorld.

      Building the Tarball.

      Verification.

      Package Information.

      Release Information.

    Dependencies.

      Element: <deps>.

      Element: <dep>.

      Dependency Types.

      Reasons to Avoid Dependencies.

      Optional Dependencies.

      Some Examples.

    String Substitutions.

      Element: <replace>.

      Examples.

    Including C Code.

      Element: <configureoptions>.

      Element: <configureoption>.

    Releasing Packages.

    The PEAR Release Process.

    Packaging.

      Source Analysis.

      MD5 Checksum Generation.

      Package.xml Update.

      Tarball Creation.

    Uploading.

      Upload Release.

      Finished!

    Summary.

13. Making the Move.

    Introduction.

    The Object Model.

    Passing Objects to Functions.

    Compatibility Mode.

      Casting Objects.

      Comparing Objects.

    Other Changes.

      Assigning to $this.

      get_class.

    E_STRICT.

      Automagically Creating Objects.

      var and public.

      Constructors.

      Inherited Methods.

      Define Classes Before Usage.

      Command-Line Interface.

      Comment Tokens.

      MySQL.

    Changes in Functions.

      array_merge().

      strrpos() and strripos().

    Summary.

14. Performance.

    Introduction.

    Design for Performance.

      PHP Design Tip #1: Beware of State.

      PHP Design Tip #2: Cache!

      PHP Design Tip #3: Do Not Over Design!

    Benchmarking.

      Using ApacheBench.

      Using Siege.

      Testing Versus Real Traffic.

    Proling with Zend Studio's Proler.

    Proling with APD.

      Installing APD.

      Analyzing Trace Data.

    Proling with Xdebug.

      Installing Xdebug.

      Tracing Script Execution.

      Using Kcachegrind.

    Using APC (Advanced PHP Cache).

    Using ZPS (Zend Performance Suite).

      Automatic Optimization.

      Compiled Code Caching.

      Dynamic Content Caching.

      Content Compression.

    Optimizing Code.

      Micro-Benchmarks.

      Rewrite in.

      OO Versus Procedural Code.

    Summary.

15. An Introduction to Writing PHP Extensions.

    Introduction.

    Quickstart.

      Memory Management.

      Returning Values from PHP Functions.

      Adding Custom INI Directives.

      Thread-Safe Resource Manager Macros.

    Summary.

16. PHP Shell Scripting.

    Introduction.

    PHP CLI Shell Scripts.

      How CLI Differs From CGI.

      The Shell-Scripting Environment.

      Parsing Command-Line Options.

      Good Practices.

      Process Control.

      Examples.

    Summary.

A. PEAR and PECL Package Index.

    Authentication.

    Benchmarking.

    Caching.

    Configuration.

    Console.

    Database.

    Date and Time.

    Encryption.

    File Formats.

    File System.

    Gtk Components.

    HTML.

    HTTP.

    Images.

    Internationalization.

    Logging.

    Mail.

    Math.

    Networking.

    Numbers.

    Payment.

    PEAR.

    PHP.

    Processing.

    Science.

    Streams.

    Structures.

    Web Services.

    XML.

B. phpDocumentor Format Reference.

    Introduction.

    Documentation Comments.

    Tag Reference.

      abstract.

      access.

      author.

      category.

      copyright.

      deprecated.

      example.

      filesource.

      final.

      global.

      ignore.

      inheritdoc (inline).

      internal, internal (inline).

      licence.

      link.

      link (inline).

      name.

      package.

      param.

      return.

      see.

      since.

      static

      staticvar.

      subpackage.

      todo.

      uses.

      var.

      version.

    Tag Table.

    Using the phpDocumentor Tool.

C. Zend Studio Quick Start Guide.

    Version 3.5.x.

    About the Zend Studio Client Quick Start Guide.

    About Zend.

      Client Server Configuration.

      Installation and Registration.

    Editing a File.

      Editing a File.

    Working with Projects.

      Advantages of Working with Projects.

      How to Create a Project.

    Running the Debugger.

      Internal Debugger.

      Remote Debugger.

    Debug URL.

    Configure Studio Server for Remote Debugger and Proling.

    Running the Proler.

    Product Support.

      Getting Support.

    Main Features.

Preface

Untitled Document

Download the Preface file related to this title.

Foreword

Untitled Document Download the Foreword file related to this title.

Index

Untitled Document Download the Index file related to this title.

Updates

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership