This book is intended for anyone starting out with PHP programming. If you’ve previously worked in another programming language such as Java, C#, or Perl, you’ll probably pick up the concepts in the earlier chapters quickly; however, the book assumes no prior experience of programming or of building Web applications.
That said, because PHP is primarily a Web technology, it will help if you have at least some knowledge of other Web technologies, particularly HTML and CSS.
Many Web applications make use of a database to store data, and this book contains three chapters on working with MySQL databases. Once again, if you’re already familiar with databases in general — and MySQL in particular — you’ll be able to fly through these chapters. However, even if you’ve never touched a database before in your life, you should still be able to pick up a working knowledge by reading through these chapters.
What This Book Covers
This book gives you a broad understanding of the PHP language and its associated technologies. You explore a wide range of topics, including:
- installing a copy of the PHP engine on Ubuntu Linux, Windows, and Mac OS X; other ways you can install or use PHP; how to write a simple PHP script.
- basic PHP language concepts. variables, data types, operators, expressions, and constants.
- how to change the flow of your scripts by creating decisions and loops. if, else, and switch statements; the ternary operator; and the do, while, for, break, and continue statements. how to nest loops, and how to mix decisions and looping with blocks of HTML.
- PHP’s handling of strings, or sequences of characters; how to create strings; how to retrieve characters from a string; and how to manipulate strings with functions such as strlen(), substr(), strstr(), strpos(), str_replace(), and printf(), to name but a few.
- arrays — variables that can hold multiple values. You learn the difference between indexed and associative arrays, and find out how to create arrays and access their individual elements; array manipulation, including functions such as print_r(), array_slice(), count(), sort(), array_merge(), and list(). You also learn how to create foreach loops, as well as how to work with multidimensional arrays.
- functions — blocks of code that you can use again and again. You look at how to call built-in functions, and how to work with variable functions. You also study how to create your own functions, including defining parameters, returning values, understanding scope, and using anonymous functions. Other function-related topics such as references and recursion are also explored.
- object-oriented programming. You look at the advantages of an object-oriented approach, and learn how to build classes, properties, and methods, and how to create and use objects. You also explore more advanced topics such as overloading, inheritance, interfaces, constructors and destructors, autoloading, and namespaces.
- how to use PHP to create interactive Web forms. You learn how to create HTML forms, how to capture form data in PHP, and how to use PHP to generate dynamic forms. You also explore file upload forms and page redirection.
- how to preserve an application’s state between page views. You explore three different strategies: query strings, cookies, and PHP sessions. Includes an example user login system.
- PHP’s file and directory handling functions. You learn how to open and close files; how to find out more information about a file; how to read from and write to files; how to work with file permissions; how to copy, rename, and delete files; and how to manipulate directories. Simple text editor as an example.
- databases in general and MySQL in particular, and how to work with MySQL databases using PHP. You learn some database and SQL theory; look at how to connect to MySQL from PHP; and study how to retrieve, insert, update, and delete data in a MySQL database.
- PEAR, the PHP Extension and Application Repository. It’s a large collection of reusable code modules that can really help to speed up your application development. You look at how to install and use PEAR packages, and explore three useful packages: Net_UserAgent_Detect, HTML_Table, and HTML_QuickForm.
- ways that your PHP applications can interact with the outside world. A detailed look at date and time handling, including various useful built-in date functions, as well as the DateTime and DateTimeZone classes. Also how to work closely with HTTP request and response headers, how to retrieve Web server information, and how to send email from within your scripts.
- using PHP to generate graphics on the fly. You study some computer graphics fundamentals, then look at how to create new images, as well as modify existing images. Along the way you explore colors, drawing functions, image formats, transparency, opacity, and generating text within images.
- regular expressions. These clever pattern-matching tools let you search for very specific patterns of text within strings; regular expression syntax, how to use PHP’s regular expression functions to search for and replace patterns of text. Lots of examples are included to make the concepts clear.
- XML — eXtensible Markup Language — and how to manipulate XML from within your PHP scripts. You learn about XML and its uses, and look at various ways to read and write XML with PHP, including XML Parser, the XML DOM extension, and SimpleXML. You also take a brief look at XML stylesheets, including XSL and XSLT.
- how to configure PHP, and all the configuration directives available.
- alternative databases to MySQL that are supported by PHP.
- using PHP to write command-line scripts, further enhancing the power and flexibility of your applications.
Also, as you'd imagine, this book covers the new features added to PHP in version 5.3. However, if you're still using an older version of PHP, don't panic – the vast majority of the book applies to all versions of PHP.
Table of Contents
Part I: Getting Up and Running with PHP
Chapter 1: Introducing PHP
Chapter 2: Your First PHP Script
Part II: Learning the Language
Chapter 3: PHP Language Basics
Chapter 4: Decisions and Loops
Chapter 5: Strings
Chapter 6: Arrays
Chapter 7: Functions
Chapter 8: Objects
Part III: Using PHP in Practice
Chapter 9: Handling HTML Forms with PHP
Chapter 10: Preserving State With Query Strings, Cookies, and Sessions
Chapter 11: Working with Files and Directories
Chapter 12: Introducing Databases and SQL
Chapter 13: Retrieving Data from MySQL with PHP
Chapter 14: Manipulating MySQL Data with PHP
Chapter 15: Making Your Job Easier with PEAR
Chapter 16: PHP and the Outside World
Chapter 17: Generating Images with PHP
Chapter 18: String Matching with Regular Expressions
Chapter 19: Working with XML
Chapter 20: Writing High-Quality Code
Appendix A: Solutions to Exercises
Appendix B: Configuring PHP
Appendix C: Alternatives to MySQL
Appendix D: Using PHP from the Command Line