Core PHP Programming (Prentice Hall Ptr Core Series) / Edition 3by Leon Atkinson, Zeev Suraski
Pub. Date: 08/08/2003
Publisher: Prentice Hall
Core PHP Programming, Third Edition is the authoritative guide to the new PHP 5 for experienced developers. Top PHP developer Leon Atkinson and PHP 5 contributor/Zend Engine 2 co-creator Zeev Suraski cover every facet of real-world PHP 5 development, from basic syntax to advanced object-oriented development -- even design patterns! It’s all here:/i>
Core PHP Programming, Third Edition is the authoritative guide to the new PHP 5 for experienced developers. Top PHP developer Leon Atkinson and PHP 5 contributor/Zend Engine 2 co-creator Zeev Suraski cover every facet of real-world PHP 5 development, from basic syntax to advanced object-oriented development -- even design patterns! It’s all here: networking, data structures, regular expressions, math, configuration, graphics, MySQL/PostgreSQL support, XML, algorithms, debugging, optimization…and 650 downloadable code examples, with a Foreword by PHP 5 contributor and Zend Engine 2 co-creator Andi Gutmans!
Table of Contents
I. PROGRAMMING WITH PHP.
1. An Introduction to PHP.
The Origins of PHP. PHP Is Better Than Its Alternatives. Interfaces to External Systems. How PHP Works with the Web Server. Hardware and Software Requirements. What a PHP Script Looks Like. Saving Data for Later. Receiving User Input. Choosing Between Alternatives. Repeating Code.
2. Variables, Operators, and Expressions.
A Top-Down View. Data Types. Variables. Constants. Operators. Building Expressions.
3. Control Statements.
The if Statement. The ? Operator. The switch Statement. Loops. exit, die, and return. Exceptions. Declare.
Declaring a Function. The return Statement. Scope. Static Variables. Arguments. Recursion. Dynamic Function Calls.
Single-Dimensional Arrays. Indexing Arrays. Initializing Arrays. Multidimensional Arrays. Casting Arrays. The + Operator. Referencing Arrays Inside Strings.
6. Classes and Objects.
Object-Oriented Programming. The PHP 5 Object Model. Defining a Class. Constructors and Destructors. Cloning. Accessing Properties and Methods. Static Class Members. Access Types. Binding. Abstract Methods and Abstract Classes. User-Level Overloading. Class Autoloading. Object Serialization. Namespaces. The Evolution of the Zend Engine.
7. I/O and Disk Access.
HTTP Connections. Writing to the Browser. Output Buffering. Environment Variables. Getting Input from Forms. Passing Arrays in Forms. Cookies. File Uploads. Reading and Writing to Files. Sessions. The include and require Functions. Don't Trust User Input.
II. FUNCTIONAL REFERENCE.
8. Browser I/O.
Pregenerated Variables. Pregenerated Constants. Sending Text to the Browser. Output Buffering. Session Handling. HTTP Headers.
9. Operating System.
Files. Compressed File Functions. Direct I/O. Debugging. POSIX. Shell Commands. Process Control.
10. Network I/O.
General Network I/O. Sockets. FTP. Curl. SNMP.
Data Types, Constants, and Variables. Arrays. Objects and Classes. User Defined Functions.
12. Encoding and Decoding.
Strings. String Comparison. Encoding and Decoding. Compression. Encryption. Hashing. Spell Checking. Regular Expressions. Character Set Encoding.
Common Math. Random Numbers. Arbitrary-Precision Numbers.
14. Time and Date.
Time and Date. Alternative Calendars.
Configuration Directives. Configuration.
16. Images and Graphics.
Analyzing Images. Creating Images.
DBM-Style Database Abstraction. DBX. LDAP. MySQL. ODBC. Oracle. Postgres. Sybase and Microsoft SQL Server.
18. Object Layers.
COM. CORBA. Java.
Apache. IMAP. MnoGoSearch. OpenSSL. System V Messages. System V Semaphores. System V Shared Memory.
DOM XML. Expat XML. WDDX.
21. Sorting, Searching, and Random Numbers.
Sorting. Built-In Sorting Functions. Sorting with a Comparison Function. Searching. Indexing. Random Numbers. Random Identifiers. Choosing Banner Ads.
22. Parsing and String Evaluation.
Tokenizing. Regular Expressions. Defining Regular Expressions. Using Regular Expressions in PHP Scripts.
23. Database Integration.
Building HTML Tables from SQL Queries. Tracking Visitors with Session Identifiers. Storing Content in a Database. Database Abstraction Layers.
HTTP Authentication. Controlling the Browser's Cache. Setting Document Type. Email with Attachments. HTML Email. Verifying an Email Address.
25. Generating Graphics.
Dynamic Buttons. Generating Graphs on the Fly. Bar Graphs. Pie Charts. Stretching Single-Pixel Images.
IV. SOFTWARE ENGINEERING.
26. Integration with HTML.
Sprinkling PHP within an HTML Document. Using PHP to Output All HTML. Separating HTML from PHP. Generating HTML with PHP.
Writing Requirements Specifications. Writing Design Documents. Change Management. Modularization Using include. FreeEnergy. Templates. Application Frameworks. PEAR. URLs Friendly to Search Engines.
28. Efficiency and Debugging.
Optimization. Measuring Performance. Optimize the Slowest Parts. When to Store Content in a Database. Debugging Strategies. Simulating HTTP Connections. Output Buffering. Output Compression. Avoiding eval. Don't Load Extensions Dynamically. Improving Performance of MySQL Queries. Optimizing Disk-Based Sessions. Don't Pass by Reference (or, Don't Trust Your Instincts). Avoid Concatenation of Large Strings. Avoid Serving Large Files with PHP-Enabled Apache. Understanding Persistent Database Connections. Avoid Using exec, Backticks, and system If Possible. Use php.ini-recommended. Don't Use Regular Expressions Unless You Must. Optimizing Loops. IIS Configuration.
29. Design Patterns.
Patterns Defined. Singleton. Factory. Observer. Strategy.
A. Escape Sequences.
B. ASCII Codes.
D. PHP Tags.
E. PHP Compile-Time Configuration.
F. Internet Resources.
G. PHP Style Guide.
and post it to your social network
Most Helpful Customer Reviews
See all customer reviews >
n what seems like a dazzingly short time, PHP has grown from a simple little language that dynamically generates web pages to a fully fledged object oriented language. Now available in its fifth major revision, PHP code looks so much like C, with the added benefit of being OO. PHP is still very specialised, confined to essentially web server applications. While it is true that PHP is no longer strictly confined to this, the de facto reality is that the vast majority of applications, and the concomitant employment prospects, are in the context of web servers. Clearly, if you are a web programmer, knowing PHP is a big plus. A hardcore way of doing this is to use the online documentation scattered throughout the web, and learn by downloading and analysing code examples. PHP veterans, including maybe the authors, probably did this. Nothing better at the time. While it works for some, this approach is awkward to many, and is quite ad hoc. The danger is in learning quick kludges as opposed to methodically designing and coding, with a full appreciation of the language's extent. Luckily, as PHP has matured, you can turn to this book for a logical pedagogy. The treatment is exhaustive and shows starkly how far PHP has come. For example, you can use all the major encryption algorithms (Rijndael, Serpent, DES...) as extensively and easily as though you were coding in C. On another tack, the image analysis routines now handle all the important image formats (GIF, JPEG, TIFF...). The book displays the breadth of such computing topics now available, and the wealth of library routines in each topic describes the depth of the treatment. Are you familiar with Fortran and the IMSL mathematical package so often associated with it? Or with C++ and its standard template library? Or C and the Numerical Recipes routines? If so, this book lets you appreciate that intellectually, PHP now ranks with those luminaries.