PHP
![An Introduction to the Laravel PHP Framework](jpg/1693275309laravel-introduction.jpg)
Learn about the Laravel PHP framework, exploring its history, its purpose, and some of its key components and features.
![39 PHP String Functions You Can’t Live Without](jpg/1680056612php-string-functions.jpg)
We cover the most popular PHP string functions and provide simple examples.
![Using PHP Arrays: A Guide for Beginners](jpg/1680049578php-arrays.jpg)
Learn the basics of what arrays in PHP are, how they work, some of the basic syntax and the different types of indexes available.
![Create a Powerful Login System with PHP in Five Easy Steps](jpg/1679990016build-php-login-form.jpg)
Learn how to create a powerful, efficient and secure login system for you website with PHP in five easy steps.
![Quick Tip: How to Get the Current Date in PHP](jpg/1678756410time-in-php.jpg)
Learn about the different ways to get the current date and time in PHP and some additional considerations when working with time in PHP.
![Quick Tip: How to Cache Data in PHP](jpg/1678084921caching-in-php.jpg)
Learn how caching improves app performance and how to implement it in PHP through output buffering, caching functions, and database storage.
![Quick Tip: How to Handle Exceptions in PHP](jpg/1677466608php-exception.jpg)
Learn the basics of exceptions in PHP, how to use throw, try and catch effectively, and how to write your own custom exceptions.
![Quick Tip: How to Trim Whitespace with PHP](jpg/1676589578php-trim-whitespace.jpg)
Learn some simple functions in PHP for trimming whitespace from strings, when you might need to use them, and a pitfall to watch out for.
![Quick Tip: How to Hash a Password in PHP](jpg/1675908739hash-password-php.jpg)
Learn how to hash a password in PHP using the password_hash() function, why hashing is important, and how hashing differs from encryption.
![Quick Tip: How To Check if a Variable Is Set in PHP](jpg/1675214574php-check-variable-set.jpg)
Learn how to check if a variable is set in PHP, what its values are, and the differences between the isset, is_null, and empty methods.
![Quick Tip: How To Manage Timezones in PHP](jpg/1674611538php-timezone2.jpg)
Learn the basics of timezone usage in PHP, and how to make the best choice of the comprehensive range of functions PHP offers.
![Quick Tip: How to Manage Error Reporting in PHP](jpg/1674184035php-error-reporting.jpg)
In this quick tip on PHP error reporting, we review the tools in PHP for handling errors in a controlled way to save hours of debugging.
![Quick Tip: How To Read a Local File with PHP](jpg/1673416725php-read-local-file.jpg)
Learn about the three basic, native PHP functions for quickly opening a local file, reading data from it, or writing data to it.
![Quick Tip: How to Filter Data with PHP](jpg/1673221508filter-php.jpg)
Learn the difference between PHP validation and sanitization and how to use filter functions, to ensure your PHP apps are reliable and secure.
![How to Install PHP on Windows 10 and 11 (with Apache & MySQL)](png/1617674132install-php.png)
Looking for tips on how to install PHP on Windows? We walk through how to install PHP 8.2 and Apache 2.4 on Windows 10 or 11 (64-bit).
![The Top 10 Security Vulnerabilities for Web Applications](jpg/1671153146top-ten-app-security-vulnerabilities.jpg)
It's important to consider the security of the applications you build. Learn about the current top ten security vulnerabilities for web apps.
![Best PHP Books for Beginners](jpg/1670224427best-php-books.jpg)
Learn the fundamentals of PHP with books geared for PHP developers. We explore a list of the best PHP books in 2022 and beyond.
![The Best PHP Frameworks for 2023](jpg/1667348581best-php-frameworks.jpg)
Dive into the fundamentals of PHP frameworks and which are the best PHP frameworks for you.
![Displaying Data from MySQL on the Web: an Introduction](jpg/1643604505mysql-web.jpg)
Learn how to take information stored in a MySQL database and display it on a web page for all to see.
![Introducing MySQL: A Beginner’s Guide](jpg/1643604354mysql-introduction.jpg)
Learn what a database is, and how to work with your own databases using Structured Query Language (SQL).
![Introducing PHP: A Beginner’s Guide](jpg/1643604276php-introduction.jpg)
Learn the basics of how PHP works, including statements, variables, operators, comments, and control structures.
![Setting Up Your PHP Development Environment with Docker](jpg/1643604106php-mysql-install.jpg)
Learn how to set up a development environment by installing PHP 8 and MySQL using Docker, in this excerpt from our book PHP & MySQL: Novice to Ninja.
![Functional Programming in PHP: Higher-order Functions](jpg/1637195560higher-order-functions.jpg)
Learn what higher-order functions are, how they work, why you might need them, and what they look like in PHP, JavaScript and Python.
![Flexible API Design: Create Hooks for Your PHP API Pipeline](jpg/1630893572api-pipeline.jpg)
APIs can easily become overcomplicated and slow. Learn how to develop a pipeline that's easy to expand later without obscuring the main flow.
![PHP Authorization with JWT (JSON Web Tokens)](jpg/1615432008php-uthorization-jwt.jpg)
Need to authenticate requests to a server? Learn what JWTs are and how to use them instead of sessions to authenticate your users via API calls.
![Setting Up a Modern PHP Development Environment with Docker](png/1612308286php-docker.png)
There are so many ways to set up your PHP development environment, but using Docker is the current best practice. Let's walk through how to do it properly.
![Getting Started with Laravel Livewire](png/1611102843laravel-livewire4.png)
Attention Laravel lovers! The Livewire framework for Laravel can help you build awesome, dynamic interfaces without writing a whole lot of JavaScript.
![Form Validation with PHP](png/1614212932web-form.png)
Need to collect data through a web form? Learn the basics of how to set up PHP to collect user-submitted data that you can then store or send via email.
![Writing a Flarum Extension: Building a Custom Field](jpg/1608726717flarum.jpg)
Learn how to add a custom field to a Flarum user account. Users will be able to set this custom field from their profile page, and admins will be able to edit it too.
![How to Ensure Flexible, Reusable PHP Code with Insphpect](png/1593522244code.png)
Learn about Insphpect, a tool that scans your PHP code for object-oriented programming techniques that hinder code reusability and flexibility.