PHP: The "Right" Way
Free!
With Membership
$7.99
Minimum paid price

PHP: The "Right" Way

Your guide to PHP best practices, coding standards, and authoritative tutorials.

About the Book

There’s a lot of outdated information on the Web that leads new PHP users astray, propagating bad practices and insecure code. PHP: The Right Way is an easy-to-read, quick reference for PHP popular coding standards, links to authoritative tutorials around the Web and what the contributors consider to be best practices at the present time.

There is no canonical way to use PHP. This book aims to introduce new PHP developers to some topics which they may not discover until it is too late, and aims to give seasoned pros some fresh ideas on those topics they’ve been doing for years without ever reconsidering. This ebook will also not tell you which tools to use, but instead offer suggestions for multiple options, when possible explaining the differences in approach and use-case.

This is a living document and will continue to be updated with more helpful information and examples as they become available.

About the Editors

Phil Sturgeon
Phil Sturgeon

Since 2010 I've worked as a freelancer, consultant, API lead, and CTO for several API-centric technology startups. Working as an internal API consultant for WeWork gave me a lot to write about, where I used my experience of things going horribly horribly wrong to help educate developers, define standards for API design and architecture, and implementing full API design lifecycles so we weren't all just building nonsense and hoping it was useful.

Trying to get loads of different questionably built APIs tidied up, playing nicely, and working quickly was a constant source of learning for me and everyone involved. I took a lot of that learning to Stoplight, and helped plan, build, and manage most of your favourite OpenAPI tools.

When I'm not banging on about APIs I'm riding, racing, or crashing various bikes, or saving the plant through Protect Earth, an environmental charity I co-founded in 2020. We create brand new woodlands, restore and extend ancient woodlands, and run around with machetes getting rid of invasive species.

Josh Lockhart
Josh Lockhart

Creator of the Slim Framework and PHP The Right Way. Senior developer at New Media Campaigns.

Table of Contents

  •  
    • 0.1 Windows Setup
    • 0.2 Mac Setup
    • 0.3 Common Directory structure
  • 1. Getting Started
    • 1.1 Use the Current Stable Version (8.1)
    • 1.2 Built-in web server
    • 1.3 Data Filtering
    • 1.4 Web Application Security
    • 1.5 Error Reporting
    • 1.6 Configuration Files
    • 1.7 Register Globals
  • 2. Security
    • 2.1 Password Hashing
    • 2.2 Complementary Testing Tools
    • 2.3 Test Driven Development
  • 3. Testing
    • 3.1 Behavior Driven Development
    • 3.2 Virtual or Dedicated Servers
    • 3.3 Shared Servers
  • 4. Servers and Deployment
    • 4.1 Platform as a Service (PaaS)
    • 4.2 Building and Deploying your Application
    • 4.3 Docker
    • 4.4 Vagrant
  • 5. Virtualization
  • 6. Caching
    • 6.1 Object Caching
    • 6.2 Opcode Cache
    • 6.3 PHPDoc
  • 7. Documenting your Code
    • 7.1 Books
    • 7.2 People to Follow
    • 7.3 Other Useful Resources
    • 7.4 Video Tutorials
    • 7.5 Components
    • 7.6 PHP PaaS Providers
  • 8. Resources
    • 8.1 Frameworks
    • 8.2 From the Source
  • 9. Community
    • 9.1 PHP Conferences
    • 9.2 PHP User Groups
    • 9.3 ElePHPants
  • 10. Code Style Guide
  • 11. Language Highlights
    • 11.1 Xdebug
    • 11.2 Command Line Interface
    • 11.3 Standard PHP Library
    • 11.4 Programming Paradigms
    • 11.5 Namespaces
    • 11.6 PEAR
    • 11.7 Composer and Packagist
  • 12. Dependency Management
    • 12.1 Working with UTF-8
  • 13. Coding Practices
    • 13.1 The Basics
    • 13.2 Design Patterns
    • 13.3 Internationalization (i18n) and Localization (l10n)
    • 13.4 Common ways to implement
    • 13.5 Gettext
    • 13.6 Date and Time
    • 13.7 Complex Problem
  • 14. Dependency Injection
    • 14.1 Containers
    • 14.2 Basic Concept
    • 14.3 Further Reading
    • 14.4 Interacting with Databases
    • 14.5 MySQL Extension
    • 14.6 PDO Extension
    • 14.7 Abstraction Layers
  • 15. Databases
    • 15.1 Further Reading
    • 15.2 Benefits
    • 15.3 Compiled Templates
    • 15.4 Plain PHP Templates
  • 16. Templating
  • 17. Errors and Exceptions
    • 17.1 Errors
    • 17.2 Exceptions

Causes Supported

PHPWomen

An inclusive & global network providing support within the PHP community.
http://phpwomen.org

An inclusive & global network providing support within the PHP community.

Our aim is to provide a network of support in hope that women in the industry do not feel so alone and isolated. We do this by helping women to become more involved with the community, increasing female attendance at conferences as speakers and attendees, and providing a “female friendly” professional atmosphere.

Electronic Frontier Foundation

Defending your civil liberties in a digital world.
https://www.eff.org/

Based in San Francisco, EFF is a donor-supported membership organization working to protect fundamental rights regardless of technology.

From the Internet to the iPod, technologies are transforming our society and empowering us as speakers, citizens, creators, and consumers. When our freedoms in the networked world come under attack, the Electronic Frontier Foundation (EFF) is the first line of defense. EFF broke new ground when it was founded in 1990—well before the Internet was on most people's radar—and continues to confront cutting-edge issues defending free speech, privacy, innovation, and consumer rights today. From the beginning, EFF has championed the public interest in every critical battle affecting digital rights.

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub