Today, I’m going to write about PHP, The most popular server-side scripting language. There are lots of articles & tutorials online that help novice PHP developers to learn PHP step by step. In this post I’ve listed some of the best PHP tutorials, articles & resources in some of the most important PHP skills. After reading the following tutorials and learning them (of course not all of them), you are free to name yourself a semi-professional PHP developer!
Before getting started to improve your PHP skills, Just wait a moment and take a look to the two resources below to check whether you know the PHP basics or not.
- W3schools PHP tutorials – to learn PHP basics, is one of the most popular online resources
- PHP 101: PHP For the Absolute Beginner – This 15-part series of PHP tutorials is intended for everyone new to PHP
1- Object Oriented Programming (OOP) in PHP
OOP or Object oriented programming is one of the most intimidating aspects of programming in general and it’s not dedicated to PHP only. If you want to become a serious PHP developer, and you’re not going to make a simple contact form using PHP as your final goal!, You will definitely need to learn OOP in PHP. Here I’ve put together some of my favorite articles, tutorials and resources on OOP for you.
- Object Oriented PHP for Beginners – “This tutorial (Plus Videos) is designed to teach total beginners object oriented PHP”
- Classes and Objects (PHP 5) – The official PHP 5 OOP on PHP.net
- Object Oriented PHP – “A straightforward discussion of PHP 4’s object model in context with general OOP theory, emphasizing all the key points and using examples PHP developers should relate to.”
- Introduction to PHP Objects, Part 1, Part 2 – “provides a rigorous overview of PHP’s OOP in PHP”
- Object Oriented Programming in PHP: The Way to Large PHP Projects – “This article introduces Object Oriented Programming (OOP) in PHP”
- Understanding MVC in PHP – “Just as a starting point for MVC”
2- PHP Template Engines
If you’re working on a big web project, using a template engine can really help you save a lot of time for maintaining the site in future. Using a template engine allows you to separate the presentation from the content and have a better control over you project. There’re more articles/resources regarding PHP Templating, but you can check some of the best ones below.
- Top 25 PHP template engines – A list of top available PHP template engines that you can choose from
- Beyond The Template Engine – “This article discusses template theory. We’ll see why most “template engines” are overkill, and finally, we’ll review a lightweight, lightning fast alternative.”
- Smarty: Smarty Crash Course
- All About Smarty – The PHP Template Engine – This article by sitepoint will say to you what is smarty and how it works
- Simple template engine – Find and replace variables – “During this rather slowly constructed tutorial I’ll just be going through the basic theory/processes behind creating a basic template engine”
- Introducing Smarty: A PHP Template Engine – By O’ REILLY
- Building a Template Parser Class with PHP, Part I & Part 2
3- Sending & Managing PHP Emails
Making a website isn’t just creating static or dynamic pages for browsers. Some web projects need to communicate with the audiences using email. Email is used for various tasks within a web application including newsletters, confirmations, and …
- How to Send Email from a PHP Script – In this tutorial you will learn how to send a simple email using PHP
- Advanced email in PHP – “You will see, how the PHP server-side scripting language may be set up to send email, and explore how to send complex message types such as HTML email or emails with file attachments”
- How to Send Email from a PHP Script Using SMTP Authentication
- PHP Mailer – This isn’t a tutorial, it’s a powerful email transport class with a big features and small footprint that is simple to use and integrate into your own software.
- How to use PEAR package to send emails
4- Learn How To Use PHP Frameworks
Some developers like using frameworks and some doesn’t. I think using or not using frameworks completely depends on projects and we cannot say yes or no to frameworks without considering our current project details. Check out the articles below to learn more about available PHP frameworks.
- PHP frameworks, Part 1: Getting started with three popular frameworks – Zend, symfony, CakePHP
- PHP frameworks – Which one is Most Suitable for you?
- Zend Framework Tutorial – This site is dedicated to Zend Framework Tutorials
- Understanding the Zend Framework – a 9-part series of tutorials on Zend Framework by IBM
- Getting Started With CakePHP – “CakePHP is an open-source framework for PHP intended to make developing, deploying and maintaining applications much easier”
- The CakePHP Framework: Your First Bite
- Build a Photo Gallery Using CakePHP and Flickr – A practical tutorials eating CakePHP!
- CakePHP Tutorials – A comprehensive collection of cakePHP tutorials and articles
- Learn symfony: a Beginner’s Tutorial
- All Codeigniter Tutorials List 1 & 2
5- PayPal Integration & Payment Processing
Nowadays, selling products from digitals to physicals is very commonplace. So if you don’t know how to handle payment using PHP yet, here is your chance to learn.
- PHP Paypal IPN Integration Class – “This free PHP script provides a simple method to interface with paypal and the paypal Instant Payment Notification (IPN) system”
- PHP MySQL Shopping Cart Tutorial – A complete website dedicated to building PHP shopping cart from scratch
- Creating a Credit Card Validation Class With PHP
- Creating a PayPal Payment Form – It isn’t related to PHP much. you can learn how to implement a Buy Now Button into a form to accept payment via paypal
- Easy payments using Paypal IPN
- PHP PayPal ExpressCheckout Tutorial
- Paypal IPN: receiving instant payments in your web application. – “This tutorial explains how to use PayPal’s IPN system with a simple single item purchase”
- Introduction to the shopping cart video tutorials – Don’t miss these PHP video tutorials
6- Databases: PHP& MySQL Tutorials
Almost every PHP project has some relations to databases. Learning how to use databases is the first skill you should learn when you’re going to build a dynamic web application. MySQL is the commonest one that is very easy to use in PHP.
- PHP Mysql Tutorials – Learn how to use PHP & MySQL to create dynamic web pages from scratch
- Storing Hierarchical Data in a Database – “Learn how to to store hierarchical data in a database”
- Five common PHP database problems – “Discover five common database problems that occur in PHP applications — including database schema design, database access, and the business logic code that uses the database — as well as their solutions.”
- Give me back my MySQL Command Line! – Kevin Yank focuses on getting beginners comfortable with typing SQL queries on the MySQL command line
- Optimizing your MySQL Application – What are indexes? How to optimize our database driven website?
- The PHP Anthology Volume I, Chapter 3 – PHP and MySQL – “The chapter 3 of the famous PHP book by sitepoint”
- Creating an object oriented MySQL abstraction class
- Using MySQL Full-text Searching – Learn how to use full-text searching feature in you php mysql applications
- 10 great articles for optimizing MySQL queries
- MySQL Cheat Sheet – “The MySQL cheat sheet is designed to act as a reminder and reference sheet, listing useful information about MySQL. It includes a list of the available functions in MySQL, as well as data types.”
- Getting PHP to Talk to MySQL – “In this first part of a three-part series. you will begin learning how to use PHP to display and modify data from a MySQL database.”
- Introduction to PHP PDO
- The PHP 5 Data Object (PDO) Abstraction Layer and Oracle
- Working with Prepared Queries with PDO Objects in PHP 5
- First steps with PDO
7- Learning Regular Expression
Regular expressions are supremely useful in advanced programming. Here I’ve have put together some of the best online tutorials and resources to learn Regular Expressions in PHP
- Using Regular Expressions in PHP – “This article will provide you with an insight as to what Regular expressions are, how they are useful, and how to apply them”
- PHP regular expression tutorial – “A popular article on using PHP regular expression in your projects.”
- Learn – Test Regular Expressions With The Regulator – “is an advanced, free regular expressions testing and learning tool. It allows you to build and verify a regular expression against any text input, file or web, and displays matching, splitting or replacement results within an easy to understand, hierarchical tree”
- Regular Expressions (Part1) – Basic Syntax – “This tutorial introduces the basic concepts and syntax of regular expressions.”
- 8 Practical PHP Regular Expressions – Very useful article on the most practical PHP regular expression from validating username to validating dates, colors, and so on.
- O’Rielly Pocket Reference – PHP Regular Expressions
- Regular Expression Library – “Currently they have indexed 2267 expressions from 1375 contributors around the world.”
8- Working with Images in PHP
PHP has great capabilities you can use them to manipulate images dynamically such as adding watermarks, resizing and making thumbnails and building visual graphs and more. PHP covers all of them and more completely.
- Introduction to PHP Image Functions – “An excellent overview of PHP image functions, including source code and interactive online examples.”
- Image Manipulation with PHP – The GD Libraries – “The GD libraries are the principle PHP module used for image manipulation, and are available from Boutel.Com, Inc“
- PHP Image manipulation with GD2 -“In this tutorial, I’ll take you through some of the more common uses for PHP when manipulating images, and then introduce you to some of the cooler aspects of this powerful little tool, which could help you to really add a bit of jazz and sparkle to your website!”
- Create Dynamic Images with ImageMagick – Learn how to use ImageMagick to create dynamic images
- Watermark Images on the Fly in PHP – Learn how to watermark you images dynamically using PHP
- Simplified Image Resizing with PHP
- Storing Images In MySQL – “Learn how to store images in MySQL database using PHP”
- Visual and Audio PHP CAPTCHA Generation Class – “PhpCaptcha is a library for generating visual and audio CAPTCHAs (completely automated public Turing test to tell computers and humans apart).”
- PHP captcha – “Securimage is an open-source free PHP CAPTCHA script for generating complex images and CAPTCHA codes to protect forms from spam and abuse. It can be easily …”
9- PHP & Security
By increasing number of attack to web sites everyday, the security becomes more and more important. So you should put it at the top of your list of concerns as you develope a web application.
- PHP security by example
- Top 7 PHP Security Blunders
- PHP Security Guide
- PHP and the OWASP Top Ten Security Vulnerabilities
- PHP MySQL Web Development Security Tips – 14 tips you should know about
- PHP Security Mistakes
10- PHP & XML & Web Services
- The value of Web services for PHP
- Web Services in PHP
- Developing Web Services Using PHP
- Build your own Web Service with PHP and XML-RPC
- Web Services Demystified
- PHP Web Services: Getting Started
- Using SOAP with PHP
- PHP Web Services Without SOAP
- PHP Web Services: Getting Started
- Using Amazon Web Services With PHP And SOAP (part 1)
- Creating and Consuming Web Services With PHP
- XML – An Introduction
- PHP and XML: Parsing RSS 1.0
- PHP Web Services: Getting Started XML Parsing using PHP – beginner
- XML Parsing using PHP – Intermediate
- Class: Amazon API Access with PHP and XML
- XML processing with PHP
- The Ultimate Guide to Parsing XML: Part 1 (Using SAX)
- The Ultimate Guide To Parsing XML Part 2: Using The DOM in PHP
- Instant XML with PHP and PEAR::XML_Serializer
11- PHP Best Practices & tips
Since PHP lets developers use many ways to complete the same task, each novice developer may use his/her own nonstandard method to the task and it may make the application code unmaintainable. So using standards and best practices is vital for making PHP applications. In this part, I will show you some articles regarding PHP best practices and tips.
- 40 Tips for optimizing your php code
- 10 Principles of the PHP Masters -“We need PHP masters to show us the best principles to follow for high-grade PHP programming.”
- Best PHP Practices – “In this article I plan on revealing the “magical secrets” about how I do my PHP programming so quickly with so few bugs”
- Best practices – “This guide will give you solutions to common PHP design problems. It also provides a sketch of an application layout that I developed during the implementation of some projects.”
- Ten PHP Best Practices Tips that will get you a job
- PHP Best Practices: Creating a Blueprint for PHP Applications
- PHP & Mysql tips – from sitepoint users on their experinces.
- PHP Best Practices By PHP.net
- Faster PHP Apps – Profile Your Code with Xdebug
- MySQL Connection Management in PHP – How (Not) To Do Things
12- Authentication & Access Control
One of the benefits of building web sites using a server side programming language like PHP, is building dynamic pages rather than static web pages. Using PHP you can build authentication systems and access controls for your site to limit some particular contents for some particular visitors. How to use sessions or http, how to build a registration system and how to deal with registered members are the goals of this section of my post.
- PHP Login System with Admin Features
- Apache HTTP Authentication with PHP
- Managing Users with PHP Sessions and MySQL
- Creating a Secure PHP Login Script
- HTTP authentication with PHP
13- Caching in PHP
Yes, some old days ago when the number of online users wasn’t so big and most web sites were a few HTML pages, servers were very relaxing because all they did was fetching some files and delivering them to browsers. the browsers cached physical pages locally. But dynamic web pages have made some problems for servers. Dynamic pages need some processes must be completed such as interpreting PHP scripts by PHP engine that introduces a delay depending on complexity of scripts. This makes some problems when a user request a dynamic page. And also since the pages’ content is changing dynamically the browser cannot get notified about last modification of a particular page by servers.
If you have a fast growing PHP powered web site, you may find yourself into some performance troubles if you don’t consider the manual caching. Here you can see some solutions.
- Caching Tutorial
- Saving Resources with PHPCache
- The PHP Anthology Volume 2, Chapter 5 – Caching
- Login System with Ajax and PHP
- PHP Accelerators
- Caching PHP Programs with PEAR
- Controlling PHP Output: Caching and compressing dynamic pages
Yep, finally this long post finished! have a great programming and don’t forget to subscribe!