Latest PHP Classes blog posts: Recent Episodes

None

Latest posts on the PHP Classes blog

View Details

Build AI Agents That Run Your Day - While You Focus on What Matters
By Manuel Lemos
One of the most promising areas for software developers to progress in the career is indeed artificial intelligence.

Artificial intelligence agents allow developers to build systems that can automate the completion of tasks on behalf of the users.

Read this article to learn how you can enroll in a masterclass to learn how you can build your own artificial intelligence agents to use in the software applications that you develop.

View Details

You came for PHP. Stay for what scales: How to Become A Better Developer Learning from Code & Character
By Manuel Lemos
All developers can be better by learning about new methods and tools that make them more productive.

Newsletters are often a good way to learn about better methods and tools. That is the case of the Code & Character newsletter.

Read this short article to learn the Code & Character newsletter.

View Details

How to Develop PHP Applications Faster Using the PHP Low-Code Wizard's Toolkit
By Manuel Lemos
In the competitive world of software development, PHP programmers are constantly seeking ways to deliver robust applications swiftly and efficiently.

Traditional coding methods often involve repetitive tasks that can slow down the development process.

The low-code approach offers a solution by providing pre-built templates and functions that streamline the creation of web applications.

This approach allows developers to focus on customization and exception handling, rather than spending time on foundational coding tasks.

With low code, the tedious aspects of development are managed, making the programmer's job easier and more productive.

Read this article to learn about how low-code platforms for PHP developers can significantly enhance your development workflow.

View Details

How to Implement a PHP Fingerprint Attendance System Using WebAuthN Web Authentication Standard
By Manuel Lemos
WebauthN is a standard specification aimed at defining the authentication of Web application users using FIDO credentials provided by devices like fingerprint readers.

This package provides a PHP implementation of the WebAuthn specification. It allows users to authenticate with a PHP application using a digital fingerprint reader without entering user passwords.

View Details

How to Create Your PHP Reporting Tool That Exports Data From Arrays to Excel Spreadsheets Using Templates
By Manuel Lemos
Excel is a popular spreadsheet editor program. It uses the XLS format to save spreadsheet data and files.

PHP code can generate spreadsheets in XLS format using several packages.

This package exports data from the PHP array to files using the Excel, HTML, and PDF formats.

It can use templates in the XLS format to help developers define better how they want the exported spreadsheet to appear when the exported file is opened in Microsoft Excel or a similar program that supports the XLS format.

View Details

How to Use a PHP Text-to-Speech Library to Generate Audio with Realistic Voices with the ElevenLabs Artificial Intelligence API
By Manuel Lemos
Text-to-speech solutions are useful for generating audio with human voices to narrate videos.

These solutions can be useful in creating promotional videos to help market products and services.

The PHP package provides a Laravel service that accesses the ElevenLabs API to generate audio with voices that speak the text passed to the API as a parameter.

View Details

How to Use a PHP Excel Spreadsheet Manipulation Class to Convert the Spreadsheet Position Letters to the Column Number
By Manuel Lemos
Spreadsheets are popular applications that often display financial values in a table that users can modify to suit their purposes.

Spreadsheet table columns have identifiers for the column position using letters.

This package can convert the spreadsheet position letters to the respective number of the column.

View Details

How to Find a Legitimate PHP Elephant Shop For You to Buy the PHP Mascott in Time For Christmas or the Birthday of Someone You Love
By Manuel Lemos
Many PHP developers desire the PHP elephant, but it is not easy to find it for sale.

Fortunately for you who want to have one PHP elephant plush toy with the design and production approved by the great creator Vincent Pointer loved and admired the PHP ElePHPant design, we know where you can find a legitimate PHP elephant toy today for you to get you or to give to your loved family and friends or PHP colleagues.

Please read this article briefly to learn more about the PHP elephant shop where we know you can get the PHP elephant plush toy.

View Details

How to Create a PHP Crypto Currency Exchange to Buy and Sell Virtual Currencies
By Manuel Lemos
Virtual currencies have become very popular among people who like finances since currencies like Bitcoin started to become used to exchange real money with virtual currency money.

Usually, the exchange process between currencies is done by broker companies.

This package implements a simulation of a cryptocurrency broker system.

With more development work, it can evolve into a real cryptocurrency broker system that actual broker companies can use.

View Details

How to Implement a PHP Bitcoin Wallet Search to Recover Access to Wallets that the Owner Lost the Private Keys
By Manuel Lemos
Many people have created wallets to store amounts of virtual currency in Bitcoin and other virtual coins.

Sometimes, the owners of the wallets lose private keys to access those wallets. When that happens, they lose access to the virtual currency amounts stored in their wallets, causing significant financial losses.

This package provides a simple application to guess the private keys of known wallets by generating keys from a list of possible random words that can have been used to create the wallets.

This way, this package provides some hope to recover access to virtual currency wallets that the owners may have lost access due to having lost the wallet's private keys.

View Details

How to Deploy Laravel Applications on Vultr
By Manuel Lemos
Laravel is a popular PHP framework for developing applications. It allows developers to create packages that provide new features and make the framework more useful for developers using Laravel.

Read this article to learn how to deploy the package Laravel Marketplace App in the Vultr Web hosting service.

View Details

How Can Your Website or Application Have More Sucess Deliverying Email Messages to Gmail, Yahoo and Other Email Providers
By Manuel Lemos
Many applications must send users emails to transmit private messages or even newsletters of helpful content.

Due to abuses of spammers, email account providers like Gmail, Yahoo, and others have gathered to define new standards to prevent those abuses that started being enforced on February 1, 2024.

Suppose you are a developer of a legitimate site or application that sends private emails or newsletters to registered users who can send them email messages. In that case, you should be aware of these new email standards.

Please read this short article to learn about these new standards to ensure your sites or applications send emails in a way that complies with new standards and ensures your messages are delivered successfully.

View Details

How to Use a Better PHP UUID Generator to Generate Unique Identifier Strings
By Manuel Lemos
UUID is the acronym for Universally Unique Identifier. A UUID is a string identifier that uniquely identifies objects among a set of things.

There are specifications on how to generate a UUID value. Each version has its restrictions.

A ULID is an evolution of the UUID to generate unique identifiers that provide compatibility with UUID, among other advantages.

This package implements ULID generation, validation, and recovery of details in PHP.

View Details

How to Benefit from the PHP Composer Install Provided by The PHPClasses.org Site to Attract More Developers to Use Your PHP Packages
By Manuel Lemos
The PHPClasses.org site has supported the PHP composer tool since 2013. Recently we made a small user interface improvement to make this PHP composer tool support more obvious.

Read this article to learn more about the PHPClasses.org support of the PHP composer tool and how you can benefit from this site feature to get more exposure to your PHP packages so more developers can use your packages.

View Details

PHP Classes 25th Anniversary
By Manuel Lemos
The PHP Classes site just completed 25 years of existence.

Read this short article to learn more about the plans for the next year.

View Details

How to Do Laravel Performance Optimization by Detecting the Slower Parts of a Laravel Application
By Manuel Lemos
Many developers use the Laravel framework to develop Web sites and applications.

When it is necessary to optimize the performance of an application, the first step to optimize is to profile the application to detect which parts are slower.

This package implements a profiler solution for Laravel applications. It can listen to application events that execute code that usually takes longer to run, like database queries and HTTP requests sent to external servers.

View Details

How to Use a PHP Code Checker AI Solution Using Google AI Studio Powered by Google Gemini
By Manuel Lemos
One of the tasks that many developers need to do as part of their work is to analyze code written in the past by them or by a colleague developer.

Sometimes code has become too complex and it is hard to understand.

The latest versions of Google AI Studio powered by Google Gemini artificial intelligence models can help you with this task.

Read this article to learn how to use Google AI Studio to quickly analyze PHP code and see an example of an analysis generated by Google AI Studio in just six seconds of a PHP code example to use a PHP framework.

View Details

Learn from a PHP CRUD API Example How to Exchange Data Securely between Clients and the API Server Using JWT
By Manuel Lemos
Web service APIs are nowadays normal ways to provide services from one Web application to one or more client applications.

Often Web service APIs exchange data in plain text format. If the exchange of information is intercepted by people with bad intentions, the exchanged data may be altered.

This package provides a working example of an API that implements CRUD operations and uses JSON Web Tokens (JWT) to assure the integrity of the exchanged data.

View Details

Learn from a PHP CRUD API Example How to Exchange Data Securely between Clients Using JWT
By Manuel Lemos
Web service APIs are nowadays normal ways to provide services from one Web application to one or more client applications.

Often Web service APIs exchange data in plain text format. If the exchange of information is intercepted by people with bad intentions, the exchanged data may be altered.

This package provides a working example of an API that implements CRUD operations and uses JSON Web Tokens (JWT) to assure the integrity of the exchanged data.

View Details

How to Use a PHP Meta Tag Property Class to Fix Issues to Rank Better on Google Searches
By Manuel Lemos
Meta tags are useful to define certain page properties that are not visible to users but can be useful for other applications and search engines like Google or social networks like Twitter and Facebook.

Many modern PHP applications use Model-View-Controller (MVC) frameworks that allow developers to define aspects of the presentation of the application pages with view scripts.

This package allows developers to easily set page property meta-tags using view scripts for applications developed using the Yii2 framework.

View Details

How to Implement a PHP Multi-Factor Authentication Solution Using a Time-Based One-Time Password (TOTP)
By Manuel Lemos
Multi-factor authentication solutions have been adopted by more and more businesses to avoid fraud.

Many users use passwords that are too simple and easy to guess. This fact leads many businesses to add more factors to verify if a person using a site account is a legitimate owner to perform operations that sometimes lead to financial losses.

Check this package that can generate time-based one-time passwords (TOTP).

Site developers can use this package to send these TOTP values to the users' mobile phones via SMS or email before a financial operation can be executed on behalf of a legitimate site user.

View Details

How to Automate PHPUnit Testing When the Project Code File Changes
By Manuel Lemos
PHPUnit is a popular tool frequently used by PHP developers for testing PHP projects.

You do not need to run tests of a project every time if the project files do not change.

This class can automate the execution of tests using PHPUnit only after your project files are changed.

It can determine which files are used in the tests and check if they changed to determine if the tests should be rerun.

View Details

How to Automate PHPUnit Testing When the Project Code Changes in a Git Repository
By Manuel Lemos
PHPUnit is a popular tool frequently used by PHP developers for testing PHP projects.

You do not need to run tests of a project every time if the project files do not change.

This class can automate the execution of tests using PHPUnit only after your project files are changed.

It can determine which files are used in the tests and check if they changed to determine if the tests should be rerun.

View Details

Is an AI PHP Code Generator Better Than PHP Code Produced By a Human Developer
By Manuel Lemos
With the popularity and growth of generative artificial intelligence tools, many professionals in areas like, for instance, programming and others, imagine if they still have a future in their work areas.

Some of these tools can do at least part of the work that used to be done manually by these professionals.

Read this article to learn how you can still stay relevant as a developer with the progress of generative artificial intelligence.

View Details

How to Implement PHP Performance Best Practices Using AJAX and Smart HTTP Responses
By Ramesh Narayan Jangid
The performance of a PHP application is not just about how fast PHP code executes.

The way PHP processes browser requests and generates responses may have a greater influence on the overall performance of a PHP application.

Check this short article that mentions two of several best practices to improve the performance of a PHP application using AJAX and smart HTTP responses.

View Details

How to Develop a PHP CRUD App with a MVC Framework Optimized for Implementing CRUD Web Pages
By Manuel Lemos
A CRUD page allows Web application users to perform common operations to create, retrieve, update, and delete records of relevant information usually stored in a database, for instance, the records of blog articles.

One common way to implement CRUD applications is to use MVC frameworks. These frameworks use controllers to process the user-requested actions and model classes to perform operations on the database records.

This package implements an MVC framework specialized in performing CRUD operations. It provides a specific controller class that can check and process the values of request parameters that specify the actions and details of the CRUD operations that other controllers implement.

View Details

How to Use a PHP Template Engine That Can Display Values From Secure Data Decrypted Using OpenSSL
By Manuel Lemos
Encryption protects sensitive data from being stolen by people with bad intentions.

Encryption is usually used during the transmission of data sent between two computers, such as the content of Web pages served by a secure site using SSL encryption.

Encryption can also be used to store and encrypt data in databases.

This package implements a transparent encryption and decryption solution for PHP applications based on the Symfony framework, making it easy for Symfony developers to use.

View Details

How to Create Your Own PHP Framework Learning from a Practical Example Ready to Use
By Manuel Lemos
Frameworks are libraries of components that can be reused in multiple applications.

This fact allows developers to take less time to develop new applications using the same framework.

Check this framework to learn how to implement your own framework inspired in the code provided by this framework to implement common features needed by many applications like for instance models, views, controllers, request handler, router and dispatcher, and error handling.

View Details

How Can PHP Use the ChatGPT Text to Speech API to Generate Voice Audio from Text Or Extract Voice Text from Speech Audio
By Manuel Lemos
One good use of Artificial Intelligence technologies is to process human voices.

Check this PHP package to learn how to use the ChatGPT API from PHP to convert text to voice audio or convert voice audio to text strings.

View Details

How to Improve Laravel Livewire Components to Implement Better Dynamic Web User Interfaces with React.js, Vue.js, and Tagify
By Manuel Lemos
Laravel Livewire is a package that helps build modern user interfaces of applications developed using Laravel by integrating JavaScript libraries like React.js and Vue.js.

Tagify is a JavaScript library that can help add more tags to existing HTML tags on a Web page.

This package can integrate the Tagify library with Laravel Livewire components to add support to more tag attributes to integrate better with Laravel Livewire components.

View Details

How to Use a PHP Elastic Search Client to Implement a Search System for Your PHP Sites and Applications
By Manuel Lemos
Sites and applications that provide a lot of information that may be split into many pages may be too difficult for users to find the information they desire.

A search system may be useful in a site or application to help users locate the desired information.

Elastic Search is a Web service that allows developers to add a search system to their sites or applications without implementing their search system with their code.

View Details

How to Use a PHP Coverage Report to Check The Quality Level of Your PHPUnit Test Code
By Manuel Lemos
PHPUnit is a popular PHP framework to help developers elaborate test code to verify whether the code works as expected.

PHPUnit produces a Clover report in XML format that provides several details about the level of coverage of a current set of tests that use PHPUnit to test a PHP project.

Check this PHP package that uses the PHPUnit Clover report to calculate a coverage score and you can check how well your PHPUnit test code is testing your PHP projects.

View Details

How to Implement a PHP Face Recognition Login System
By Manuel Lemos
Face recognition is a feature of many systems that allows quick access to people who show their faces.

A system that supports face recognition must keep track of the faces of authorized users.

This package implements a login system that supports recognizing people who show their faces.

View Details

How to Use a PHP GitHub Webhook Package to Automatically Update the Code of an Application When the Code Changes in GitHub
By Manuel Lemos
Git is a version control system that can keep track of the changes done in the files of a project.

Git became more popular after the GitHub site started hosting projects using Git.

GitHub offers a Webhook service that can send requests to given URLs when a project is updated in a Git repository hosted by GitHub.

This package implements a Webhook handler script that updates site files when GitHub accesses a Webhook URL.

View Details

How to Use WordPress Embed Iframe Plugin to Embed Videos, PDF, and Other Types of Content in WordPress Posts
By Manuel Lemos
WordPress is a well-known content management platform that allows editors to create and edit content in a user-friendly way.

It allows developers to create plugins that will enable them to extend the editor capabilities beyond what the base WordPress editor allows.

This package provides a WordPress plugin that allows embedding content from external pages from the article editor.

View Details

How to use a PHP API Generator Package to Quickly Generate PHP API Applications with Web Pages to Manipulate Laravel Model Objects using CRUD Interfaces
By Manuel Lemos
Many PHP applications have common parts that provide users access to perform create, read, update, and delete (CRUD) operations on database table records.

Writing code to implement CRUD operations manually is a task that is tedious and time-consuming.

Check this PHP package that can generate code to use the Laravel framework to automatically generate applications with code that implement CRUD operations through an API or Web pages to manipulate given database tables using Laravel model classes.

View Details

How to Implement a PHP AJAX jQuery MySQL Folder Tree View to Dynamically Show A List of Folders and Their Contents Updated Without Page Reloading
By Manuel Lemos
AJAX is used by many Web applications to send requests from the browser to a Web server to store or retrieve information that can be used to update the page dynamically without requiring that the page be reloaded.

One type of application of AJAX is to display folders that may contain files or other folders inside them. When the user clicks on a folder, an AJAX request is sent to the Web server using JavaScript to retrieve the files and folders it may contain to be displayed on the page.

Check this PHP package that sends AJAX requests using jQuery to dynamically update listings of folders to display them in a tree view.

View Details

How to Create a Multi User Website PHP that uses CRUD and MVC Classes to Implement an Application to Provide Services to Multiple Users
By Manuel Lemos
Many PHP sites allow multiple users to access services provided to registered users.

Developers can better organize the application project code files by using design patterns to implement classes that use the Model-View-Controller (MVC) and Create, Read, Update, Delete (CRUD) classes.

Check this package to learn how to implement MVC and CRUD classes to develop an application that provides services to registered users.

View Details

How to Perform a WordPress Backup and Restore Process with a Free PHP Tool that Does Not Require a WordPress Plugin to Be Installed
By Manuel Lemos
WordPress is a popular content management publication tool used by many site owners.

The popularity of WordPress made it a preferred target of people who want to abuse WordPress sites to perform illegal actions like, for instance, altering the WordPress site pages to promote products of other businesses.

When that happens it is always a good idea to have a backup copy of the WordPress site data to restore very quickly and revert the damage caused by abusers.

Read this short article to learn how to use the Backup4WP PHP tool to take a backup copy and restore WordPress site data without installing a WordPress plugin.

View Details

How to Use a PHP API Generator to Create an API to Access Laravel Model Class Objects
By Manuel Lemos
Many PHP developers are working on creating APIs to provide access to services that they developed to be consumed by mobile applications or sites or applications implemented by other developers.

A part of the PHP API developers use Laravel to develop their APIs.

Check this package to learn how to quickly generate the code for an API that accesses a model class created with Laravel to manipulate objects of that model class.

View Details

What Are PHP Projects Artificial Intelligence Opportunities and Challenges to Improve Development Efficiency
By Ahmed Abdulla
PHP is a popular programming language used mainly to develop Web sites, applications, and APIs.

Using artificial intelligence in PHP projects can help improve development efficiency in several ways.

Read this short article to learn about the opportunities and challenges of using artificial intelligence tools and APIs to improve the efficiency of PHP project development.

View Details

How to Implement an API in PHP Learning from a PHP CRUD REST API Example that Uses the MVC Design Pattern
By Manuel Lemos
APIs are like Web sites that provide access to other sites to provide services to each other.

You can develop an API in any programming language for Web site development including PHP.

Check this package to learn how to develop an API in PHP from an example API application that uses the Model-View-Controller (MVC) design pattern to provide a good structure for the API project code files separating the concerns for API request handling, routing requests to action controller classes and generating the API request responses.

View Details

How Developers Can Implement A PHP Monitor Tool Using a Package That Can Send Messages to a Slack Channel When a PHP Site Stops Working
By Manuel Lemos
Every software project has issues that should be fixed quickly because they affect how the project works for its users.

In some cases, those issues are only detected when the project is in production and is affecting real users.

Monitoring tools are useful to detect and notify the project leaders responsible for fixing the issues as soon as possible.

Slack is a platform that facilitates the collaboration of people who work on a project.

Check this package to learn how to use it to quickly notify people working on a project when critical issues happen on a site in a production environment.

View Details

How to Learn More About PHP API Security with a PHP Implementation of the YPrey Application For Testing Will Known API Security Vulnerabilities
By Manuel Lemos
OWASP is an Open Source project that aims to educate developers to implement applications that are not vulnerable to security attacks.

The OWASP members elaborate documentation to help developers learn and check their applications are secure.

The yrprey project provides an application that can be used to learn and test well-known security vulnerabilities documented by OWASP members.

This package provides a PHP implementation of the yrprey project.

View Details

How to Use a PHPUnit Skeleton Generator to Produce Tests for Your PHP Applications Faster
By Manuel Lemos
Automated testing is a useful approach to verifying the quality of a software project with less work than if you would test the software manually.

PHP developers can use frameworks like PHPUnit and Codeception to create automated tests faster.

This package can generate skeletons of directories with files to quickly start using PHPUnit or Codeception to create tests for PHP projects.

View Details

How to Implement a PHP AI Generator That Generates Images From Requests Expressed by Users in Natural Language Using CloudFlare Worker Generative Artificial Intelligence API
By Manuel Lemos
Generative artificial intelligence is an application that allows software to generate data in many formats based on user requests.

One of the most valuable applications of generative artificial intelligence is generating images based on users' requests using natural language.

This package provides a simple PHP script that uses CloudFlare generative artificial intelligence API to generate images from user requests using specific models defined in the script.

View Details

How to Use a PHP Datatables AJAX JSON Helper to Generate AJAX Request Responses Needed to Implement User-Friendly Sites
By Manuel Lemos
Using AJAX to implement PHP Web applications is a good idea because it can provide a better user experience by allowing users to interact with the applications quickly.

Usually, AJAX-based applications need to retrieve data from the web server to update the current page without causing a page to reload.

A datatable is a way of gathering information on the server side, such as from database query results.

The datatable can be serialized in JSON format and returned as a response to AJAX requests sent from the browser using JavaScript.

Check out the PHP Datatable AJAX JSON Server helper code to learn how to generate datatables with PHP on the server side to respond to AJAX requests.

View Details

How to Implement Better PHP Security Support to Detect Possible Frauds in Financial Transactions Using Benford's Law
By Manuel Lemos
Fraud detection is critical to guarantee the security of transactions, especially when it involves financial values.

Benford's law can be applied to detect abnormal values in a data set that may contain financial values by analyzing its digits.

This package implements Benford's law in a PHP class. PHP developers can use it in applications to analyze values used in financial transactions and quickly detect the probability of fraud.

View Details

PHP Conference 2023 Calendar of October of User Group Meetings and Conferences By Manuel Lemos The PHP community continues to organize nice events. Events are a great opportunity for all developers to learn from each other.

Read this short article to learn where and when those presential and online conferences and user group meetings of interest for PHP developers will be held in October 2023.

If you want to participate, sign up as soon as possible because many of these events have limited capacity to gather all the developers that may want to participate.

View Details

Future of PDO, PHP Classes Ideas, Scan Documents into PDF, Tools for Code Quality - 3 minutes - Lately in PHP 95 By Manuel Lemos The Lately in PHP podcast is back with a new format that is more direct to the point, thanks to the feedback from our audience.

Read this article, watch a 3-minute video, or listen to episode 95 of the Lately in PHP podcast to learn about the best articles published on the PHP Classes site in the week of September 3 through September 9.

View Details

How to Use PHP Tools to Learn How to Use the PHP Best Code Practices
By Haseeb Ahmad Basil
To write great code, you need to learn and practice in a way that suits the needs of the projects and provides several other benefits that determine code quality.

Those benefits include testing importing code, using code styles that make the code readable to others, avoiding needless code repetitions, and organizing the code to make it easy to find the parts used for different purposes.

Read this article to learn more about these good practices and use PHP tools to help you audit your PHP code so you know what you need to do to improve your PHP code quality.

View Details

How to Use a PHP Document Scanner That Can Convert Printed Documents to PDF and Works in Windows, Mac OS, and Linux
By Manuel Lemos
Many applications need to use documents that have been printed and process the documents in a way they can be stored as files.

There are scanner devices that can be used to convert printed documents to PDF files.

The conversion process is complex because there are many types of scanner devices.

One way to simplify this process is to use specialized programs that communicate with almost any device.

NAPS2 is one of those programs. It can work in different operating systems.

This package can communicate with NAPS2 to utilize its capabilities to scan printed documents and convert them into PDF files.

View Details

How to Have Better Ideas to Developer New PHP Classes in 5 Steps
By Daniel Alan Guerrero Matamoros
How often did you spend time thinking in a PHP class that makes something useful for your job project, personal skill, or even sharing your ideas with the community?

Well, read this article in which I will share some points to evaluate your PHP class ideas and explain each point.

View Details

How PHP PDO Driver Classes Will Improve in Future PHP Versions
By Manuel Lemos
The PHP core group has approved a new proposal to improve the features of the PDO driver classes.

Please read this short article to learn about what is planned to improve the features of the PDO driver classes so you can prepare to change your PHP code to benefit from planned improvements when they are made available in a PHP version that will be released with these improvements.

View Details

How to Create Nice PHP Article Editor Pages using ASCOOS Content Management System
By Manuel Lemos
Content management systems help create sites that publish valuable content.

Most of the best content management systems allow the generation of pages with content so that the pages can be composed using blocks dedicated to showing specific types of information.

This package provides a module for the ASCOOS CMS that can display information about the author of an article.

This makes it easier to insert the information of an author page automatically.

View Details

How to Quickly Implement PHP Multi Language Support in a Website using Template Scripts By Manuel Lemos Many developers need to create sites that should be available to their users in several languages.

This way, sites can be helpful to more users of many world countries.

This package provides three types of ready-to-use template scripts that can render texts from translation files differently.

View Details

How to Use the PHP Google Contacts API Package to Retrieve, Change and Delete Contacts By Stefan Kientzler This PHP Google Contacts API Package allows to access the Google API to have access to people resources like contacts and contact groups without depending on any other library because it only uses the PHP cURL extension.

Read this short tutorial to learn how to use this package to retrieve, change, or delete contacts of a given user with a Google account.

This package can be installed traditionally by downloading the package files from the package download tab or using the modern form, using the PHP Composer tool by following the instructions in the package page download tab.

View Details

How Check If Two Images Can Be Copies using a PHP Image Correlation Package that Uses JavaScript to Perform Browser Side Calculations By Manuel Lemos Comparing images can be a valuable activity for many types of applications.

For instance, an application can determine if an image is mostly a copy of another embodiment.

Another application can compare two movie images to determine if there are significant changes between the two scenes.

This package implements an image comparison approach calculating a correlation factor using JavaScript and PHP code.

View Details

How to Implement a PHP ChatGPT Client in a Laravel Site Integrating a Laravel Nova By Manuel Lemos ChatGPT is a popular artificial intelligence service that allows users to ask questions using natural language.

Laravel Nova is a package that allows developers to implement modular administration panels in sites implemented using the Laravel framework.

This package implements an integration between the ChatGPT service and a panel that lets users ask questions to the ChatGPT service using its API from a Laravel application.

This possibility allows users of a Laravel application to quickly ask questions and get answers in the same place as a site where the users perform site administration tasks.

View Details

How Can PHP Detect AdBlock Used by Site Users to Educate Them to Support the Site that They Love and Keep Sites Financially Viable By Manuel Lemos Many sites place ads on their pages to earn more revenue while providing free access to site resources.

Some users who dislike seeing ads use ad-blocking extensions in their browsers to avoid showing ads.

When ads are blocked, the site owners who depend on advertising revenue to keep the sites running pay for all its costs and may be unable to control the sites open.

This package uses a JavaScript library to show messages to users that block ads to let them know that the advertising revenue is necessary to give them access to the site resources.

This way, conscious users may unblock ads for the sites that show these messages.

View Details

How to Use PHP Array Intersection to Find Patterns of Common Values to Implement Artificial Intelligence Solutions Based on Past Patterns By Manuel Lemos Some applications need to analyze different sets of values to find what they have in common.

This is the case with artificial intelligence applications that try to find patterns they can recognize to compare with situations they detected in the past and help those application users make good decisions based on the patterns they found.

This package can analyze multiple sets of values to find the deals all groups have in common.

The package provides classes that use PHP generators and iterator interfaces, so developers that use this package can process the intersection results in one value at a time.

View Details

How to Implement PHP Voice Recognition that Uses the Web Speech API to Transcribe the Words of the User Voice Commands By Manuel Lemos Many users like to interact with Web sites using voice because they will have the hands free to do other tasks.

Nowadays, there is a W3C standard to implement voice recognition called Web Speech API.

This package uses an implementation of the Web Speech API based on the Google Chrome browser called webkitSpeechRecognition.

The package can capture the user's speech and call the webkitSpeechRecognition API to transcribe the speech to text.

This allows PHP developers to implement applications that are activated by commands from the users via their voices.

View Details

How to Use a PHP Analyze URL Tool to Check a Web Site for Issues or Learn How to Implement Good Practices By Manuel Lemos Many developers learn about aspects of other sites by analyzing how the sites are implemented.

This is a good habit that is useful for developers to learn how to implement certain good practices from other sites or even check if their sites have issues they need to fix.

This package implements a Web site analysis tool that provides different analysis tools with an easy-to-use user interface.

View Details

How to Use a PHP API Generator Tool to Simplify the Development an API By Manuel Lemos API development is complex. Developers that want to create an API need to take of many aspects of a working application like the API functions, API routing to classes that will implement the API calls, API user authentication, etc...

This package simplifies the process by providing an application that can generate files to implement an API from parameters passed via command line parameters or via an interactive user interface that can run from the command line console.

View Details

Google and Intel to Help PHP 7 to Become Faster and More Secure - Lately in PHP podcast episode 62 By Manuel Lemos Recently researchers from Google and Intel have approached the PHP core developers to offer to contribute to PHP development by implementing features that will make PHP fast and more secure.

These Google and Intel researchers help offers and their first proposals was one the main topics commented by Manuel Lemos and Arturs Sosins in the episode 62 of the Lately in PHP podcast.

They also commented on a proposal for having type hinting in class variables in future PHP 7 versions, new reports that show how PHP 7 performance is improving on day by day basis, as well other PHP 7 feature proposals.

They also commented on the latest PHP tutorial articles and book reviews published in the last month.

Listen to the podcast, or watch the hangout video, or read the transcript to learn more about these interesting PHP topics.

View Details

How to Use a PHP Women Menstruation Days Calculator to Help Couple Partners to Prepare for Dealing with Difficult Days for Women By Manuel Lemos The menstruation date is important to many adult women and their couple partners.

Many couples that may only want to have children when they are ready or do not want to have children need to be careful to avoid having sex when the woman is in the fertile period.

If the couples know the menstruation date and the low fertility days of the woman, they know when are the safe days to have sex without the risk of getting pregnant.

This package helps users calculate the safer days considering the last menstruation data and the average length of the woman's menstruation cycle.

View Details

How to Implement a PHP Search Engine that Can Crawl, Index and Present Results Only of Specific Sites By Manuel Lemos Popular search engines like Google are handy for finding content on sites where users don't know where those sites are.

When users want to search more specific sites that they know, general search engines like Google are not ideal.

This package provides a PHP application that lets users index and search only the sites they want.

View Details

How to Implement a PHP AJAX Image Upload with Progress Bar to Show How Much of a Large File Was Uploaded By Manuel Lemos Many sites need to process image files uploaded by users using Web forms.

When the image files are large, uploading may take a lot of time.

In that case, it would be better to show a progress bar to let the users know how is the image file upload process going.

This package shows how to use AJAX support and the progress event to offer a percentage of the file uploaded to the server.

View Details

How to Use a PHP Cloud Hosting Service that Is Fast and Easy to Configure By Manuel Lemos If you are a serious PHP developer, you must have experience with cloud hosting platforms.

Even if you do not have experience with cloud hosting, this article will help you better understand the current Cloud hosting options so that you can make a good choice for your next PHP site or API project.

Read this article to learn about existing alternatives for good Cloud hosting solutions, as well as get a recommendation for a simple and affordable cloud hosting option that you can try for free to test before you decide that it is a good option to host your PHP projects.

View Details

3 Last PHP 8.3 New Features By Manuel Lemos PHP 8.3 feature freeze ended July 18, 2023. This means no new features will be added to PHP 8.3.0, released around November and December 2023.

Read this article to learn the last four features implemented to know what you can expect when the final PHP 8.3.0 is released.

View Details

How Can PHP Generate Form from Database Table that Stores Application Configuration for All Users By Manuel Lemos A significant part of the mature applications have configurations that the application users can edit.

Usually, developers store the configuration values for each user in some container, for instance, database tables. Then they develop a user interface to let users edit their configuration values.

This package provides an alternative solution that lets the application developer create model classes for each configuration they want to let the users edit.

Then the application can generate form groups that can be added to a form to let the users edit the configuration values on a Web page.

This way, developers can spend less time implementing Web forms to let users edit their application configuration settings.

View Details

How to Integrate a Laravel Site with a Woocommerce Site using a Laravel Woocoomerce Package By Manuel Lemos Woocommerce is a prevalent e-commerce application built on top of WordPress.

Woocommerce exposes API functions that API clients can call to manipulate objects of an e-commerce site like customers, products, orders, etc...

This package makes calling those Woocommerce API functions from a Laravel application easy.

View Details

How to Use a PHP Test Coverage Tool to Improve the Quality of Your PHP Projects By Manuel Lemos One way to measure the quality of a software project is to measure the ability of the project code to test itself and verify that the code works as intended.

The projects with the best quality often provide tests that cover a significant part of the code.

This package provides means to measure the extension of the tests provided by a Laravel package to test its features implemented by routes.

This way, developers can understand how much of their project code is covered by tests. Therefore they can also have an idea of how many tests need to be added to improve the coverage of the project tests.

View Details

How to Use a PHP Server Monitor Package For Free to Be Notified When a Site is Down By Manuel Lemos Every Web project needs to be monitored to confirm it responds well when the users access the site.

One way to monitor a site is to try to access one page and check if it is responding quickly.

This package provides a script that responds to accesses from a separate server.

The script can check an internal file that records the last time the site application responded well.

If it passed over a given time, the script can record a downtime moment and output a response displaying the current downtime.

This way, a developer can implement a simple server status script cheaply.

View Details

How to Animate and Show the Conway's Game of Life PHP Implementation in a Web Site By Manuel Lemos Game of Life is a concept created by John Horton Conway to define how the life of cells will happen in an ecosystem limited by rules.

The life of the cells can be animated and displayed on a board so the users can see what happens to the cells after each game iteration.

This package implements a PHP version of the Game of Life. The package can render the changes to the life of the cells in a Web page updated by this package on each iteration.

View Details

How to Upgrade to a Newer PHP Version Using a PHP Backwards Compatibility Library By Manuel Lemos With every new PHP version, changes are made to the PHP language that may introduce incompatibilities between versions.

If your PHP applications rely on parts of the language that were changed, you may need to change your code to keep it working in the new PHP version that runs on the machine your PHP application is running.

Suppose your PHP application relies on PHP function or other parts of the language that changed in a backward incompatibility way. In that case, you may need to change your PHP application code to adapt to the PHP version changes.

This package provides a library of scripts with PHP functions that emulate the functions introduced in newer PHP versions.

Using this library, you can adapt your PHP application code to make it work in a newer PHP version without having to upgrade the PHP version that you use in the environment your PHP application is running.

This way, you can change your PHP application code to prepare to make it work in newer PHP versions making a smooth transition between PHP versions.

View Details

Why You Need a PHP Backwards Compatibility Library Before You Upgrade to a Newer PHP Version By ASCOOS CMS Whenever you consider upgrading to a newer PHP version, you need to be careful because parts of the code of your PHP projects may stop working.

Read this article to learn more about the issues you may face during the PHP version upgrade and how the PHP Backwards Compatibility Library may help you to solve those issues.

View Details

How to Implement a PHP MySQL Update Schema Procedure Very Quickly By Manuel Lemos Sometimes applications that use a database to store their data need to update the schema of the database tables to be able to implement new features.

Usually, developers start making changes to the database schema in the development environment. When the changes are well tested, they need to implement the same schema changes on the server-side.

This package provides a solution that uses schema definition files in JSON format to update the database schema either in the development environment or the production environment.

View Details

How to Use a PHP OCR Image to Text Extractor based on a WordPress Plugin that User the Tesseract.js API By Manuel Lemos Sometimes it is necessary to read text written on images so the textbook can be processed for useful purposes like scanning a book's pages into an image, extracting the text and editing it, and improving it for publication.

This package provides a WordPress plugin that uses the Tesseract OCR JavaScript API to extract text from an image a WordPress user offers.

View Details

3 PHP 8.3 New Features Implemented Before Feature Freeze By Manuel Lemos PHP 8.3 is expected to be released around November and December of 2023.

The feature freeze date is coming on July 18, 2023. After that date, adding more new features to PHP 8.3 will not be allowed.

Therefore several proponents of new PHP 8.3 features that were voted accepted have finally added the code to implement those features.

There will be a few months to test these features before the final PHP 8.3.0 release.

Read this article to learn what those features just implemented for PHP 8.3, so you know what you can expect when the final PHP 8.3.0 is released.

View Details

How to Use a Prepare to Upgrade to a Newer PHP Version Using a PHP Backwards Compatibility Library By Manuel Lemos With every new PHP version, changes are made to the PHP language that may introduce incompatibilities between versions.

If your PHP applications rely on parts of the language that were changed, you may need to change your code to keep it working in the new PHP version that runs on the machine your PHP application is running.

Suppose your PHP application relies on PHP function or other parts of the language that changed in a backward incompatibility way. In that case, you may need to change your PHP application code to adapt to the PHP version changes.

This package provides a library of scripts with PHP functions that emulate the functions introduced in newer PHP versions.

Using this library, you can adapt your PHP application code to make it work in a newer PHP version without having to upgrade the PHP version that you use in the environment your PHP application is running.

This way, you can change your PHP application code to prepare to make it work in newer PHP versions making a smooth transition between PHP versions.

View Details

PHP ChatGPT API Example to Seed Database Records With Useful Constant Data Like Countries List By Manuel Lemos Many applications need to initialize databases with constant values like, for instance, the names of the countries of people with personal data records stored in the application database.

Usually, developers need to manually feed this data into the application to store the data in the respective database table records.

This package provides a more automated approach to solving this problem. It uses the ChatGPT API to retrieve the necessary data and inserts it in the expected database table records.

View Details

How Can PHP Export MySQL Query Results to Excel XLSX File Served for Download By Manuel Lemos Many people and companies use Microsoft Excel to view and manipulate financial and other types of data that can be presented on a grid of cells.

Sometimes the data they need to view or manipulate is stored in a database.

Many PHP applications use a MySQL server to store data that the people or companies want to view in Microsoft Excel.

This package provides a simple PHP script that shows how to extract data from a MySQL database and generate a Microsoft Excel spreadsheet that can be downloaded and viewed in the Microsoft Excel application of the user that accesses the PHP site that uses MySQL.

View Details

How to Use a PHP OpenSSL Encrypt Large File Package to Protect Large Data Without Using Too Much Memory By Manuel Lemos Some applications must encrypt data before storing or transmitting it to other computers.

Existing PHP extensions like OpenSSL support great encryption algorithms.

Usually, these algorithms are used to encrypt data from small text strings.

This package implements classes that can encrypt and decrypt large data by reading the data from files.

This way, these classes can handle encrypting and decrypting data that may take more memory than the limit that PHP is configured to use.

View Details

How to Display a PHP Website Top Pages in a Block Using ASCOOS Content Management System By Manuel Lemos Many sites are managed using content management systems that can perform common resources that the site owners want to provide to the site users.

Having a page with a list of the most popular content is an excellent resource that is interesting for content sites to have.

This package provides a module for the ASCOOS content management system that can generate a block to display in a site managed by this system to display the top content on one or more pages.

View Details

How to Perform PHP Object Initalization from Arrays or Named Parameters By Manuel Lemos Hydration is the process of initializing an object variable using values obtained separately.

A hydration class can, for instance, take an associative array, traverse the array values and assign class variables with the values of the array entries that have the same key value as the class variable name.

This package allows hydrating of an object from an associate array with the class variable values.

If you run PHP 8 or later, the package can hydrate an object of named argument values. This way, the object creation and initialization can be done using a single line of readable PHP code.

View Details

How to Retrieve PHP Application Configuration in a Secure Way Using Encrypted Environment Variables Stored Remotely By Manuel Lemos Many PHP applications use environment variables to share configuration values between different parts of the code, such as database configuration values.

Often these configuration values are sensitive information that should be kept private to protect that information.

This package uses an extension that loads and saves environment variables and the respective values in a remote service named EnvKey in an encrypted way.

This way, the application can share environment variable values for an application that can use a hosting environment distributed between multiple machines.

It uses encryption to avoid sharing sensitive information with the EnvKey service.

View Details

How to Use a PHP Image Compression on Upload to Reduce the File of Large Image By Manuel Lemos Some PHP sites take images from users using upload forms. When the sites take too many photos, it may exceed the disk space provided by the hosting company.

To avoid exceeding the available disk space and still be able to take many image files uploaded by the site users, using a compression solution may help.

This package can reduce the file size of uploaded images by processing the image files and saving them with a lower quality factor.

The image quality may be lost, but the files may take up much less space.

This way, PHP developers that use this approach avoid paying more money to the hosting company when they manage sites that need to take a lot of images that may occupy a lot of disk space.

View Details

PHP Classes Site 24th Anniversary and Future Plans By Manuel Lemos The PHP Classes site completed 24 years of existence.

We are swamped working on new developments that will benefit the site community.

Please read this article to learn more about the upcoming developments that will help you have a better life as a developer.

View Details

How to Use a PHP Holiday Library to Find the Exact Date of Well Known Holidays Every Year By Manuel Lemos Several types of holidays may be exceptional because they celebrate the lives of unique members of each family. That is the case of Mother's Day, Father's Day, Grandmother's Day, and Grandfather's Day.

The exact date of these holidays may change year after year.

This class can perform calculations to determine the dates of those holidays.

View Details

How to Check If You Are Using the PHP Line Length Best Practices By Manuel Lemos Many developers look at other developers' code to determine if they can understand what the code does to decide if it is helpful to use in their projects.

The readability of PHP code is one factor that may help other developers to understand the code that one developer writes.

One aspect of the readability of the code is the length of the line of code. PHP code that has very long lines is tough to read.

This package can analyze the PHP code of given source files to return valuable statistics about the length of the lines of code of those source files.

This way, other developers may know how easy or hard to read the code of a PHP project can be.

View Details

How to Use a WordPress Hotel Booking Plugin to Allow Users to Book Rooms Without Leaving the Hotel Site Implemented Using WordPress By Manuel Lemos Hotel room booking is part of the promising business sector that is tourism.

This package implements a plugin that can be used to implement the hotel booking process from a WordPress site.

The WordPress site can promote a hotel's business with content about the hotel and nearby locations that may be useful to tourists.

The plugin calls a custom API that needs to be provided on the server side to perform the actual room checking and booking actions.

This way, this package can work with many types of booking systems that already exist.

View Details

How to Add Frequently Asked Questions to WordPress Articles using a WordPress FAQ Plugin By Manuel Lemos WordPress is a well-known content management system that is very popular partly due to the possibility of being extended with plugin packages that can increase the list of WordPress site features.

A WordPress plugin can be used to insert blocks of content that may increase the interest and relevance of the content published on a site.

This package provides a plugin that allows published to edit and publish FAQ (Frequently Asked Questions) blocks in WordPress pages.

View Details

PHP Conference 2023 Calendar of July of User Group Meetings and Conferences By Manuel Lemos The PHP community never stops and is quite alive. Many PHP developers are so busy that they cannot attend presential events.

Therefore we can see that some PHP user groups and conference organizers are now providing online alternatives to events that used to occur in physical locations.

Read this short article to learn where and when those presential and online conferences and user group meetings of interest for PHP developers in July 2023.

If you want to participate, sign up as soon as possible because many of these events have limited capacity to gather all the developers that may want to participate.

View Details

How to Use a PHP Image API to Get the Image of the Day from NASA By Manuel Lemos NASA is the well-known North American Space Agency that does space exploration activities.

NASA often capture images from planets and stars that they observe in space.

They provide an API that can return what they call the image of the day.

This package provides a simple script that can retrieve and display the NASA image of the day.

View Details

How to Add Authentication to WordPress API Functions Provided using WooCommerce API Plugin By Manuel Lemos WooCommerce is a popular e-commerce platform developed in PHP based on WordPress.

It also provides the possibility to expose an API that can be used by external applications to integrate with WooCommerce.

Any application based on WordPress can be extended by plugins that provide additional functionality to make it more useful.

This package provides a plugin that implements several types of authentication to the API calls that can be added to the WooCommerce API.

This way, access to the API calls can be restricted to applications that can perform the authentication steps based on the OAuth protocol or simple parameters passed in the API call URLs.

View Details

7 PHP 8.3 New Features that You Will Want to Use After PHP 8.3 Release Date By Manuel Lemos PHP 8.3's final release is expected around November and December of 2023.

Read this short article summarizing the list of new features in just a single line per feature.

The article also provides links to pages with more details and example code for you that want to see how your PHP code can look like after you upgrade to PHP 8.3

View Details

How to Use a PHP Active Record Library to Implement Behaviors Useful for Many Applications By Manuel Lemos ActiveRecord is a common design pattern many software applications use to map objects containing the information of entities that the applications need to manipulate into database records.

There are ActiveRecord implementations in many programming languages that use different frameworks.

The package extends the ActiveRecord implementation of the PHP Yii2 framework to implement more explicit behaviors useful for many applications, such as specifying read-only attributes, timestamp attributes, and type casting.

View Details

PHP Current State and Performance in 2023 By David Tamas PHP is a modern and powerful language, but new language elements should be used with caution.

Please read this article to learn a few facts about PHP's current state and performance level according to the experience of David Tamas (that's me), a long-time experienced PHP developer.

View Details

How to Implement a PHP Contact Form to Send Email to Site Users Without Using a Database Server By Manuel Lemos Contact forms are prevalent features many sites have to let users contact the site managers to send important messages.

This package implements a contact form manager that stores messages in an SQLite database.

Since SQLite uses local files, it does not require a database server. This package does not need a database server to store contacts, making it simpler to implement in any site with PHP code.

View Details

How Does the PHP Code Generated By OpenAI Artificial Intelligence Services to Answer Developer Questions Looks Like By Manuel Lemos Generative artificial intelligence tools can generate files in many formats.

Programming code files are one of the types that artificial intelligence services like those from OpenAI can generate.

This package provides several examples of code in PHP and other languages generated by OpenAI services when they try to answer many developers' questions.

View Details

How to Merge Excel Files into One Using PHP By Manuel Lemos Excel is a popular tool for creating spreadsheets. It saves spreadsheet data in XML-based format, which usually is called XLSX.

This XML format makes it easy for PHP developers to process and create spreadsheet files in Excel XSLX format.

This package provides a script that uses an Excel parser and generator classes to show how to parse several Excel spreadsheet files and combine their values to generate a new spreadsheet that merges the importance of all spreadsheets in a single spreadsheet.

This way, other developers can learn to process multiple spreadsheets and combine them in a way that is convenient for their application purposes.

View Details

Find Out How Fast Are PostgreSQL JSONB Fields Using a PHP Postgresql JSON Performance Tool
By Manuel Lemos
JSON is a text format often used to represent complex data structures like objects and arrays.

JSONB is a modern type of field that the latest versions of the PostgreSQL database servers provide to store JSON data in binary format.

The possibility that PostgreSQL servers provide can make processing JSON data stored in PostgreSQL databases faster.

This PHP package implements a benchmark tool to measure the performance of accessing PostgreSQL database tables with JSONB fields for everyday database operations like indexing, searching, and filtering results.

View Details

How to Use a PHP Dependency Injection Container for Math Operations to Improve the Level of Precision with Different PHP Libraries
By Manuel Lemos
When a developer needs to solve a problem, several types of solutions can work as alternatives.

For instance, a developer may store and retrieve the application data using different databases.

In this case, using different classes that implement the same database access operations with other codes is recommended for accessing different types of databases.

Then the application may write code that works well with different databases.

If, in the future, the developer needs to change the application to use a different type of database, he needs to use an object to access that type of database without needing to change the code of the rest of the application.

In this case, the application uses a database access object and injects it into the code that implements the application.

This approach to separate the application code from the implementation class code that the application depends on is called dependency injection.

This package implements this approach to perform math operations. It provides a main class that implements several types of math operations. It also offers several classes that implement those math operations with different PHP extensions that provide various types of precision.

View Details

How to Use a PHP DOCX to PDF Converter using LibreOffice
By Manuel Lemos
PDF is a popular format used to store files of documents that are meant for printing.

DOCX is a popular format used by Microsoft Word application to store documents created by people that use that application to create and share documents.

The DOCX format may also store document files generated by other software tools. Some of those tools can be written in PHP.

PHP document generation tools may also process template documents stored in DOCX format files.

When document files in DOCX formats need to be printed, converting those files to PDF could be a good solution because the PDF format considers the physical dimensions of the published document.

This package provides a solution to convert one or more DOCX documents to PDF or JPEG using the LibreOffice application. This way, you can implement a conversion system based on free software.

View Details

How to Use an Extension of PHP Excel Package to Support Better Pivot Tables
By Manuel Lemos
Excel is a popular spreadsheet tool many people use to keep track of financial information in tables of rows and cells.

Excel supports pivot tables. Pivot tables can show aggregated information from rows and cells that provide more extensive information. Pivot tables can be used to show summaries of information to help people working with finances make better decisions related to their businesses.

A PHP package named PHP Excel provides several classes to manipulate spreadsheets stored in Excel XLSX format.

This package can extend the PHP Excel package to provide more extensive support to pivot tables.

View Details

How to Use a PHP IP Logger Application that Can Create Short URLs and Provide an API to Extend Its Possibilities with External Applications
By Manuel Lemos
One way to measure statistics of the access to site pages is to track the IP addresses of the computer or phone of the users that access those pages.

This package provides a short URL application in PHP that associates URLs with short-string codes with longer URLs.

When users access pages with short string codes, this application can track the user's access to the pages with long URLs.

This allows this application to track several types of statistics that may be useful for page owners to evaluate the audience of their pages.

This application also provides an API so external applications can process the statistics of the page accesses in a way that is more convenient to those applications.

View Details

How to Get a PHP PostgreSQL Query Result to Show the Database Table that Has a Given Column Name
By Manuel Lemos
Sometimes developers that have worked on several projects want to reuse code used in a project to manipulate database table columns for a specific purpose.

Still, they do not remember in which project they used that table column.

This package provides a simple tool for finding the PostgreSQL database and table with a column with a name entered by the user.

This way, the user can quickly find what was the project that used the code to access that PostgreSQL database table.

View Details

How to Use a PHP Dependency Management Class to Detect Bugs Cause by Unintended Changes in Class Dependencies
By Manuel Lemos
Well-structured PHP projects split their functionality into multiple components that perform a few actions to make the projects simpler to develop and understand.

PHP components are usually implemented as classes. Different components may use classes of other components that implement specialized actions.

These relations between different component classes are called dependencies.

This package implements a dependency management class that can keep track of objects of different dependency classes.

The package implements a callback hook feature that allows different component classes to track changes in the dependencies between component classes.

This possibility allows developers to find issues due to unintended changes in the class dependencies that may make the applications not work as expected, thus making it easier to debug this type of issue.

View Details

How to Simplify Words to Prepare Sentences for Implementing PHP Artificial Intelligence Applications Using a Porter Stemming PHP Extension
By Manuel Lemos
The Porter stemmer algorithm is used to process words to remove common endings. This algorithm helps detect similar words.

The Porter stemmer algorithm is used in artificial intelligence applications that simplify the processing of words in sentences by reducing the number of words the artificial intelligence needs to recognize.

This package provides a PHP extension written in C that provides a PHP function that implements the Porter stemmer algorithm.

This way, this function can run faster than a pure PHP implementation of the same algorithm. Consequently, PHP functions that use this extension can also run faster and process text in less time.

View Details

How to Reduce the Costs of Hosting PHP Applications with the Compression Support of PHP memcached Extension
By Manuel Lemos
One way to make PHP applications and sites faster is to use a caching method to store frequently used information, for instance, the results of database queries or the HTML contents of pages that do not change often.

In PHP, you can use a simple file-based cache system. However, a more efficient way to cache data is to use Memcached servers using the PHP Memcached extension.

This extension was improved by using compression to reduce the memory it takes to store cached data.

Read this article to learn more about making PHP applications faster by using cache solutions and how to use the latest version of the PHP Memcached solution to make PHP quicker and reduce the hosting costs of your PHP applications.

View Details

How to Use a PHP Command Line Arguments Parser That Uses Callback Functions to Process Arguments and Execute the Commands
By Manuel Lemos
PHP can start running scripts from the command line console shell using the PHP CLI version.

Those scripts may take arguments passed by the users in front of the PHP script name.

PHP can create an array of arguments to make it easier for the scripts to process the parameters.

This package simplifies the processing of arguments by providing a means to call given functions to help developers process each type of argument separately.

View Details

How to Use a PHP N-grams String Comparison to Determine If a User Question is Similar to Another Question that Your Business Support Can Provide an Answer
By Manuel Lemos
Humans use languages to talk to each other. Usually, they form sentences that use words in several ways with the same meaning, although the sentences use different words.

When people ask questions to a software application, the software needs to understand how people express the same question.

This package can parse sentences in a way that can determine that a question is very similar to another that asks about the same problem.

This way, this package can implement the base of artificial intelligence applications that can understand what humans are asking in specific languages.

View Details

How to Compare PHP vs JavaScript Learning What Can PHP Do That JavaScript Can't
By Yusuf Oyebanji
All popular programming languages are pretty general-purpose.

Deciding the best programming language is more about what language is more suited to do.

Read this article to learn about the essential differences between PHP and JavaScript to decide the best language for your projects.

View Details

How to Organize Your Frequently Used PHP Snippets Online with an Application that Makes it Easy to Reuse Your Favorite PHP Code
By Manuel Lemos
Many developers have a set of code snippets that they frequently use in their projects.

Organizing those snippets in a way that is easy to find the snippet that you want to use in each project situation is a challenge.

This package provides a solution to organize better collections of code snippets.

It provides an easy-to-use application that developers can use to manage collections of snippets with the possibility to search for snippets with names that may be misspelled and so tolerate typing mistakes.

View Details

How to Build a PHP API or Web Application Based on a Simple to Configure PHP Microservices Framework
By Manuel Lemos
Many PHP applications are based on microservices that implement Web or API interfaces.

These applications can be implemented using base core code that developers can customize in several ways.

This package implements a microservices approach based on configuration PHP scripts that contain arrays with values to set the application's behavior.

This way, it is straightforward and fast to create microservices-based applications.

View Details

How Can PHP Send Email to Gmail Users that Are in the Contacts of a Given Gmail User with His Permission
By Manuel Lemos
Many people that access the Internet have Google accounts to access Google products like, for instance, Gmail.

Gmail users have a contact list to make sending emails to others they have exchanged messages easily. These contacts are accessible using the Google People API.

This package can access the Google People API to perform operations with a user's contacts with a Google account.

This way, this package makes it easier to implement applications that can make good use of the access to a person's contacts with a Google account, for instance, sending invitations to social networks to people in their contact list.

View Details

A Tool That You Can Use to Display a PHP Dependency Graph to Show How PHP Packages in a Project Depend on Each other
By Manuel Lemos
Directed graphs are a set of vertex points and edges that connect the vertexes in a given direction.

These graphs are often used to define state machines that developers can use to model parts of applications that need to represent visually different states of an application, for instance, language parsers and interpreters.

The package provides classes that model graphs and can perform several operations, allowing developers to build and traverse directed graphs in their PHP applications quickly.

View Details

Tool Can You Use to Display a PHP Dependency Graph to Show How PHP Packages in a Project Depend on Each other
By Manuel Lemos
Directed graphs are a set of vertex points and edges that connect the vertexes in a given direction.

These graphs are often used to define state machines that developers can use to model parts of applications that need to represent visually different states of an application, for instance, language parsers and interpreters.

The package provides classes that model graphs and can perform several operations, allowing developers to build and traverse directed graphs in their PHP applications quickly.

View Details

How Can PHP Embed Video or Slide Presentations in a Web Page Making the Page Load Faster Using Lazy Loading
By Manuel Lemos
Showing videos from YouTube or presentations of SlideShare is something that many sites do to provide better content to their users.

Since Google started to evaluate the user experience of sites, the speed of loading and rendering a page started to be considered as a factor to evaluate the user experience.

Lazy loading is a technique that can make pages load much faster to improve the user experience.

Read this article to learn how to improve the speed of loading pages using HTML generated by the PHP Embed Video package using the example code presented in this article.


View Details

How to Use a PHP HTML Class to Quickly Generate HTML and JavaScript and JQuery Code Using PHP Class Calls
By Manuel Lemos
All sites served using PHP need to output HTML. One way to output that HTML code using PHP is to compose and generate the HTML from parameters that define details of the HTML tags that developers need to develop to manage the page output.

This package provides a class to generate HTML tags and JavaScript code to call the jQuery library.

The class uses the PHP \_\_call handler to allow the addition of any HTML tag or jQuery function library call to the current page output.

This way, the code of these classes is minimal, as they do not need to have many functions to support all HTML tags or jQuery functions.

View Details

How Can PHP Output JSON of Large Arrays or Objects Without Using Too Much Memory to Avoid Exceeding the Configured PHP Memory Limit
By Manuel Lemos
JSON is a format for encoding data structures as strings. PHP can encode any variable type using the JSON format.

Suppose you want to encode an array with many elements. In that case, the PHP JSON encoding function can take a lot of memory because it needs to take a variable as a parameter with all the elements and create a string in memory with the result of the JSON encoding process.

This package provides a better solution that takes much less memory. It can encode one array element at a time and outputs it immediately without adding all elements to the array.

This way, the class does not store all array elements, and that will save a lot of memory, keeping the memory usage within limits set in the PHP configuration.

View Details

How to Find More Valuable Opportunities in Software Projects using a PHP Game
By Manuel Lemos
Games help train people to solve challenging problems.

The Find the Duck game presents a challenging problem: finding something that looks wrong in certain situations.

In the case of this game, what is wrong is what looks different from the average.

Sometimes what is different may not be wrong, but it can be what is more valuable. This is how people spot new opportunities to solve problems in a better way for other people.

This package implements a PHP version of the Find the Duck Game.

This simple game can help managers find people who are good at paying attention to details in projects that may be causing significant problems that need to be solved.

View Details

How to Use PHP Object Keys Using Dot Notation Strings to Quickly Access Nested Objects and Arrays
By Manuel Lemos
Dot notation is a convention to define strings that can specify the position of a value that makes part of a nested array or object.

Using the dot notation can simplify the way you can access the array or objects using strings instead of the usual syntax that PHP provides to access element values that may exist in deep locations of the

This package provides classes with functions that can access array or object elements using dot notation strings to specify the elements' path.

View Details

How to Implement a PHP Artificial Intelligence Based Laravel Application using ChatGPT API Services
By Manuel Lemos
ChatGPT became a popular application of artificial intelligence due to its capability to automatically process requests from humans and translate them into practical actions that are done in much less time than they would take if they were done in traditional methods.

This package provides a Laravel service PHP class that can perform several types of actions to process text, images, and audio using Chat GPT API.

View Details

How to Use a PHP Payment API to Generate Payment Links or QRCode Images
By Manuel Lemos
Many payment systems can generate URLs for links that can be used in sites to make the payment system mobile application open when those payment links are clicked by customers.

This package can generate QRCode images that encode the payment URLs, so customers can aim their mobile phone cameras at the QRCode images displayed on a Web page.

This way it becomes easier for the customers to trigger a payment action by using their mobile phones.

View Details

How to Influence in the PHP Features of Present and Future Versions by Participating in the PHP Advisory board
By Manuel Lemos
Every PHP developer can have good ideas on how PHP can become better.

Those good ideas will only become a reality if you can influence the PHP core developers to implement them.

Please read this article to learn how you can influence the present and future of the PHP language to make it better for you and millions of PHP developers worldwide.

View Details

How to Implement a PHP XML Converter Tool that Can Transform XML Generated by One Application into XML Used By Another Application
By Manuel Lemos
XML is a trendy format for saving structured data in a platform-independent way.

Many applications use XML formats to save project data to files. Each application uses different variants of XML.

Therefore, when it is necessary to use project data from one application in another application, the XML format of the original application needs to be converted to the other application's XML format.

This package demonstrates how to convert XML data between different applications.

View Details

How to Use a PHP MySQL Architecture Tool to Quickly View and Navigate over a MySQL Database Structure in Web Page or Terminal Console
By Manuel Lemos
MySQL is a prevalent SQL database server type many PHP developers use.

Sometimes developers want an overview of the MySQL database table structure details. There are several SQL commands that MySQL supports to give that overview.

This package provides an excellent presentation of the MySQL database table structure details in a way that is easier to understand than the output of the SQL query results that return that information.

View Details

How to Get Football Live Info About Games and Scores Using the LiveScore PHP Service API
By Manuel Lemos
Football (or soccer like what it is called in some countries) is famous worldwide.

Where there are championship games, many people want to know everything about the games, teams, players, scores, etc...

api-football.com provides an API that can return all that kind of information. This package provides a PHP client to retrieve that football game's data from that API.

View Details

How to Prepare Yourself to the Future PHP Artificial Intelligence Projects
By Manuel Lemos
The recent launch of applications like ChatGPT, which attracted the curiosity of many people, made artificial intelligence a topic that is frequently commented on nowadays.

Suppose you still do not use artificial intelligence in your application. In that case, you need to do something to prepare for future projects requiring experience in implementing artificial intelligence resources.

Read this article to learn how to prepare yourself to be ready to work on a project that will require artificial intelligence experience.

View Details

How to Use a PHP Excel Reader Class to Extract Spreadsheet Details and Insert them in a Database
By Manuel Lemos
Companies develop many PHP applications to serve the needs of the financial department.

Often companies create spreadsheets with financial numbers and calculations with the Excel application.

This package provides a simple application that demonstrates how to upload an Excel spreadsheet file to Web site running PHP and then extract details from the spreadsheet to store in a SQL server database table, so the stored data may be used by other parts of the PHP Web site.

View Details

How to Use a WordPress Customization Plugin to Configure Many Parts a Theme for WordPress Pages
By Manuel Lemos
WordPress became one of the most popular PHP applications for publishing Web sites in significant part due to providing a way to customize several aspects of its features.

Themes are a way for WordPress to customize several aspects of a Web site presentation.

This package provides a theme that allows WordPress site administrators to customize several parts of the pages of a Web site.

View Details

PHP Conference 2023 Calendar of May of User Group Meetings and Conferences
By Manuel Lemos
Another month passed, and it is good to realize that the PHP community remains alive. One evidence of that fact is the number of PHP conferences that happen again in many places worldwide.

Some conferences and developer meetings happen regularly every month. Others only occur when the organizers have some free time.

Read this short article to learn where and will help the conferences and user group meetings of interest for PHP developers in May 2023, so you can plan with some time to participate and learn more about how to be a better PHP developer learning from other PHP developers.

View Details

How to Use a PHP Image Manipulation API More Efficiently By Performing Many Operations Before Downloading the Resulting Image from the API
By Manuel Lemos
Many PHP applications need to process images in many ways.

This package provides an API that can handle HTTP requests that send images for processing and return the processed image as a response.

The package can store the images sent to the server in a database. This way, the API can perform several image processing operations, and only when the client applications are made the API returns the final image that was processed.

View Details

How to Improve the Words Used in PHP Code to Develop Better PHP Domain Driven Design Applications
By Manuel Lemos
Domain-driven design (DDD) is an approach to software development that tries to match the programming style with language that uses words that better fit the use of words in a given domain of the problems that applications try to solve.

This package can analyze the words used in the code of PHP classes and generate reports of using words in the code.

This way, developers can see if the words used in their code are the same as those used in application problems and solutions.

View Details

How to Implement a PHP Game Engine using a PHP Map Class to Render Game Maps Made of Small Set of Tile Images
By Manuel Lemos
Many games need to display maps on the screen to let the players see where is their game player's character.

A map may be made of similar tiles used in multiple places on the map.

This package provides means to display maps on a Web page using tiles taken of images that contain multiple map tiles per image.

Using multiple tiles from a single image can make the map rendering faster because that image can be loaded once and cached on the browser side to make the map rendering done very quickly.

View Details

How You Can Use a WordPress File Manager Plugin for Users to Manage WordPress Files Using the Administration Pages
By Manuel Lemos
WordPress is a very popular PHP application that can be extended with useful plugins that can make WordPress more valuable than the base version without any plugins installed.

WordPress does not allow administrators to manage the files and folders stored with the WordPress installation.

This package is a WordPress plugin that provides a Web interface to let administrators perform several practical operations with files and folders stored in the server where WordPress is installed.

View Details

How Can You Start Improving a Web Design with New Page Layouts using Prototypes Developed in the Figma Tool
By Manuel Lemos
Every time you need to implement an application, you must think about how the application pages will be presented and how the users will interact with the pages.

Suppose your applications are not simple and are made of many pages. In that case, it is better to create prototypes to preview how the applications will look and how the users will interact to perform the actions they want to do in your application.

Designing prototypes before implementing the pages is better so you can preview the pages and make as many quick changes until the pages work simply for lay users.

Read this article to learn how to take advantage of a good prototyping tool named Figma and how you can use this tool for free.

View Details

How to Do Web Development of PHP Projects Faster Using a Workflow Tool to Help Managing the Project Tasks
By Manuel Lemos
Many software development projects can become complex and involve many people. Some tasks must be done by people waiting for others to do their part.

A workflow system can help manage all the tasks and people participating in a project so that the project can be done faster.

Please read this short article to learn how to use the airSlate tool to help you manage your software projects faster. You can also try this tool for free for 30 days, so you can try it without paying.


View Details

How Can PHP Log to Another Server Important Application Activity in a Secure Way
By Manuel Lemos
Chronicle is an application that can store arbitrary data in an encrypted container.

A Chronicle instance can be made available over a network using client and server components like Gossamer and Quill.

This package provides a handler for the Monolog logging class to allow developers to log events in their applications securely by accessing a Chronicle instance via a Quill client.

This way, this package can help store logging information in a secure container that runs in a separate network machine if possible.

View Details

How to Manage PHP Work from Home using a Scheduling Tool
By Manuel Lemos
Many developers have worked from home for years because they feel it is a more comfortable workplace.

Still, many companies prefer that employees work from their offices.

Since the pandemic, this preference has changed because many people have realized it is safer and faster to work from home, and employees can work more productively.

This package provides a solution to suggest a schedule to define how two teams will alternate the work location between home and office space.

View Details

How to Implement a Multi-Level PHP Event Handler System To Develop Complex Projects Made of Many Separate Components
By Manuel Lemos
How to Implement a Multi-Level PHP Event Handler System To Develop Complex Projects Made of Many Separate Components

Event processing is an approach that developers can use to connect different parts of an application.

This way, a change in one part can trigger actions in other application parts.

For instance, if a user can push a button on a Web page, the application can use event processing to trigger the actions associated with the application button that the user pushed.

This package implements an inheritance model to process registered events.

This way, the package allows applications to implement event handlers that can process the events or pass the events to another event handling function registered to handle the same event.

View Details

How to Use a PHP Product Management System That Can Update Multiple E-Commerce Platforms At Once
By Manuel Lemos
Product information management systems allow gathering of several types of information about products in a single place.

This way, product owners can update product information in new places. Then the product information can be automatically updated in several other places, for instance, shopping places that sell those products to final customers.

This package implements a product information management application in PHP.

View Details

How to Use a PHP Dependency Checker to Help Developers Realizing about Optimization Opportunities that Can Reduce Your Development Time
By Manuel Lemos
Complex projects are often made of packages that provide services to others to reuse the work done by their developers, thus reducing the time the projects can take to develop.

Knowing the dependencies of projects on other packages can be helpful for developers to determine what packages their projects depend on.

This package implements means to find the dependencies of projects that use the Yii2 framework.

View Details

How to Use PHP Sessions to Handle Many Simultaneous Accesses
By Ramesh Narayan Jangid
Most PHP applications use sessions to keep track of users and store data that is relevant to them.

By default, PHP uses local files to store session data. That is fine for sites and applications with few simultaneous users.

Read this article to learn more about PHP sessions and how you can improve the way you use PHP sessions to be ready to handle better the situation when your PHP sites or applications start getting many simultaneous users.

View Details

How to Add a PHP Wishlist to an E-Commerce Site that Uses WooCommerce to Help Selling More Products in the Future
By Manuel Lemos
Many e-commerce sites have wishlists to help customers remember the products they want.

Maybe somebody buys one of those products so the customer may get that product someday.

Or maybe the customer buys that product later if he is reminded that the customer wished to have that product sometime in the past.

This package can add a wishlist to an e-commerce site built with WooCommerce. This way, e-commerce sites can sell the products they have in store more in the future.

View Details

How to Implement a Basic Artificial Intelligence PHP Decision Making Programs That Automatically Suggest Good Decisions Based on Probabilities
By Manuel Lemos
Some applications need to select items from a list automatically. For instance, applications that need to assign jobs to a list of servers.

This class implements an algorithm that considers the number of times the items on a list was used and probability weights assigned to each item to decide which item should be used next time automatically.

View Details

How to Implement a PHP Bot Detection Process Like CloudFlare to Avoid SpamBots From Abusing Servers
By Manuel Lemos
Spambots are usually programs that are run automatically by people with bad intentions.

Sometimes they want to steal the content of Web sites to republish on other sites without benefiting the original creators of the content.

Spambots may also overload servers because they send too many requests to servers to retrieve the content quickly.

This package provides a way to detect the accesses from spambots.

This way, site owners that use this package can block the access of spambots to avoid damages that it can cause to the site businesses.

View Details

How to Perform PHP Type Casting to String of Variables of Any Type to Generate Strings that You Can Easily Store in Databases or Files
By Manuel Lemos
PHP is a language that is very flexible when it comes to manipulating the types of variable values.

This package provides a combination of tools in the form of practical classes that can perform several types of variable data type access, like generating unique strings from any variable values, type casting, and introspection of objects or array values.

View Details

How to Perform PHP Type Casting to String of Variables of Any Type to Generate Strings that You Can Easyly Store in Databases or Files
By Manuel Lemos
PHP is a language that is very flexible when it comes to manipulating the types of variable values.

This package provides a combination of tools in the form of practical classes that can perform several types of variable data type access, like generating unique strings from any variable values, type casting, and introspection of objects or array values.

View Details

How to Verify If the EverSQL MySQL Tool Provides Good Optimization Suggestions - 8 minutes - Lately in PHP Podcast Episode 93 Part 7
By Manuel Lemos
The EverSQL MySQL optimization tool is excellent for suggesting alterations to MySQL tables and indexes to make SQL queries run faster.

The actual gains in performance may vary depending on the type of query. Significant SQL query optimizations reduce the number of table rows scanned when the MySQL server executes a query.

Read this article, watch an 8-minute video, or listen to part 7 of episode 93 of the Lately in PHP podcast to learn how to verify the efficiency of the MySQL query optimizations suggested by the EverSQL tool.

View Details

How to Implement PHP Asyncronous programming using PHP 8.1 Fibers - 6 minutes - Lately in PHP podcast episode 94
By Manuel Lemos
PHP 8.1 introduced a new feature called fibers, allowing developers to implement PHP asynchronous programming.

If you implement asynchronous programming, it is possible to make your PHP scripts execute multiple tasks in parallel, thus making those scripts faster.

Read this article, watch a 6-minute video, or listen to episode 94 of the Lately in PHP podcast to learn how to use PHP fibers, PHP Swoole, or ReactPHP to make your PHP scripts finish faster.

View Details

How to Simplify Object Queries Using a PHP Active Record Relations Manager Trait
By Manuel Lemos
ActiveRecord is a popular design pattern implemented by many frameworks based on the Model-View-Controller (MVC) design pattern to store and retrieve objects stored, for instance, in SQL databases.

Applications that use the MVC design pattern usually need to perform queries to retrieve specific model class objects that match certain conditions.

This package uses a query relation manager trait to add the ability to model classes to elaborate complex queries on model objects that match conditions that may include filters on the model object properties and relations with other model class objects.

View Details

WhatsApp New Developer Tool to Be Released Soon
By Manuel Lemos
Recently, the Meta group, the owner of Facebook, WhatsApp, and Instagram platforms, made the WhatsApp API available to all developers without paying high fees.

Now the Meta group will release a new developer tool for those who want to work with WhatsApp. This tool will be announced soon in an upcoming Webinar.

Read this article to learn how to participate in the announcement Webinar and get early access to this new WhatsApp developer tool.

View Details

How to Get Your PHP Developer Reputation From Your Contributions to StackOverflow
By Manuel Lemos
StackExchange is a well-known network of sites where users can ask questions about how to solve problems specific to those communities.

One of those sites of the StackExchange network is StackOverflow. This is a site for programmers.

This package allows developers to access several aspects of sites of the StackExchange network using its API.

View Details

How to Use a XML to PDF PHP Library to Generate PDF from Proof of Purchase XML Documents
By Manuel Lemos
Many companies need to print documents that can be used as proof of purchase by their customers for the products or services.

In many countries, these documents are generated in XML format by the companies and authenticated by the official institutions that regulate commercial activities in those countries.

This package can print authenticated XML documents by generating PDF documents that can be saved or printed.

View Details

How to Use a PHP Multi-Tenant Framework On Top of Symfony to Implement Applications that Serve Multiple Customers with the Same Code
By Manuel Lemos
Multi-tenant applications serve multiple users or customers running the same code base and various versions of the same application as if the applications are separate.

This type of application structure allows a single effort to address the needs of different customers with minimal measure of adaptation.

This package provides an example of a multi-tenant application using the Symfony framework to help other developers learn from this effort.

View Details

How to Get the Responsible Person For Computers on the Internet Using their Network Address
By Manuel Lemos
The Internet Assigned Numbers Authority (IANA) assigns the main numbers used to connect to networks all over the Internet.

One of the types of numbers it assigns is the number of the companies responsible for networks connecting many nodes on the Internet.

This package can retrieve the complete list of companies IANA lists, so PHP developers can search that list for numbers and names of companies responsible for all the Internet network nodes made available in the IANA Enterprise numbers list.

This can be useful to solve problems of computers that are causing harm, like computers that run malware and need to stop.

View Details

How to Make More Money Paying Less Transaction Fees from a PHP E-Commerce Project Using a Laravel Stripe Integration Package
By Manuel Lemos
Many PHP sites now have an e-commerce section where customers can buy products and services from the company that owns the site.

Stripe is one of the most popular payment gateways in use in many e-commerce sites to let customers pay for their orders.

This package extensively implements an e-commerce system in PHP that uses Stripe as a payment gateway.

View Details

PHP Conference 2023 Calendar of April of User Group Meetings and Conferences
By Manuel Lemos
PHP conferences are great opportunities for all PHP developers to learn more to progress in their careers by learning from other PHP developers.

You may wonder where and when those user group meetings will happen so developers can meet and learn from other developers.

Read this short article to be aware of PHP conferences and user groups in April 2023, so you can consider participating and learn more to be a better PHP developer with other developers.

View Details

How to Use a Plugin to Implement WooCommerce Custom Shipping Method to Add Cost Rules Specific to Certain Locations
By Manuel Lemos
WooCommerce is a popular application that can transform a WordPress site into e-commerce.

WooCommerce allows the calculation of shipping costs of products using plugins.

This package provides a WooCommerce plugin to perform custom calculations of the shipping costs of products for specific destinations using the WooCommerce configuration pages to specify custom shipping costs.

View Details

How to Use the Have I Been Pwned Password API from PHP to Check If Passwords Associated to Your Email Have Leaked From Insecure Sites
By Manuel Lemos
Have I Been Pwned is a service that keeps track of sites with security issues, and it was possible to access the user accounts database containing the user passwords.

This service provides a Web page and API so other people and external applications can check if a given email address was found on any sites with compromised security.

This package provides a simple PHP application to check if a list of email addresses was found in the Have I Been Pwned database using AJAX to send requests to the service API.

View Details

How Can PHP Iterate an Array or an Object To Apply Many Types of Processing Using Less Code
By Manuel Lemos
Iteration is a way to execute the same operation on a set of values.

In PHP, developers can iterate over the values of the characters of a string, elements of an array, or objects of classes that can act as if they were arrays and provide an iterable interface.

The iteration method that defines how the values are traversed and processed can be customized with new iterable classes that PHP developers can write.

The package provides a new set of classes that can iterate over the values that will be traversed.

View Details

How to Have a Prosperous Life as PHP Developer
By Manuel Lemos
Everybody wants to have a better life. Developers are not an exception. Having a better life requires that you have enough money to pay for the expenses of the cost of living with comfort.

A prosperous developer can make good money from their work and keep growing his projects.

Read this article to learn more about how to have a prosperous life as a developer using PHP or any other language.

View Details

How to Use PHP Fibers Async Programming Possibilities to Make PHP Code Run Faster Since PHP 8.1
By Manuel Lemos
Asynchronous programming can be a way to make PHP code run faster by executing one task while other tasks wait for an external task to finish.

PHP 8.1 introduced the Fiber class. This class provides a cleaner way to help implement asynchronous programming in PHP.

Please read this article to learn more about asynchronous programming and how to implement it in PHP using fiber or other alternatives like PHP extensions and frameworks specific to developing asynchronous programming-based applications.

View Details

How to Send Email with an Alternative SMTP Server Setup Using a PHP Configuration Object Injection
By Manuel Lemos
Many PHP applications need to send email messages.

Often sending email messages via the PHP mail function does not work well in some cases due to restrictions of the hosting server or because the IP addresses of the machine on which PHP is running have lousy reputations, and the destination mail servers reject the messages.

The alternative is to use a separate SMTP server to relay the messages that should be sent to those servers.

This package can send messages to a remote SMTP server configured using a separate configuration class object.

This separation makes it simpler for developers that need to send messages through a remote SMTP server because they can separate the configuration settings of the relay SMTP server from the actual code they use to compose and send the messages.

View Details

How to Implement a PHP File Sharing System to Let Users Share Large Files Between Each Other
By Manuel Lemos
Many users want to share files with other users over the Internet. Sometimes they need to share files too large to share by email.

In that case, they use file-sharing services that can take uploaded files and return links that users can share with other users.

This package implements a file-sharing application in PHP. The application can compress the files in ZIP format to save time for users who want to download the shared files.

View Details

How to Implement a PHP PostgreSQL Database Import From CSV File to Setup Database Table Records Exported From Another Application
By Manuel Lemos
PostgreSQL is one of the most popular SQL database server types many PHP developers use to store and retrieve their applications' data.

Sometimes developers need to import data from an external source into the database.

This package allows importing data into a PostgreSQL database table from a CSV file that may have been exported from many other programs.

View Details

How to Implement a PHP Cubic Root Calculations to Solve Three Dimension Problems
By Manuel Lemos
PHP provides built-in functions to perform several types of math calculations.

PHP can perform square root calculations with a built-in function but does not provide a built-in function to calculate cubic roots.

This class can calculate either square or cubic roots. It can solve problems involving 2 and 3 dimensions and area and volume calculations.

View Details

What is The PHP Popularity in 2023
By Manuel Lemos
Many PHP developers are interested in how it is the PHP language popularity nowadays. They are often teased by other developers that prefer other languages and say things like PHP is dying or PHP has lost popularity to some different language they prefer.

As a PHP developer, you may want to know whether there is a good market for companies willing to pay good money for you to work with PHP and buy everything you want to have a good quality of life.

Read this article to learn about the most recent market surveys that give some interesting statistics and advice about what you should do to continue to take advantage of the PHP market to have a great life as a a PHP developer.

View Details

How to Implement Fast Laravel Phone Number Validation with Country Code to Avoid Basic User Mistakes Entering Phone Numbers in Forms
By Manuel Lemos
Many applications need to take the phone numbers of users. Sometimes users enter the numbers with mistakes that make it impossible to reach them. Validation can help avoid users from entering invalid numbers.

There are many types of validation. The most robust validation methods require delivering SMS messages or making phone calls to the user's phone numbers. These methods are acceptable but may take a long time to conclude and often cost money.

More straightforward methods can be used in conjunction with these more robust methods, for instance, client-side or server-side validation of the numbers right after the users enter the numbers.

These more straightforward methods are not so robust but may avoid the most basic mistakes like entering phone numbers with wrong country codes or other errors that can be detected very quickly.

This package provides a service that uses complex regular expressions that can be used to detect simple mistakes.

View Details

How to Generate a PHP Video Gallery Site from YouTube Videos
By Manuel Lemos
Many people have favorite artists that have the artists' videos on YouTube.

Some people would like to see videos of their favorite artists on their sites.

This package provides an application that can generate the PHP scripts and Web server configuration to show a site with their favorite artists' videos automatically.

View Details

How to Configure WordPress Email Settings to Use Multiple Administration User Email Addresses
By Manuel Lemos
WordPress is a popular content management system written in PHP.

One of its best features that explain its popularity is the possibility to extend with plugins that increase WordPress features beyond what the original WordPress installation can do.

This package provides a WordPress plugin that allows users to configure one or more WordPress administrator email addresses from the Web interface of the WordPress administration panel.

View Details

How to Pass More Credibility in Your Email Messages Using a PHP Email Signature Generator Tool
By Manuel Lemos
How to Pass More Credibility in Your Email Messages Using a PHP Email Signature Generator Tool

Some people like to show personal details as signatures at the bottom of email messages, like pictures of their faces, addresses, phone numbers, etc...

That helps pass more credibility to those who receive emails from people with those details.

One way to show those details is to use a picture that can be inserted automatically into all messages sent by their favorite email program.

This package provides a simple application that can generate images suitable to use as personal signatures of email messages.

View Details

How to Implement Modern PHP File Upload Handling to Process Big Files Securely with the Help of JavaScript
By Manuel Lemos
Sometimes users need to be able to upload huge files to share with other users.

Uploading large files may take a lot of time. If there is an interruption in the file upload process, the file may reach the server partially.

Therefore it is necessary to verify if the file was correctly uploaded.

This package provides a solution that uses a combination of PHP and JavaScript to calculate checksum values of the file contents that can be used by PHP on the server side to verify if the file was correctly uploaded.

View Details

PHP Conference Calendar 2023 and User Group Meetings for the Month of March
By Manuel Lemos
All PHP developers should learn more to progress in their careers. One way to learn more is to participate in PHP events where they can learn from other PHP developers.

Many conferences and user group meetings are happening worldwide where developers can meet other developers and learn from them.

Read this short article to be aware of PHP conferences and user groups in March 2023, so you can consider participating and learn more to be a better PHP developer with other developers.

You can also find guidance on promoting your future PHP event so more PHP developers can attend your events.

View Details

How to Improve Your PHP Code Using Enumerations Introduced in PHP 8.1 or Later in 6 Steps with Code Examples
By Manuel Lemos
Support for enumerations is a new feature requested by many developers that recognize the benefits of this new feature.

PHP 8.1 introduced the support for enumerations as a data type built-in in the PHP language.

If you use constants to emulate the benefits of enumerations in versions older than PHP 8.1, you will appreciate this new feature.

Still, you need to be careful when upgrading your PHP code to a newer version if you have not yet used PHP 8.1 or later.

Read this article to learn more about enumerations in PHP and how to upgrade smoothly to a new PHP version to benefit from this feature minimizing the risks of doing an upgrade and avoiding breaking the code of your PHP applications that used to run on PHP versions older than 8.1.

View Details

How Can You Use a PHP Calculate Profit Solution to Have Financial Success
By Manuel Lemos
Finance is essential to measure the success or failure of a business in terms of whether it is earning or losing money.

The package can help calculate the cost and selling prices of products or services for profit or loss percentages.

View Details

How to Setup Applications to Use Dynamic File Paths based Configuration Values using a Path Handler from a PHP File System Library
By Manuel Lemos
PHP is a flexible language in many aspects. One of these aspects is that it allows applications to provide classes that emulate several operations developers can execute when accessing files and directories.

For instance, PHP provides file system iterator classes that allow applications to traverse the files and directories contained in a given directory.

This package implements file system classes that file system iterator classes can access to traverse directories so that the full path is defined dynamically from application configuration values loaded using the Yii2 framework configuration access classes.

It also provides file upload handling support that uses these file system access classes to store the uploaded file contents in directories with paths that depend on the current application configuration.

This way, this application provides flexibility to application developers, so they do not have to hardcode the full application paths of the directories where important application files are stored.

View Details

Why You May Need to Change The Way You Process Your PHP Templates to Prepare to Upgrade to PHP 8.2 and Newer PHP Versions
By Manuel Lemos
One of the advantages of PHP as a language is that it allows you to create template strings that allow you to insert variables that will be replaced by the respective values when the PHP scripts are executed.

The PHP Core developers introduced some changes in PHP 8.2 that deprecate certain forms of embedding variable values in template strings.

Please read this short article to learn more about those changes so you can change your template strings to keep them working in future PHP versions, probably PHP 9.0 or later.

View Details

How to Use a PHP Code Checker Tool to Find Complex Application Code that PHP Developers Can Simplify
By Manuel Lemos
One way to evaluate the quality of your PHP code is to evaluate its complexity. Complex code is hard to maintain.

Complexity can be evaluated in terms of hints like the code inside the functions, the number of function arguments, and the number of lines of code.

This package provides a tool written in PHP that can evaluate all those complex aspects.

This way, developers can have an idea of what code is too complex so they can improve the code to simplify it to lower the complexity grades that this tool provides.

View Details

Is Artificial Intelligence a Good Thing for the Future of PHP Developers
By Manuel Lemos
Many professionals worldwide fear for their professional future after the announcement about the possibilities of OpenAI products like ChatGPT.

Therefore it is understandable that they fear that artificial intelligence tools may replace them by doing the work they used to do for customers, and they will lose jobs.

Read this article to learn more about what is possible now to do with artificial intelligence, as well as some advice regarding what you should do regarding Artificial Intelligence to have a better future as a PHP developer.

View Details

Why You Need to Replace Your utf8\_encode and utf8\_decode PHP Functions to Prepare to Upgrade to PHP 8.2 and Newer PHP Versions
By Manuel Lemos
Old functions like utf8\_encode and utf8\_decode are deprecated in PHP 8.2 and will be removed in future versions, probably PHP 9.0, according to the plans of PHP core developers.

If you use these functions in the code of your PHP applications, you need to prepare to change your code, so that code will continue to work in future PHP versions.

Read this article to learn more about the changes in these PHP functions and how to make a smooth transition, so your code continues to work in current and future PHP versions.

View Details

How to Implement a PHP Marketplace App That Supports Resellers of Third-Party Products
By Manuel Lemos
Nowadays, many sites have an e-commerce section to sell products and services.

Over time many sites evolve into marketplaces where they can sell products and services of third-party companies.

Some companies can be resellers of products and services produced by other companies.

This package provides an e-commerce site solution that supports resellers. This way, this package can help many companies to implement their marketplaces with the possibility to resell products and services of third-party companies.

View Details

How to Implement a Robust ZIP Code Radius Search PHP Script Using Multiple APIs
By Manuel Lemos
Many e-commerce sites that sell physical products need to be able to check if the customer addresses are correct.

Usually, those sites use an external API to check if the zip code of a customer's address is correct for a given city location.

This package provides a solution for e-commerce sites with customers in Brazil using the Laravel framework.

It provides a way to check Brazilian CEP zip codes using at least one of many supported APIs. This way, it provides a redundant solution that may still work if one of the zip code API fails, as it can use another of the supported APIs that works.

View Details

Shall You Upgrade to the PHP 8.2.2 Version that Was Just Released
By Manuel Lemos
PHP 8.2.2 was just released. It is primarily a bug-fixing version.

The fixes of this release can be important to you if you use the PHP extensions that were fixed.

Read this short article to learn about PHP extensions that were fixed, so you can determine if it is worth upgrading to this minor version.

The article also contains a small script for you to use with the current PHP version that you use to test your PHP version.

View Details

How Can PHP Create PDF with Digital Signature Automating the Process Using the signNow API
By Manuel Lemos
Many applications are written in PHP to develop systems that need to produce PDF documents.

Sometimes the PDF documents will be used as contracts or other documentation that must be signed by the people involved in a business or any agreement.

Changing the PDF documents to include the signatures of the people participating in the agreement is a complex process.

Fortunately, there are platforms like signNow that simplify that process by providing an easy-to-understand user interface to submit PDF documents and call the people that need to sign the documents in a way that the process is legally binding.

Please read this short article to learn how to use the signNow API from PHP to integrate the process of submitting PDF documents to the signNow platform and let the platform take care of the complexity of collecting signatures and generate legally binding documents that can be important for your company or the company of your PHP development customers.


View Details

How Can You Benefit from PHP Readonly Classes Improvements Since PHP 8.2 with PHP Code Examples
By Manuel Lemos
PHP readonly classes is the name of the new feature introduced in PHP 8.2 that was released on December 2022.

The readonly classes are an evolution of the readonly class properties introduced in PHP 8.1.

Read this short tutorial article to learn more about readonly classes and how you can benefit from this feature if you use PHP 8.2 or later by checking some PHP code examples.

View Details

How to Implement a PHP Font Style Chooser Menu to Let Your Application User Choose Fonts and Colors
By Manuel Lemos
Some applications render graphics that include text. Text can be displayed using many different types of fonts.

User-friendly graphic applications allow users to choose the fonts that the application will use to display the text.

This package implements a font chooser user interface to let users choose fonts and background colors and see how the text will look.

View Details

How to Participate in the PHP Classes Market For You to Sell Your Products to Other PHP Developers and Make More Money Doing What You Love
By Manuel Lemos
The PHP Classes is in the final steps of implementing a marketplace for any developer to sell their products.

This is a way to help developers like yourself do more of what you love and make more money so you can spend more time on your product development and better quality of life.

Now we need your input to sort the priorities to implement the last steps of the marketplace.

Please read this short article to understand better the PHP Classes marketplace and how you can participate or help the PHP Classes continue supporting all PHP developers.

View Details

How to Use a PHP Design Pattern Implementation to Automatically Update Slave Objects when Master Objects are Updated
By Manuel Lemos
ActiveRecord is a popular software design pattern many applications and frameworks use to store and retrieve objects in relational tables.

Often applications that use the active record design pattern define hierarchies of class objects and establish relations between enslaver and enslaved person objects.

This package can help applications that use the active record design pattern implementation with the YII framework to automate the process of updating slave objects based on the changes in master objects.

View Details

How to Fix PHP Errors That Affect More Your Applications By Giving Priority to the Most Important Bugs
By Manuel Lemos
Fixing application bugs is a task that often consumes developers a lot of time, especially the step of finding the cause of the bugs. PHP error log processing tools help find the code with bugs causing the errors.

Often developers can find many errors using PHP error log processing methods and tools. If they have many errors, they have another challenge: decide which bugs they should fix first.

One good criterion is first to fix the bugs causing more PHP errors. Counting the PHP errors that appear in a PHP error log may be a task that consumes a lot of time when you do it manually. Fortunately, there are methods and tools that you use to count and sort the PHP errors that appear in PHP logs.

Please read this short article to learn how to use the Scout Application Performance Monitoring tool to quickly determine the lines of code of a PHP application causing more PHP errors so that you can fix those frequent errors first.

View Details

How PHP Developers Will be Able to Handle Better Undefined Properties in PHP 9.0
By Manuel Lemos
The PHP core developers recently approved a new request for a change to help PHP application developers to handle better mistakes in their code when they misspell the name of a class property in their code.

Read this short article to learn how this improves your process of detecting and fixing code that has mistakes so you can produce code of excellent quality as early as possible.

View Details

How You Can Simplify MySQL Prepared Query Execution in PHP 8.2 Using mysqli::execute\_query
By Manuel Lemos
The PHP 8.2 version introduced several improvements.

One of those improvements was executing prepared SQL queries and retrieving the query results using fewer lines of code when you use the MySQLi extension to access your MySQL database server.

Read this article to learn about this improvement of PHP 8.2 with an example of PHP code.

You can also learn some valuable criteria to decide if you should use MySQLi or PDO to access a database in your PHP projects.

View Details

Modern PHP CSRF Protection Example using a PHP Forms Library
By Manuel Lemos
Cross-Site Request Forgery (CSRF) attacks are means that badly intentioned users may use to make users of a site perform actions without intention. For instance, a successful CSRF attack can make e-commerce purchases, and the purchased goods are delivered to an attacker's location address.

Good Web sites are protected against CSRF security attacks. Attempts to perform these attacks are ignored.

As a responsible Web developer, it is in your best interest to learn how to prevent these attacks so your PHP Web projects can be more secure.

Please read this short article to learn more about CSRF attacks and a practical example of protection against CSRF attacks in your Web form pages generated and processed by PHP.

View Details

How Would You Like that PHP Events Online Happen in the Future
By Manuel Lemos
Many developers like to attend events where they can learn from other developers.

Since the pandemic, many in-presence events have been suspended to protect the health of people that want to participate.

Recently we talked with some developers that expressed an interest in participating in PHP online events.

Therefore we need to research your needs and desires, so we can plan to organize the PHP online events of your dreams.

Please read this short article, so you can learn more about how you can participate in a short research survey, and we can learn what the PHP online events of your dreams should have.

View Details

How to Send a Message on WhatsApp using the Official API in PHP
By Manuel Lemos
Many people use WhatsApp daily to communicate with each other using their mobile phones or computers.

Several APIs allow developers to send messages to other WhatsApp users via WhatsApp.

This package uses the official API from the Meta Group to send messages to other WhatsApp users.

View Details

PHP Events Calendar of Meetings and Conferences for February 2023
By Manuel Lemos
Many PHP developers want to participate in events near where they live. However, in some cases, they are unaware of the events.

So now we are starting a test to evaluate if developers like yourself are interested in knowing about the events that will happen soon near your region, so you can prepare to participate in those events.

Read this short article to be aware of PHP events in February 2023, so you can consider participating and learn more to be a better PHP developer with other developers.

Here you can also find guidance on how to promote your future PHP event better with the help of the PHP Classes site.

View Details

Why Would You Want to Do a PHP Upgrade to Version 7.3 or 8.3 to Benefit from Better Security using the Improved SameSite Cookie Support
By Manuel Lemos
Newer PHP versions often provide improved security features. That is the case of the SameSite cookie support to help your site to be better protected against Cross-Site Request Forgery (CSRF) attacks.

Read this short article to learn more about CSRF attacks, SameSite cookies, and code examples of how to benefit from improvements done in PHP 7.3 and PHP 8.3 to quickly implement this option to protect better your sites from these attacks.

There are more modern ways to generate random strings. Read another article about the \Random\Randomizer class to learn more about modern ways to generate random values.

View Details

How to Add a PHP Icon Image Picker Tool to Your Applications to Let Users Choose Images and Colors to Customize Your Application
By Manuel Lemos
Many Web applications let the users configure certain aspects of how the applications appear to their users.

In some cases, the applications let the users pick icons shown in different parts of the application pages.

This package provides a solution that lets application developers add a widget to a form of application options that allows application users to pick icon images for any practical purpose of the application.

View Details

4 PHP Upgrade Tools that You May Use to Update Your Code Faster to Make It Work with a Newer PHP Version
By Manuel Lemos
Sooner or later, you may need to make your PHP applications code with newer versions.

Often you want to upgrade to benefit from new PHP features.

Other times you may fear that your applications be abused by badly intentioned people who abuse older version vulnerabilities.

Other times, your customer may require that your code works in newer PHP versions because those are the ones that are available in the hosting environment on which your PHP will run.

Read this article to learn about several tools and methods that can help you to find and fix code that needs to be changed to work in newer PHP versions.

View Details

How to Setup a PHP Web Application Firewall with a Friendly Web Interface to Protect Your PHP Sites Against Badly Intentioned People
By Manuel Lemos
Security is a delicate area that requires the attention of professionals capable of implementing several measures to protect applications against badly intentioned people.

This package implements an application to make it easier to implement many security measures that Web server modules like ModSecurity and mod\_proxy can implement.

View Details

Why You Will Want to Upgrade to PHP 8.3 to Benefit from Better Random Value Generation
By Manuel Lemos
PHP 8.3 will introduce several new exciting features. One of those features is the improvements on the \Random\Randomizer class that was added in PHP 8.2.

PHP 8.3 will add more functions to generate random values for strings and floating-point numbers.

Please read this short article to learn more about the \Random\Randomize class functions and how you can use these functions in your PHP applications to make them more secure against possible attacks to current cryptography methods that in the future will be more vulnerable due to the availability of faster CPUs, including those that will use quantum computing.

View Details

Why Your PHP Code Will Benefit When You Upgrade to PHP 8.2 to Use Standalone Types for true, false and null
By Manuel Lemos
Another attractive new feature of PHP 8.2 is the possibility to treat true, false, and null as standalone types.

This PHP 8.2 feature helps PHP developers catch bugs earlier and improve their code quality in practice by allowing them to be more specific in the types returned by functions that may have to be of these three new types: true, false, and null.

Read this short article to learn more about this new PHP 8.2 possibility and how you can use it in practice in your PHP applications to improve their quality.

View Details

How to use a PHP Tool to Create Plugin Modules Very Quickly for the Melis CMS
By Manuel Lemos
Content management systems (CMS) are helpful to help creating new sites very quickly.

Many CMS can be extended with plugins that make them more useful.

This package provides a plugin that helps developers to create new plugins for the Melis CMS system that can generate pages based on template scripts.

This way, developers can create faster, simple plugins that can output pages for specific purposes.

View Details

How to Use a PHP Password Manager Application to Store Your Site and Application Passwords Securely
By Manuel Lemos
Password managers are helpful applications that can store the passwords users use to access different types of sites securely.

This package implements a password manager application in PHP.

Users can use this password to manage the application on their site. This way, they do not have to store passwords in password manager sites they do not trust.

View Details

How to Manage a the Shopping Carts Products in WordPress Site Using a Woocommerce Cart API Plugin
By Manuel Lemos
WordPress is a very popular content management system written in PHP.

Its popularity is due to how it allows other developers to extend WordPress using plugins that any other developer can write.

Woocomerce can extend WordPress capabilities by turning a WordPress Web site into an e-commerce site.

This package provides a WordPress plugin that allows developers to control shopping carts managed by Woocommerce via the WordPress API.

View Details

How to Turn a WordPress Site into a Community Site with Several Plugins That Help Attracting More People to The Site
By Manuel Lemos
One of the reasons many sites use WordPress as the platform to publish content on their Web sites is that it can be extended with plugins that can make inserting new types of content in posts easy.

This package provides several useful plugins that allow WordPress users to insert several types of content in the posts with just a few new tags.

It provides plugins for managing newsletter subscriptions, showing Facebook posts and GitHub projects, showing to-do lists, weather reports, and YouTube videos.

View Details

Why You Should Follow PHP Standards Recommendation 20 to Get the System Clock
By Manuel Lemos
The PHP Standards Recommendation (PSR) 20 specification was released recently to help developers use a common interface to get the system click date and time.

This is an important recommendation if you need to test PHP application code that can manipulate dates and times using the current system clock.

Read this short article to learn more about this PHP standards recommendation, see some code examples, and get a suggestion of when it will be good for you to follow this recommendation.

View Details

How to Implement PHP Data Mapper To Convert The Structure of Arrays To a More Convenient Structure to Use in Your Applications
By Manuel Lemos
Some applications need to process arrays that they receive from external sources like database result queries or external Web service API calls.

Sometimes the arrays do not come in the best format for those applications to process. Therefore they need to process the collections to transform their values.

This package provides a way to transform the input arrays into other arrays that may have changed the key names of associative arrays or eliminated the array values with specific keys.

View Details

How PHP json\_validate Function Will Improve The Validation of JSON Data in PHP 8.3
By Manuel Lemos
The development of PHP 8.3 is already going on. Several new features were proposed and accepted by the PHP core developers.

One of the planned features is the ability to implement a new function called json\_validate that will allow PHP developers to implement a more efficient validation of JSON data structures.

Please read this short article to learn how the json\_validation function will work so you can benefit from it in your PHP applications.

View Details

Why Would You Want to Do a PHP Upgrade to 8.2 Version to Benefit from ReadOnly Classes
By Manuel Lemos
PHP 8.2 was released on December 8. It provides several new features that PHP developers implement PHP applications with better quality. One of the new features is the read-only class.

Read this short article to learn more about reading-only classes' benefits.

View Details

Top Free PHP Scripts for Websites That You Should Not Miss in 2023
By Jay Patel
PHP has attained a degree of success that is unprecedented. Many years ago, PHP established itself as the leading programming language in the world.

The result of this level of adoption of PHP is that there are many ready-to-use solutions written in PHP for many purposes.

Read this short article to learn more about several suggested PHP and JavaScript applications that you may be missing and that are useful for business purposes, like CRM, email marketing, visual content editors, contact forms, and URL shorteners.

View Details

Fulfilling PHP Developer Wishes in 2023
By Manuel Lemos
2022 was an excellent year for the PHP Classes site, with many improvements being developed discretely.

In 2023 we will continue to develop these improvements, and many new features will be announced.

Read this short article to learn about the essential features that many PHP developers will benefit from and have been developed in 2022, as well as some of the new features to be launched in 2023.

View Details

How to Quickly Create PHP Tools Online using a Module of the Melis CMS
By Manuel Lemos
One way to execute specific tasks faster is to use tools specialized in doing part of the task work.

Content management systems are software tools that help users publish content faster than if they had to create the HTML, CSS, and graphics manually.

This package provides a module for the Melis content management system that can create new tools to allow users of the system to do specific tasks faster.

View Details

How to Implement a PHP Search Engine that Can Show Results in Different Tabs Depending on the Content That It Finds
By Manuel Lemos
Search engine sites help users find the information that they want.

Having a search engine on a site is very useful for site users.

This package implements a search engine that can crawl pages and extract content to be searched and links for images.

This way, it can provide a search feature for a site on its pages, showing different sections in the results pages depending on the type of content found.

View Details

How to Implement a PHP Math Expression Parser that Can Display the Expression in a HTML Web Page
By Manuel Lemos
Some applications need to display mathematical expressions on Web pages in a way that professionals in mathematics are used to seeing those expressions.

A mathematical expression can be displayed on a Web page in several ways.

This package can render a mathematical expression using regular HTML.

View Details

How to Implement PHP UML Diagram Generator Online that Can Render UML Diagrams as Images Using a Web Service
By Manuel Lemos
UML is a language that many developers use to represent the relations between entities of a software program.

Developers can generate diagrams from project entities defined using UML to see better the project data structures and other aspects of the project's architecture.

PlantUML is a tool that can render UML diagrams as images that developers can use to visualize their project diagrams.

This package can call a PlantUML Web services server to render UML diagrams without installing PlantUML in the developer machine.

View Details

How to Implement a More Secure PHP Application Using PASETO to Exchage Cryptographic Data with the PASERK Extension
By Manuel Lemos
PASETO is an approach to sign, encrypt and decrypt data that is more secure than other approaches like JSON Web Tokens.

PASERK extends the PHP PASETO to add more functionality for serializing and wrapping keys used by PASETO. This possibility helps developers to use keys on different platforms.

View Details

How to Increase the Number of PHP Development Customers Using the Melis CMS Sales Prospects Tracking
By Manuel Lemos
Every good business needs market research to find new potential sales customers.

A prospect is a person or a company that can be a customer in the future. Turning an opportunity into a customer is a process that can take time because that process needs to go through several phases.

The Melis CMS is a PHP content management system that can be extended with additional modules.

This package implements a module for the Melis CMS that allows users of a site that uses this content management system to keep track of business sales prospects until they become paying customers.

View Details

How to Discover Which is the PHP Fastest Framework That Uses the Fastest Router
By Manuel Lemos
Many PHP developers are working on applications that have high requirements in terms of performance.

When they use MVC frameworks to serve their applications, the router part is always used to handle HTTP requests and forward them to controller classes or callback functions that process the requests and generate the respective responses.

Therefore if they use a faster router, the applications may gain significant performance improvements.

This package provides a benchmark that allows PHP developers to compare the speed of different framework routers, so they can choose the fastest router they can use in their applications.

View Details

How to Implement PHP Date Validation that Supports Many Possible Date and Time Formats
By Manuel Lemos
Many applications take input parameters from users or external data sources, including dates or times.

When the applications allow multiple formats for the date and time values they accept as parameters, they must check them against all the acceptable date and time formats.

This package can perform date and time validation that accepts many possible formats and can even support more custom date and time formats.

View Details

How Can PHP Rewrite URLs So Pages Can Have Readable Addresses That Are Easy to Understand
By Manuel Lemos
Many Web sites serve site pages using URLs that briefly describe the purpose of the pages in a way that is easy to understand for the users of those sites.

With easy-to-understand URLs, the users can decide if the pages may be interesting even before they click the links that point to the pages' URLs.

A good part of the PHP sites uses the Apache Web server with the mod\_rewrite module to handle the access to the pages with those URLs to the actual PHP scripts that generate the response to the entrance to those pages.

The configuration of the Apache mod\_rewrite module may not be easy to create because it requires a good understanding of mod\_rewrite directives.

This package provides a simplification of the way the mod\_rewrite configuration can be created.

It takes a Web site page URL and suggests several configuration formats that you can use to configure the Apache mod\_write module for your site. You can use the configuration format that better suits your PHP application Web site URL structure.

View Details

How to Improve the Quality of Your Web Projects with a PHP Selenium Test Framework to Automate User Interface Testing
By Manuel Lemos
Selenium is a project that aims to automate actions with Web browsers.

Selenium implements provide drivers that can control browsers to perform automated actions.

Selenium WebDriver driver allows the implementation of automation of actions using HTTP requests sent by applications that work externally to Web browsers.

A PHP implementation of Selenium WebDriver allows PHP developers to implement applications that can control a Web browser using PHP code.

This package extends Facebook Selenium WebDriver to implement tool classes that are useful for everyday browser automation tasks like testing different aspects of the way Web page works, like simulating user interactions with the browser.

View Details

How to Use a WordPress Post Object to Create Posts with Images using Object Oriented Programming
By Manuel Lemos
WordPress is a popular content management system written in PHP, often used to create blogs.

WordPress code is, in significant part, made of code written using global functions.

This package provides an object-oriented wrapper to access the functionality of WordPress that manipulates posts and images.

This way, it can please developers that prefer to write code to access WordPress content using classes of objects.

View Details

How to Add Email Functionality to Your PHP AppBy Andriy ZapisotskyiPHP provides a quite poor functionality for building and sending emails. Its built-in mail function () doesn't support SMTP authentication and this way works well just for simple messaging.

How do you send branded email notifications, confirmation, and even newsletters from your PHP app then?

There are three the most popular and reliable external packages: PHPMailer, Pear Mail, and Swift Mailer. Read this article to learn more about these solutions, their capabilities and with code examples.

View Details

Make SQL Queries Run Faster Using the EverSQL MySQL Query Optimization Tool - 4 minutes - Lately in PHP Podcast Episode 93 Part 6 By Manuel Lemos Slow SQL queries are one of the factors that can make sites slower and cause harm to the user experience.

Fortunately, optimization tools can suggest small changes in your database schema that can make your SQL queries run much, so your Web sites can provide a much better user experience.

EverSQL is one of those optimization tools that can suggest effective changes for databases stored in MySQL servers or some other server compatible with MySQL, such as MariaDB.

Read this article, watch a 4-minute video, or listen to part 6 of episode 93 of the Lately in PHP podcast to learn how to optimize your MySQL database using the EverSQL tool for free.

View Details

How to Implement a PHP Progressive Web App for E-Commerce that Provides Great User Experience By Manuel Lemos Many PHP developers get customer requests to develop applications that allow their customers to place orders for pizza on the Internet.

This package implements a progressive Web application using PHP and JavaScript to implement a complete pizza ordering system.

This application helps other developers learn how to implement advanced Web applications for e-commerce or even other applications that can work without requiring users to install native applications for Android, iOS, or other mobile devices.

View Details

How to Avoid PHP Bugs using Type Safe Variables By Manuel Lemos Type safety is a characteristic of languages that require certain operations with values of the correct values. This characteristic is good for catching bugs early in application development.

PHP was not originally a type-safe language. PHP is more tolerant of developer mistakes. This fact makes PHP a more accepted language among developers without formal education in programming.

This package provides a solution to make PHP more type-safe to avoid that applications shipping code with programming mistakes.

It provides several classes that implement type-safe operations, including some that are useful for cryptography applications.

With this package, you can implement cryptography applications with greater quality when compared to applications that do not use type safety.

View Details

How to Keep Track of All PHP Errors Not Showing to Users and Happen in the Same PHP Script By Manuel Lemos Sometimes PHP applications need to keep track of multiple non-fatal errors that may happen during the execution of the same PHP script.

This package provides a simple class that can keep track of all error messages and codes that happen every time the current PHP script calls the class.

This possibility allows application developers to get a complete list of errors in executing a single script.

View Details

How to Use a PHP BlockChain API to Append Data to Your Application BlockChain Records By Manuel Lemos Chronicle is a Web service application that can process HTTP requests to append data in blockchains.

The Quill package is a PHP client package that can write data to a Chronicle server to update blockchains.

This package allows the creation of distributed clients that can generate blockchain data stored in a Chronicle server.

View Details

How to Implement a PHP WhatsApp Bot to Provide Integration of Web Applications with WhatsApp By Manuel Lemos WhatsApp is a popular chat application used by many millions of people around the world.

This package provides a solution for applications to send messages to other users and interact with them using the Villaments API.

View Details

How to Create Custom Posts with PHP Template Scripts Using a WordPress Custom Post Type Plugin By Manuel Lemos WordPress is a popular content management system written in PHP. It is very flexible, allowing developers to extend the system's capabilities in many ways.

One of those ways to extend WordPress capabilities is to create custom post types.

This package provides a class that can improve WordPress custom posts. It can render the pages of custom posts automatically using PHP scripts that define templates to generate the post HTML.

View Details

How Can PHP Get Page Content of a Past Version of a Web Site to Find Security Issues Due to Recent Changes By Manuel Lemos The Web Archive is a site that can show past versions of Web site pages. It provides a service that retrieves Web pages on different dates.

This way, it is possible to retrieve the contents of a given page as it was on past dates.

This package provides a command written in PHP that you can run from the command line console to retrieve many versions of the same. It can use threads to recover many pages faster.

The ability to retrieve past versions of a page can help detect changes caused by security incidents.

Security professionals can compare the versions of the same page to find pages that were changed and may need a new security auditing process to determine if people with bad intentions caused the changes.

View Details

How to Implement a PHP Social Network Script That Posts the Same Content in Multiple Social Networks at Once By Manuel Lemos Many sites post content to multiple social networks to get more exposure.

If a single content post needs to be done separately for each social network site, that takes a lot of time for the person posting the content to all the social networks.

This package provides a more automated solution that can take much less time for the person doing the work to post on social networks.

It requires sending a single email message with the content to post to the cloud email service. Then that service can process the content and distribute it to different social networks.

View Details

How to Help the EverSQL Tool Optimizing MySQL SQL Queries More Efficiently by Passing It Your MySQL Database Metadata - 4 minutes - Lately in PHP Podcast Episode 93 Part 5 By Manuel Lemos The EverSQL tool is excellent for suggesting optimizations for SQL queries for your applications that use MySQL.

That tool must first obtain the structure of your database tables to suggest good optimizations. You can get that structure by executing a SQL query that extracts the database metadata.

Read this article, watch a 4-minute video, or listen to part 4 of episode 93 of the Lately in PHP podcast to learn how to extract your MySQL database metadata to help the EverSQL tool to optimize your application SQL queries for free.

View Details

How to Use PHP to Compute a GitHub Score for the Participation of a Developer By Manuel Lemos GitHub is a popular site for hosting development projects. It keeps track of the activity of each developer that contributes to the projects hosted on the site.

This package can analyze the participation of each developer on GitHub, and then it computes a score based on the types of events in which the developer participated.

This way, this package can give a better idea of how active each developer is in the projects hosted on GitHub.

View Details

How to Implement a WordPress Plugin Currency Converter By Manuel Lemos WordPress is a popular content management system written in PHP that allows developers to extend the types of content inserted into a page using plugins provided by any developer.

This package provides a WordPress plugin that allows site publishers to insert the currency exchange rate between the United States dollar and the Real currency of Brazil.

View Details

How to Implement a PHP Maintenance Mode to Show Useful Messages to the User of a Site While the Maintenance Work Lasts By Manuel Lemos Once in a while, Web sites must perform maintenance tasks, such as updating the site application database schema to support new features.

During maintenance updates, the sites should not be accessible to regular users because the maintenance tasks may cause user interactions that lead to changes in information stored in the site database.

This package provides a solution to implement maintenance mode behaviors, for instance, showing warnings or only allowing administrators to access certain features of the sites.

View Details

How Can PHP Send Email Using Gmail SMTP Server for Free Using OAuth Tokens That Renew Automatically By Manuel Lemos The Gmail SMTP server has required OAuth-based authentication to send email messages since May 2022 for Gmail users of free accounts.

The OAuth process obtains token string values from the Gmail OAuth server. These token strings are a sort of password to access the Gmail SMTP server.

The token strings are valid for a period that currently is 1 hour. After that period, applications that use the Gmail SMTP server will have to renew the tokens using the OAuth process again.

The MIME Message package uses the SASL package to perform authorization. The XOAUTH2 driver class of the SASL package can renew the OAuth token automatically when necessary.

Please read this article to learn with example code how to use the PHP MIME Message, SMTP Client, SASL, and OAuth client packages to send email messages using PHP with the Gmail SMTP server in a way that does not require human intervention to renew the OAuth tokens automatically after they expire.

View Details

How to Implement a Modern WordPress User Interface using a WordPress Vue Plugin By Manuel Lemos Vue.js is a popular JavaScript framework that you can use to implement modern user interfaces for Web sites.

WordPress is a popular content management used by many sites to produce and edit content published in the Web site pages. Developers can extend WordPress with plugin components provided by third-party developers.

This package provides a plugin that implements WordPress plugins that can use Vue.js to implement modern user interfaces for accessing other WordPress plugins.

View Details

How to Implement a PHP Crowdfunding Site to Support The Development of Product to Be Launched in the Future By Manuel Lemos Many people want to launch new products on the market. They have great ideas, but they also need to take time to develop the development and launch the call. When they create the product, they also need money to buy food and other essential products to live with good quality.

One possible solution for the developer to have money during product development is to resort to crowdfunding. This way, the potential users of the product can fund the developer so he can dedicate his time to developing the product.

This package can help a developer to set up a site to present his product and collect crowdsource funding payments.

View Details

Introduction on How to Use the EverSQL MySQL Query Optimizer Tool for Free - 3 minutes - Lately in PHP Podcast Episode 93 Part 4 By Manuel Lemos When you want to optimize SQL queries to optimize an application that uses MySQL, you can use "manual" methods. These methods require good SQL query optimization knowledge. If you need to optimize many SQL queries, doing it "manually" may also take time.

One way to optimize SQL queries without requiring you to learn so much about optimization is to use a SQL query optimization tool. Optimization tools also take you much less time to optimize many queries than if you try manually.

Read this article, watch a 3-minute video, or listen to part 4 of episode 93 of the Lately in PHP podcast to learn how to use a free tool to optimize MySQL SQL queries without much knowledge and faster than if you try to do it manually.

View Details

How to Generates a Kubernetes Configuration File to Setup a Container using PHP By Manuel Lemos Kubernetes is a system to manage containers used in many cloud hosting systems.

Containers are helpful for managing and running applications that can run isolated, including those that implement PHP-based Web applications.

This package provides a simplified way to generate configuration files for Kubernetes containers from given parameters.

View Details

How to Implement a PHP Automatic Form Fill Solution that Pre-Fills Form Inputs with Values Entered Before by the Same User By Manuel Lemos Many Web site users do not have much patience to do repetitive tasks.

If they have to fill out lengthy forms with information, they may avoid it and not fill it, especially if the form asks for values already requested.

This package provides some help to minimize that issue. It provides a solution to "remember" the values that a user filled in a form with the same types of inputs.

So next time a Web site asks the user to fill a form with the same fields, this package can provide the values the user entered last time so that the application can pre-fill the inputs with those values.

View Details

How to Use a PHP Travel Planner Application to Help You to Move to Another Country and Have a Better Life By Manuel Lemos Many people who want a better life try to move to another country.

Often that is a non-trivial change of life because it requires a lot of preparation, for instance, planning how to arrive at the destination country, where you will stay, how much it will cost, etc.

This package implements a Web application that allows users to do the necessary planning to move with the least of the problems.

View Details

How to Implement a PHP SMTP Gmail Replacement for the PHP mail Function that Works with the Gmail OAuth Authentication By Manuel Lemos Many developers use Google Gmail to send email messages to their users because Gmail is a free service that works well.

In 2022 Google made the use of Gmail as a means to send email messages via Gmail SMTP server more secure by requiring an OAuth access token instead of the traditional password of the Gmail user account.

This requirement made many developers update their PHP applications to use OAuth tokens and continue to use the Gmail SMTP server for free.

Read this article to learn how to use OAuth access tokens to send email messages from PHP applications using the Gmail SMTP server.

View Details

How to Avoid Security Issues using PHP URL Redirect Follow Class to Discover the Final URL of a Short URL By Manuel Lemos Short URLs help pass URLs of pages to other people in a way that may be easier to remember or type.

One challenge of short URLs is that they hide the actual destination URLs. If the pages of destination URLs have security issues, the users that get short URLs may not be aware of that until they access the short URL destination pages.

This package finds and returns the destination URLs of a given short URL. It may also return any intermediary URLs that browsers may need to access until they reach the final destination URL.

This way, developers may use security tools for auditing the safety of the final destination of the short URL, as well as all intermediary URLs.

View Details

How to Use a WordPress Events Plugin Manage and Publish Organized Events By Manuel Lemos WordPress is a well-known publishing platform that can work for other purposes besides publishing blog posts using plugins that extend the possibilities of the original WordPress software.

This package implements a plugin that can transform a WordPress site into a regional event publication site.

View Details

How to Quickly Add a Laravel Shopping Cart to a PHP Web Site to Sell Your Own Products By Manuel Lemos Many Web sites have a shopping section on which they can sell products to their users.

The developers of those some of those sites use the Laravel framework to implement the area with less effort than if they develop the sites using PHP without any framework, content management system, or library dedicated to creating shopping sites.

This package can help quickly add a shopping section to a site that already uses the Laravel framework, thus reducing the effort to add this feature.

View Details

How to Use Simple MySQL Monitoring Tools for Free to Find the Slowest Queries that You Should Optimize First - 2 minutes - Lately in PHP Podcast Episode 93 Part 3 By Manuel Lemos When you want to optimize the performance of a MySQL-based application, you should try to optimize first the slowest queries that affect the application's performance.

The MySQL slow query log file provides a list of slow queries as they happen. So you need to monitor that file to determine the most critical slow SQL queries you need to optimize first.

Read this article, watch a 2-minute video, or listen to part 3 of episode 93 of the Lately in PHP podcast to learn how to use a free tool to monitor the MySQL slow query log and find the slowest SQL queries.

View Details

How to Buy a PHP Elephant Personalized with Your Logo By Manuel Lemos The PHP elePHPants are lovely mascots that many PHP developers love for being a symbol of their favorite language. The PHP Classes site sells plush toy versions of the PHP elePHPant.

Today we are announcing a significant improvement to the PHP ElePHPant mascot toys we are making available to make these plush toys even nicer.

From now on, you can purchase a personalized version of the PHP ElePHPant. This fact means that the plush toy may show a logo of your choice on the opposite side of the belly where it shows the PHP logo. Your logo can be an image with your name, your company name, or some other type of image that you can share with us.

Read this article to learn more about these new personalized elePHPants and how you can buy them so you can get them for yourself or for the people that you love the most in your life, hopefully in time for Christmas.

View Details

How to Implement a PHP User Guide Automatically to Help Users of Your Applications using Templates By Manuel Lemos Documentation is essential for projects of any kind to help users learn how to use those projects when they do not know how to use them or have doubts.

A good practice for providing project documentation is to have a user guide that presents all the aspects that may be useful for the project users.

This package provides a solution to help users of any project to generate documentation from templates.

It also allows the definition of navigation menus that configure the package to provide the structure to render the different parts of the project user guide.

View Details

How to Find MySQL Slow Queries in a Production Server by Activating the Slow Query Log - 2 minutes - Lately in PHP Podcast Episode 93 Part 2 By Manuel Lemos When you want to optimize a MySQL database application in production, you should figure out the slowest queries in that environment.

Enabling the MySQL slow query log can help you figure out the slowest SQL queries to optimize first. You can do that in a production environment, but you need to take extra care with how you enable the slow query log to avoid causing harm to the application.

Read this article, watch a 2-minute video, or listen to part 2 of episode 93 of the Lately in PHP podcast to learn how to enable the MySQL slow query log in a production environment in a safe way.

View Details

How to Use PHP to Send Web Push Notifications for Your Web Site in 2022 By Stefan Kientzler Many sites need to keep their users up to date about new content even when they are not looking at the site.

Web push notifications can solve this problem by showing notification windows with short messages telling the user there is something new on the site that they authorized to be notified when new content is publishe.

Read this tutorial article to learn about how you can implement Web push notifications in your sites using PHP.

View Details

How to Implement a Laravel Consent Cookie to Keep Track of Adult Users That Stated they Have 18 Years or More By Manuel Lemos Many sites present content for adults. Those sites need to confirm if the users have 18 years of age or more.

This package provides a solution to present a confirmation dialog to request that the user confirm if they are adults.

When the users confirm their age, the site uses encrypted cookies to store the user response, so it no longer shows the adult confirmation dialog.

This way, this package helps adult site content owners comply with countries' laws that require that the sites restrict access to content to adult users.

View Details

How to Quickly Implement a PHP Sales Management in a Web Site without Using a Database By Manuel Lemos Many sites implement an e-commerce section where the site owners can sell a set of products to their customers.

Implementing a complete e-commerce system can be a very complex task that requires to setup a database on which the site lists the available products.

This package provides a more straightforward solution: site owners can implement a sales system using simple configuration files.

View Details

How to Use a PHP Code Check to Measure the Aspects that You Need to Change to Improve Your Code Quality By Manuel Lemos You can measure the quality of a developer's code in several ways. For instance, complex code may be hard to maintain.

If you write complex code, it would be good if you could improve the way you write your code to make it less complicated.

Measuring the complexity and other aspects of the quality of your code can be helpful for you to have an idea of how good is the code you write and what parts you need to improve.

This package combines several other packages that measure different aspects of your code and generate a report that you can analyze and discover opportunities to make your code better.

View Details

Find MySQL Slow Queries by Activating the Slow Query Log - 7 minutes - Lately in PHP Podcast Episode 93 Part 1 By Manuel Lemos One of the factors that may make a Web application slow is the speed of execution of database queries executed by the application back-end code.

If you optimize the database queries that are the slowest, it may make a lot of impact on the speed of an application.

The first step in optimizing the slowest database queries is to find which are the slowest queries. Using MySQL as the database server, you can find the slowest queries by activating the slow query log.

Read this article, watch a 7-minute video, or listen to part 1 of episode 93 of the Lately in PHP podcast to learn how to enable the MySQL slow query log.

View Details

How to Use a PHP Instagram Client that Can Retrieve Instragram User Details without Using the Instagram API By Manuel Lemos Instagram is a prevalent social network on which people can post their content, mainly using pictures and videos.

Applications can retrieve information about Instagram users using its API and the OAuth protocol.

This package provides a simpler alternative to retrieve several types of Instagram user details that do not require using the Instagram API and the OAuth protocol.

The package accesses the Instagram pages and extracts several types of user details from the Instagram user pages HTML.

View Details

How to Use a PHP MySQL Diagram Generator to View the Schema of Tables of a MySQL Database By Manuel Lemos MySQL is a popular database system used by many developers of many different languages.

Sometimes developers need to have a good view of the current version of a database table schema they are using in their applications to understand the data that the applications can store in the database, so they can figure better how to implement the new features of their applications.

This package provides a way to generate diagram images of a MySQL database schema from a command line interface console.

View Details

How to Implement a PHP Health Check Solution Calculating Different Factors of the Health of a Person By Manuel Lemos People must keep track of their health when they want a good quality of life.

There are many aspects of a person's health to consider. Usually, it all starts by having an appointment with a doctor.

That doctor will probably ask you to do a set of health exams, so he can check what aspects of your health you need to improve.

After doing those exams, it is helpful to keep track of the result values, so you can repeat those exams later and compare whether you evolved in those health aspects.

To evaluate your health, you need to perform calculations with the values of the results of several exams.

This package provides a way to calculate many types of health factors so you can

View Details

How to Create New Laravel Nova Fields to Create Administration Panels with Less Effort By Manuel Lemos Laravel Nova is an administration panel built using Laravel.

Developers can extend it with additional components that provide better features and new panel elements.

This package can simplify the generation of the output of a Laravel Nova panel element.

It can help reduce the code that Laravel Nova panel elements need to write to generate the output that defines how each panel element appears to the users.

View Details

How to Implement a PHP Products Search that Can Return Recommended Products for Tourists to Buy When They are in Given City By Manuel Lemos Many people like to do tourism travel to places that they don't know. When in those places, they want to buy products that probably only exist because of the weather and bring souvenirs.

This package provides an API that can return recommendations for products to buy in a given city the according to the current weather conditions.

These features help implement applications for the tourism market.

View Details

How to Define PHP Routes for HTTP Requests using PHP 8 Attributes to Extract Details from Routing Class Code By Manuel Lemos PHP 8 implements the possibility to extract attributes defined in comments of PHP classes using PHP reflection support.

This package uses this possibility to implement an MVC framework that developers can use to configure HTTP request routes using route classes that comment attributes that define the details of the routing of HTTP requests to controller classes.

This way, developers can define the PHP application HTTP request routing configuration in the same class file that implements the routing code.

This possibility makes it easier to maintain complex PHP applications because it avoids the need to define routing PHP code in a separate file from the routing configuration.

View Details

How Can PHP Sign PDF Documents Using Certificates that Allow the People that Will Receive the Documents to Verify their Authenticity By Manuel Lemos PDF is a popular format for generating documents that users can view or print.

Anybody can alter a PDF document using editing tools. In some cases, the original author does not want that the document is changed.

Certificates can be used by the PDF document author to digitally sign a document to assure that the original document is intact when the users view it.

The PDF document viewer programs can check the digital signature contained in a document to verify if it is still intact.

This package provides a pure PHP solution to sign existing PDF documents with x509 digital signatures.

View Details

How to Improve Your Productivity Using Laravel Macro to Build Forms that Have Complex Select Inputs By Manuel Lemos A macro is an abbreviated form to represent information that may be long.

Macros can help save time for developers that need to write code for the different parts of their applications.

This package provides an example of how to use macros in Laravel applications by showing how to create a macro class that generates HTML for options of a form select input that has many options, for instance, a list of supported banks.

This macro class can save a lot of time for developers that need to insert the same type of form select input in the output of their applications' Laravel view templates.

View Details

How to Implement a PHP Hash Generator That is Simple Fast in Pure PHP By Manuel Lemos Hashing is an operation that computes a value from a string of data.

Hashing operations help check the integrity of data that may be transmitted between a source computer and a destination computer to detect data transmission failures caused by external interferences.

In environments in which security is an important aspect, developers should use cryptographic hashing algorithms to detect malicious alteration of data by people with bad intentions.

In environments where security is not essential due to the low risk of alteration of data by bad-intentioned people, developers can use non-cryptographic algorithms.

Such algorithms do not require so much CPU processing power and can run faster.

Murmurhash is a non-cryptographic algorithm.

This package provides a pure PHP implementation of the Murmurhash algorithm. Therefore it does not require that particular cryptography PHP extensions are available to use this class.

View Details

How to Set or Get the PHP Types of Variables Without the Risk of Committing a Mistake When You Type the Variable Type Names By Manuel Lemos PHP is a weakly typed language. This fact means that it allows setting the type of variable values when executing the PHP code.

Although this makes the PHP language very flexible and tolerant of the developer's mistakes, sometimes it can be hard to debug subtle bugs caused by the developer's errors.

In practice, that can mean that developers may take more time to fix subtle bugs that probably would not exist if PHP was a strongly typed language.

This package provides a solution that can help to avoid those bugs. It gives the name strings of the PHP variable types.

So, if a developer wants to use the PHP GetType and SetType functions to get or set the variable type, the developer can use this class.

So, if the developer makes a mistake in the name of a constant provided by the class, PHP will trigger an error that can make it easier to find bugs caused by typing the name of a PHP type.

View Details

PHP MVC Routing Tutorial with a Practical Example By Aladdin As you may know, MVC is a popular design pattern implemented by many PHP frameworks and applications.

Usually, MVC frameworks have a router component that processes HTTP requests and forwards each request to the controller class or callback function configured by the application to handle the request and generate the HTTP response.

Read this short tutorial to learn how to implement MVC routing using the Router App package quickly.

View Details

How to Create a Laravel Blog Project that Uses Markdown as Format to Write the Blog Posts By Manuel Lemos Blogs are still a popular form of publishing content of interest to a given community.

HTML is a natural format for defining blog content because Web pages use HTML to determine the page contents.

However, certain HTML tags may be insecure to allow blog post authors to submit content because a malicious author may use specific tags to steal private information from blog visitors.

Markdown is not as powerful as HTML in rendering content, but it is undoubtedly more secure because it does not support the same kind of tags HTML supports and can be insecure.

This package implements a blog system that allows authors to edit the post content in Markdown format, and then it displays that content on Web pages using regular HTML.

View Details

How to Simplify Your PHP Code by Performing a PHP Complexity Analisis to Find PHP Functions with Too Many Arguments By Manuel Lemos Complex PHP code is hard to maintain. In practice, if you use a complex coding style, you spend a lot of time analyzing and improving your code whenever you need to make changes.

There are several types of signs that you use a complex coding style. One of them is the way you declare your classes and functions.

For instance, if you create classes with functions with many parameters, that is a sign that you are trying to do many operations in those functions.

This package can help you to find which can be complex class functions, so you can fix them, probably splitting them into several tasks that do fewer operations.

View Details

How to Help Your Blog Users to Decide If They Want to Read a Post Based on The Author Feelings Using a WordPress Plugin for Sentiment Analysis By Manuel Lemos People who send text content to the Internet often express how they feel. That is the case, for instance, when post articles on a blog.

Knowing the kind of sentiment that an author of an article is expressing can be helpful for site users to decide if they would like to read the article or not, depending on the current mood.

It may also be helpful for site moderators to decide if they should approve an article or not, depending on whether the sentiment expressed by the article author is positive or negative.

This package implements a WordPress plugin that can analyze the sentiments expressed by authors of posts, pages, and comments. This way, users and moderators may understand the author's feelings.

View Details

How Can PHP Measure the Execution Time of a Web Script Since the HTTP Request Start By Manuel Lemos Measuring the time a PHP script takes to execute allows determining if a hand is too slow and if its performance needs to be optimized.

When PHP is used to serve Web pages, the execution time must be measured from when the Web server received the HTTP request.

This package provides a class that can calculate the current script's real execution time considering the HTTP request start time.

View Details

How Can PHP Allow IP Address Range of Real Users by Blocking Machines Used to Perform Security Attacks By Manuel Lemos Sometimes Web servers that run PHP sites are attacked by several machines hosted in the same network.

One way to protect against those attacks from all those machines is to block network connections from the whole IP address range segment.

This package simplifies blocking a whole IP address range segment by generating commands to run the Linux iptables command that adds rules to stop all the IP addresses that belong to those range segments.

View Details

How to Use PHP Validation Type Casting to Perform Complex Form Validation with Less Code By Manuel Lemos Many Web applications need to validate values entered by the users to avoid invalid values that can make the application work unexpectedly.

Usually, developers define a set of rules to validate values entered by users. In some cases, specific values need to be validate by several rules.

This package supports the concept of type casting. This concept allows the definition of rules that combine several other rules into a single rule.

This way, developers can simplify the definition of complex rules in less code than if they had to define all simple rules for each value that their applications need to validate.

View Details

How to Discover The Reasons Why Your Application Slowest Parts Are So Slow By Manuel Lemos When you discover what parts of your applications are the slowest, you are in an excellent position to start making changes in your code that can significantly impact the application's performance.

Still, you need to understand why that code is so slow, so you can make the right changes to make the code run much faster. This article has some example code to show how to do it manually.

Going through a large section of code and finding the exact lines of slow code can take too much time.

A good profiling tool can help you find the exact lines of code that make the code so slow, so you can quickly determine why the code section is so slow.

Please read this short article to learn how to use the Scout Application Performance Monitoring tool to determine the specific lines of code of a Laravel or Symfony application that are causing the application to be so slow, so you can focus your optimization work on the code changes that really can make a difference after you optimize the code.

View Details

How to Quickly Create Extensions to Work as Joomla Templates By Manuel Lemos Joomla is a popular PHP content management system many sites use to publish helpful content.

Developers can extend Joomla with additional modules that provide other functionality.

One of the types of modules that Joomla supports is template extensions that developers can install to change how a Joomla-based site appears to the users.

This package generates the files for creating Joomla template extension modules.

This way, Joomla extension developers can get started faster when they want to create new template modules.

View Details

How to Implement a PHP JPEG Exif Data Editor to Read and Write JPEG Image Captions in Multiple Languages By Claude Diderich If you are doing development work for clients whose native language is not English, you probably have been challenged to write IPTC-IM (International Press Telecommunications Council Image Metadata) that you can embed in JPEG image files with information like headlines, captions, keywords, etc.

You can embed that metadata information in JPEG image files in different languages. The challenge worsens if you want to offer the same images to different clients speaking or publishing in other languages.

Read this article to learn how to read and write IPTC-IM metadata in JPEG image files using PHP.

View Details

How to Implement a Simplified PHP Login System with Admin Features and User Registration in a Single Script By Manuel Lemos All sites that have registered users implement a system to create and manage user records and user login sessions.

This package provides a simple solution that application developers can quickly adapt to any site regardless of how it stores and retrieves the user records.

It provides a single class that applications can use to handle access to most types of pages that the applications will use to handle user registration, login, administration, etc.

View Details

How to Load PHP DotEnv Multiple Files by Finding the Correct Path for the Files Depending on the Current HTTP Request Site Host By Manuel Lemos dotenv is a popular format used by many developers to store configuration values.

It is language-independent, so applications written in different languages can easily read the files in that format.

Usually, dotenv files exist in a fixed location relative to the path of a project.

If you have multiple projects, you may need to find the path of the dotenv file to load the correct configuration file.

This package can test different paths and find the correct location based on a list of possible setups for your projects and the current HTTP host.

View Details

How to Implement a PHP Telegram Bot that Can Provide a Graphic User Interface to Interact with Chat Users By Manuel Lemos Telegram is a well-known chat application that provides an API to build powerful bot applications. Those bot applications can interact with users automatically.

Some Telegram features allow users to answer questions using buttons or typing text using only specific keyboard characters.

This package takes advantage of the Telegram features to quickly implement more user-friendly chatbot applications written in PHP.

View Details

How to Discover What PHP Code You Should Optimize First to Improve the Performance of a Real Web Application Using a Monitoring Tool By Manuel Lemos A profiling tool can be handy to find the parts of your application code that are slow and that you need to optimize.

If there are many parts of your application that you need to optimize, the next decision is which parts you should work to optimize first.

Fortunately, some profiling tools can help you figure out which parts of your application you need to optimize first.

Please read this short article to learn how to use the Scout Application Performance Monitoring tool to determine which parts of a Laravel or Symfony application you should optimize to achieve the most significant performance improvements sooner.

View Details

How to Write a Google Search Query Using PHP By Manuel Lemos Many people use Google as a prevalent search engine due to its ability to present results about pages that are available on the Web.

Google provides a way to query the search engine using text strings that support a powerful syntax to restrict the search results to pages that can match complex conditions.

This package provides a more straightforward way to compose Google search query strings by providing a set of functions that PHP developers can use without understanding Google search query syntax.

View Details

How to Implement a PHP JPEG Exif Data Parser and Writer To Read and Write the Image Description Text in Different Languages By Manuel Lemos JPEG is a popular image format that can store high-quality data using compression to reduce the image file.

JPEG may contain metadata that describes aspects of the image.

This package can read or write image metadata that JPEG image files contain with support to store text metadata in different languages.

This way, the package can help develop applications that display metadata information in different languages that application users understand.

View Details

How to Use a PHP Application Profiling Tool to Determine What You Should Optimize First to Improve the Performance of a Laravel or Symfony Application Performance By Manuel Lemos Many experienced developers have learned how to improve their coding habits to write code that will run faster.

If you have already written an application, it may be tough to determine if you have already registered the code in a way optimized to run at the highest speed.

Fortunately, some tools can help you figure out which parts of your applications are worth the effort of optimizing to achieve speed improvements.

Please read this short article to learn how to use the Scout Application Performance Monitoring tool to determine which parts of a Laravel or Symfony application are worth optimizing and how to use the Scout application tool for free, so you can see it in action without paying.

View Details

How to Make Laravel DebugBar Enable Dynamically So You Inspect Debugging Values in Specific Situations of Your Interest By Manuel Lemos PHP DebugBar is a package that is useful for debugging PHP applications. At the bottom of the current page, it can show several types of debugging information about the execution of the PHP script handling the recent HTTP requests.

Laravel DebugBar is a package that turns the PHP DebugBar package into a service that Laravel applications can use.

When developers debug an application, they may not need to show debugging information in all circumstances.

This package only provides the means to enable the debug bar in the Laravel application only in certain circumstances that are useful for the developer who is debugging a Laravel application.

View Details

How to Create a PHP Database Connection Test Script to Check the Database Server Reachability By Manuel Lemos How to Create a PHP Database Connection Test Script to Check the Database Server Reachability

Many PHP applications need to access a database server and execute SQL queries to store and retrieve data in database table records.

If for some reason, the database server is not available for connection, any queries that the applications need to execute will fail with an error that may not be very clear what is the real cause.

This package provides a simple solution to check the availability of the database server.

It executes a dummy SQL query that is not useful for storing and retrieving data from the database server.

It only serves the purpose of checking if the database server is accessible.

View Details

How to Create a Chat Party with a PHP Telegram Bot By Manuel Lemos Telegram is a popular chat application that can be improved using external applications that call Telegram API to implement new resources around the Telegram application.

One popular type of Telegram-based external application is well-known for using Telegram support to implement chatbots that can interact with many users.

This package implements a chatbot that can create a party at which each user can invite other users to participate in a chat party.

View Details

How to Implement Laravel Privacy Measures to Only Set Cookies After the User Authorizes the Use of Cookies By Manuel Lemos Many sites are now asking users if they can use cookies to track users that visit a site.

This request implementation usually works by showing a message on a page with a button that the users can click to tell the site they can use cookies.

This package implements a solution for this approach that will work in Laravel applications.

View Details

Laravel 9 Tutorial to Implement a CRUD Application Taking Advantage of PHP 8 Features By Manuel Lemos Laravel is a well-known PHP development framework. In version 9, it introduced new improvements, including taking advantage of PHP 8 new features.

This package implements an example of a CRUD application based on Laravel 9.

View Details

How to use PHP to Detect File Type From Path By wim niemans Some applications need to determine the type of file to do specific file processing for each file, like processing image files.

The Metyl PHP MIME Type Check package can simplify that task by detecting the MIME type and encoding of the data, as well if the usual file name extension is one of the extensions allowed by your PHP application.

Read this short PHP tutorial to quickly learn how to use the Metyl PHP MIME Type Check package to detect the correct file type.

View Details

How to Implement Your Own PHP Analytics Dashboard in a Site Using the Melis Content Management System By Manuel Lemos Most site owners are interested to know how their sites are doing in access statistics, so they can figure out how to improve the areas to make them attack more users.

Many sites use external analytics tools like, for instance, Google Analytics.

If, for some reason, the site owners prefer to avoid using external analytics tools, the package can provide a good alternative.

This package provides a page analytics module for sites that use the Melis PHP content management system.

Using the Melis CMS with this module, sites do not need to use any other external site access statistics to track how the sites are doing in terms of users that visit the sites.

View Details

How to Update PHP Version Using Methods and Tools the PHP Community Uses - 3 minutes - Lately in PHP Podcast Episode 92 Part 10 By Manuel Lemos Every time you need to solve a problem, you may realize there may be several approaches to solve that problem. Each way has its advantages and disadvantages.

This fact shows why it is helpful to learn from other developers what approach they use to solve a problem that you also want to solve.

Read this article, watch a 3-minute video, or listen to part 10 of episode 92 of the Lately in PHP podcast to learn about other methods and tools different developers use to upgrade PHP versions.

View Details

How to Implement a PHP Chess Game as Part of a Symfony Application By Manuel Lemos Chess is a popular board that many people that like challenges like to play.

Symfony is a popular framework that may PHP developers use to develop their application.

This package combines the features of chess game manager in a way that it is easy to implement chess game in Web site developed using the PHP Symfony framework.

View Details

How to Optimize the Performance of a Real Web Application with a Monitoring Tool By Manuel Lemos Many experienced developers have learned how to improve their coding habits to write code that will run faster.

If you have already written an application, it may be tough to determine if you have already written the code in a way optimized to run at the highest speed.

Fortunately, some tools can help you figure out which parts of your applications are worth the effort of optimizing to achieve speed improvements.

Read this short article to learn how to use the Scout Application Performance Monitoring tool to determine which parts of a Laravel or Symfony application are worth optimizing.

View Details

How to Implement a PHP Template Engine to Generate HTML Pages that Can Adjust the Path of JavaScript, Images and CSS Relatively to the Current HTTP Request URL By Manuel Lemos Processing templates is a common task that many PHP applications perform to generate the output, for instance, of each page.

In some cases, HTML templates may contain the paths of the URLs of JavaScript, images, and CSS files.

When these files use relative paths for these files, the correct path depends on the path of the current PHP script page URL.

The correct relative path may vary if the page URLs are inside each server directory.

This package implements an approach to simplify this situation. It can take a parameter that applications may use to specify the relative depth of external files that the current page uses.

View Details

How to Implement a PHP JWT Token Generator that Can Be Used in Security Protocols like OAuth By Manuel Lemos JSON Web Token (JWT) is a standard for encoding and transmitting security-sensitive information using JSON format to encode objects as strings.

This class provides a simple means to encode and decode data using the JWT standard.

Developers can use this class with other components that implement more complex protocols and security measures, like OAuth.

View Details

How to Implement a PHP Payroll System To Management Payments for People that Work with Schools By Manuel Lemos Payroll systems are helpful to many businesses that need to keep track of the payments that their customers have made.

One type of business that usually can make good use of a payroll system is a school.

This package implements a payroll system dedicated to school business.

View Details

How to Implement a PHP Version Check that Tolerates the Variations of the Version String Formats By Manuel Lemos Many software projects use a convention to number the project version numbers called semver.

This conversion splits the version numbers into three parts: major version, minor version, and patch number.

This possibility helps developers determine if their current version is more recent or older than some other version.

This package parses version string numbers in a way that tolerates variations like putting a v in the front of the version, using needless zero characters before the version number parts, or even missing minor or patch numbers.

It can also normalize the version number strings to comply more with the semver convention.

View Details

How to Generate a PHP Template Class to Render Views in CodeIgniter Applications By Manuel Lemos Many PHP applications use MVC frameworks like CodeIgniter and others to develop faster the application code using existing class libraries.

Rendering the output of a page is a common task that most applications need to perform.

Often this task is performed using templates that are processed to create the page output.

The package provides a viewer class that simplifies the development of PHP applications that use the CodeIgniter framework to render the current request output using a given template PHP script.

View Details

How Can PHP Load JavaScript of Web Pages Faster using a Template Engine to Combine JavaScript Files By Manuel Lemos Every site needs to use JavaScript code to implement features of Web pages that require dynamic changes.

The list of JavaScript files that may be necessary to load on a Web page may be longer depending on the kind of features developers want to provide, and it may be tedious to specify each file in the page HTML.

This package provides an alternative method for loading JavaScript all at once.

It uses its template engine to combine all the necessary JavaScript libraries in a single JavaScript and stores it in a cache file to make it faster by avoiding processing the JavaScript template again.

View Details

How to Debug CodeIgniter Faster using Zend Z-Ray Integration By Manuel Lemos CodeIgniter is a popular PHP framework used by many PHP developers.

Z-Ray is a product from the Zend company that can help developers debug their applications faster.

The package integrates a CodeIgniter plugin package that can help view CodeIgniter application-specific details using the Z-Ray product.

View Details

How to Execute SQL Query Statements Configured in Separate Files That Help Maintaining Your PHP Application Easier By Manuel Lemos Most PHP applications need to connect to a database and execute SQL queries to store and retrieve data.

Usually, developers define the SQL queries as strings in the PHP code that performs those queries when executed.

If you need to update the queries to improve the features, you must change the PHP code that defines those queries.

This package provides a different alternative to define the queries that the PHP code of your applications needs to execute.

It allows defining the queries in the PHP configuration scripts that define the SQL queries as named constants.

This approach allows developers to find the queries they need to update faster when they want to improve their application features.

This approach also makes application maintenance easier because the developers may only need to change configuration files defined separately from the application code.

View Details

How Can PHP Detect CLI or Web Environment on Which It Is Running By Manuel Lemos PHP is a flexible language that can run in different environments, for instance, a Web server or a command-line interface shell console.

Developers can create applications that adapt to the different environments in which PHP may run.

This package helps developers who want to adapt to PHP's different environments.

It checks some environment values and returns the information of the specific environment in which it runs.

Using this package, developers only need to adapt their code depending on the environment type that this package returns.

View Details

How to Use a PHP Monitoring System with Email Notification to Verify a Version Upgrade - 3 minutes - Lately in PHP Podcast Episode 92 Part 9 By Manuel Lemos When you make changes to a site or another aspect of your site production environment, there is always a chance that some parts may not work well after you complete the changes due to unexpected consequences.

Often these consequences cause your site's PHP code to trigger errors. These errors may start appearing after you do a PHP version upgrade.

One way to determine if there were errors after you made production environment changes is to monitor PHP errors and send emails for the new PHP errors that started to appear.

Read this article, watch a 3-minute video, or listen to part 9 of episode 92 of the Lately in PHP podcast to learn how to monitor your PHP errors quickly and be notified by email, so you can fix the environment that causes the errors.

View Details

How Can PHP Search MySQL Table Fields with Large Text Fields Using the MySQL FIND_IN_SET Function By Manuel Lemos Many PHP developers use MySQL as a database to store application information dynamically.

PHP developers often need to perform search queries to filter the database table records with field values matching given criteria. Sometimes there is the need to filter records that match multiple criteria.

SQL allows composing complex search queries to combine multiple search criteria.

MySQL has a particular function named FIND_IN_SET that allows defining a condition that can check if string values have a given number of occurrences of another string value.

This class allows composing complex MySQL search queries that combine multiple search conditions. Some conditions can use the FIND_IN_SET function to find database table records with particular values in larger text fields.

This possibility allows PHP developers to perform complex searches to find given text values inside database table field values that have text values the PHP application users want to see.

View Details

How to Implement a PHP Inventory Management Dashboard Using a Laravel Integration with Rackbeat By Manuel Lemos Rackbeat is a Web-based service that customers can use to help them manage the inventory in their warehouse places.

It can manage inventory jobs that are going on in a customer warehouse.

This package can help site owners who are Rackbeat customers quickly see the ongoing jobs in their Rackbeat account in one place on their site.

The package implements a Rackbeat jobs dashboard that developers can add to a site built with Laravel.

View Details

The Right Order to Execute the Steps to Upgrade to a New PHP Version - 2 minutes - Lately in PHP Podcast Episode 92 Part 7 By Manuel Lemos One of the reasons why certain version upgrades went wrong is that you do the version upgrade process steps in the incorrect order.

You can determine the correct order by the more critical steps you need to do first because you can only do the following steps when you complete the crucial steps.

Read this article, watch a 2-minute video, or listen to part 7 of episode 92 of the Lately in PHP podcast to learn the correct order of the steps to perform a PHP version upgrade.

View Details

How to Implement a Laravel OAuth2 Server API that Can Refresh Expired OAuth Tokens Automatically By Manuel Lemos Laravel Passport is a package intended to provide user authentication for APIs using the OAuth 2 protocol.

An OAuth 2-based API server can generate tokens for the API clients to access the API on behalf of a real human user who authorizes the access to the API services from API client programs.

An OAuth 2 server can generate access tokens that it returns to the API client program. In the subsequent request that the client program sends to the API server, the client only needs to pass a token value to authenticate on behalf of the same user.

API servers should renew the access tokens after some time to improve the security of the API access.

This package provides a service that can perform the renewal of access tokens using refresh tokens by following the procedure determined by the OAuth 2 protocol specification.

This package can make the OAuth 2-based APIs based on the Laravel Passport more secure.

View Details

How to Use a Laravel Livewire Select Input That Can be Updated Interactively Communicating with the Web Server Using AJAX Requests By Manuel Lemos Laravel Livewire is a framework built on top of the Laravel framework that makes it easier to develop Web applications that provide Web interfaces that can change dynamically.

It supports components that can change the Web interface after interacting with the Web server using AJAX requests.

This component can interact with a Web server after the user picks options in a form select input.

View Details

How to Get Easy to Understand PHP Performance Metrics to Quickly Improve Your PHP Application Performance By Manuel Lemos Measuring the performance of an application is a complex subject. You need to learn many aspects so you can determine how to measure the performance values, so you can make good decisions on what you can do to change your application code, to make your code run faster in a way that is noticeable by the application users.

Visual tools can help you as an application developer to view and interpret the current performance values, so you can compare those values before and after you make code changes, so you can confirm that your application will really run faster after you make those code changes.

Read this short article to learn more about how to visualize the performance values of your Laravel or Symfony applications any time you want using the Scout APM tool for free.

View Details

How to Use a PHP Validation Library that Extracts Validation Rules Automatically from PHP Validation Source Code Files By Manuel Lemos Validation of data retrieved from external sources like the user input is mandatory in any robust PHP application.

There are many approaches to validating external data.

This package provides an alternative that simplifies the validation process of data passed to classes of objects or returned by those objects.

It uses PHP reflection to minimize the amount of PHP code necessary to validate data passed to classes of objects.

This way, developers reduce the effort to implement robust validation in their PHP applications.

View Details

How to Implement a PHP Template Engine For Processing Complex Templates Using Multiple Template Processing Objects By Manuel Lemos PHP is often used to process templates that will define the presentation of Web pages.

In some cases, pages can present the content complexly that involves nested sections because they contain internal parts.

The package provides a template engine that can deal with this complexity.

It allows assigning template marks with content resulting from processing other templates by other objects of the template classes provided by this package.

This way, developers simplify complex template processing by splitting the processing between different objects that can process inner parts of the page using multiple template processing objects.

View Details

How Can PHP Parse JSON Data from a Post Request in a Secure Way to Avoid Hash DoS Attacks By Manuel Lemos A Hash DoS attack is a security attack that may affect PHP applications that use arrays or objects to pass parameters from clients to PHP using HTTP request variables.

This vulnerability may affect PHP versions that do not avoid collisions of hash data structures that may take many keys that result in the same hash value to determine how PHP's arrays and objects are stored internally.

PHP provides better alternative methods to store arrays and objects more immune to this vulnerability.

This package implements a parser for JSON strings that uses an alternative method to store values or JSON objects passed to PHP from HTTP requests like those used to call APIs implemented in PHP.

View Details

How to Implement a Student Management System to Help Students Plan Their Studies Better By Manuel Lemos A successful student needs to be prepared to show that he learned what he is supposed to learn from his teachers.

Usually, an exam presents exercises that the students need to do to prove they learned what teachers expect them to know.

When students have a limited period to study and be prepared to do the exam, they should plan better their studying efforts so they prepare themselves in time for the exam date.

The package provides an API that can generate a study plan with the times and chapters the students need to go through to practice what they learn and pass the exam.

View Details

How to Use a PHP Stock Management System to Keep Track of the Groceries that You Have at Home or Need to Buy By Manuel Lemos Many people need to manage the stock of groceries and other products in their homes to consume.

This way, they can determine when it is necessary to buy more products running out of stock.

This package provides an application that lets them manage the stock of products they consume at home using either a Web interface, an API from a mobile application, or the command line console.

View Details

How to Implement an Asynchronous PHP Data Objects Using Swoole to Store and Retrieve Objects Faster By Manuel Lemos Swoole is an Open Source project that allows developers to create PHP applications that can execute operations asynchronously and quickly.

This way, applications can execute multiple operations simultaneously in parallel, so a single PHP script can run in less time than the same script would execute using the regular PHP implementation.

This package uses Swoole speed optimization to implement a client that can store objects in a storage container managed by a server executed using Swoole.

This package can store and retrieve data objects faster than using traditional types of databases used by PHP developers that require clients to wait until the database access queries finish before the PHP scripts move to execute the next operation in the same PHP script.

View Details

How to Create a Memes PHP Script to Generate Funny Images using a PHP Class By Manuel Lemos A meme is a way to propagate a situation that often is funny. Funny images usually represent a Meme that describes that situation.

This package can generate meme images from base images and funny texts.

This way, you can generate lovely mime images that others may consider funny and like you more for making them enjoy the comical situation and become happier.

View Details

How to Use PHP Eloquent Model Classes in PHP Applications that Use the CodeIgniter Framework By Manuel Lemos CodeIgniter is a popular PHP framework used by many developers to implement PHP applications following a consistent development method.

Eloquent ORM is a PHP package that can map model classes to database table records to store application data objects.

Often the Eloquent ORM is used in PHP applications that use the Laravel framework.

This package demonstrates that PHP developers can learn how to use the Eloquent ORM model class objects in a CodeIgniter application.

View Details

How You Can Debug PHP Online Using a Web Page and without Installing Server Side Extensions By Manuel Lemos Most PHP developers need to debug their code as part of the development work to ensure it works well as expected.

PHP provides debugging functions that have limited capabilities.

There are alternative solutions based on PHP extensions that are hard to install and often required to alter the security protections to debug PHP applications running on production servers.

They often require special effort to integrate with IDE tools that support PHP.

This package provides a better alternative that allows developers to debug their PHP applications.

It allows developers to insert a few lines of code in the PHP applications that they want to debug.

Then developers can access a Web server that provides a user-friendly interface to control the PHP application they want to debug.

View Details

How to Find Slow Requests Using a PHP Performance Monitoring Tool with Laravel or Symfony Applications By Manuel Lemos If you have a site and you notice that it is slow, that is an issue that may affect the user experience, and users may leave the site for that reason.

To solve the slowness problem, first, you need to find the causes that make the site slow before you can start fixing the performance issues.

Read this short article to learn more about how to find and fix slow requests served in your Laravel or Symfony applications using the Scout APM tool for free.

View Details

How to Extract PHP HTTP Request Variables to Pass to a Controller using a Router Class that Extracts Many Types of Values By Manuel Lemos PHP provides super-global variables to facilitate access to the values extracted from the current HTTP request.

Nowadays, many applications use router components that can parse the HTTP request to configure which controller class handles the HTTP request.

This package combines the features of PHP to extract HTTP request values with the quality of the Mezon router class to retrieve HTTP request values and route parameter values using the same code.

View Details

How to Use a PHP Performance Monitoring Tool to Solve N+1 Queries Problem in Laravel or Symfony Applications By Manuel Lemos Many PHP applications use an Object-Relational Mapping (ORM) approach to store and retrieve application objects using SQL to query relational databases.

N+1 Queries is the problem many applications have with using traditional approaches to implement Object-Relational Mapping (ORM). These approaches may cause performance loss if the developers still need to fix the application code to avoid this problem.

Read this short article to learn more about N+1 queries and how to find and fix performance issues caused by these queries in your Laravel or Symfony applications using the Scout APM tool for free.

View Details

How to Implement a PHP Darts Count to Help Darts Game Players to Keep Track of the Game Score By Manuel Lemos Darts is a popular game that allows several people to play by throwing dart arrows at a target board. Each player can earn points depending on how close the hands stick to the center of the board.

This package can help manage each player's score until each game ends to determine who won.

This way, the package can help keep track of the game's progress accurately, so the players do not have to remember how many points each player is scoring.

View Details

How to Test Your Application Features in Practice During a PHP Version Upgrade - 4 minutes - Lately in PHP Podcast Episode 92 Part 6 By Manuel Lemos After you have planned all the steps of a PHP version upgrade process, it is time to execute the planned steps.

Read this article, watch a 4-minute video, or listen to part 6 of episode 92 of the Lately in PHP podcast to learn how to test your application features in practice during a PHP version upgrade using reliable testing tools.

View Details

How to Use PHP Code to Generate Excel Report Pages in a Site Using a Joomla CMS Plugin By Manuel Lemos Joomla is a popular content management system (CMS) written in PHP. Developers can extend it with plugins that make it more useful for sites that publish content using the Joomla system.

This package provides an example of a plugin for the Joomla CMS that can show how to create plugins in practice. It shows how to extract data from Microsoft Excel files and display it as a report on a Web page managed by Joomla.

View Details

How to Implement a Process of Automated Testing of PHP Web Applications Controlling a Browser using PHP from the Console By Manuel Lemos The best way to test a Web application is to do human testing.

Human testing means that a natural person uses a browser to access the Web application pages. It is possible to confirm that the user performs the desired actions in the application.

Sometimes it is convenient to automate the tests making the current user access the same page again. So the user would need to tell the browser to reload the current page.

This package provides a means to automate the browser reloading process by emulating the user's input to make the browser reload the current page without having a natural person interacting with the browser application.

View Details

How to Make More Money from Exchanging Currencies using a PHP Currency Converter Commission Calculator Class By Manuel Lemos Many people work in the currency exchange market, trading money amounts between different currencies.

Each exchange transaction has associated commissions paid to the dealers that perform the transaction.

This package can automate the calculations of the commission amounts involved in a set of currency exchange transactions.

View Details

How to Implement a PHP CDN File Syncronization Solution to Serve Static Files Faster in CakePHP Applications By Manuel Lemos A Content Delivery Network (CDN) is a service that allows off-loading the service of pages and other Web site resources to a network of third-party servers.

Those servers can be geographically closer to the users of a site, thus making the service of those site pages faster for those users.

This package can perform several operations to store and retrieve files stored in CDN servers directly. It makes it easier for developers to manage content stored in CDN servers from the Web sites they developed.

View Details

How to Use a PHP API Generator to Quickly Create a Web Services that Responds with Database Query Results By Manuel Lemos Web services often need to store and retrieve data from SQL databases.

Web service clients pass parameters that the Web service providers need to process to perform the operations controlled by the parameter values sent by the Web service clients.

This package simplifies using the parameter values passed by Web service clients and executing prepared queries by automatically assigning query values to the parameter values passed to Web service.

View Details

What Are Your App Features to Test First Before a PHP Version Upgrade - 3 minutes - Lately in PHP Podcast Episode 92 Part 5 By Manuel Lemos Testing a PHP application may require that you test a lot of features. Therefore you need to define the order of the features that you will test.

First, you need to define the most critical features of your PHP application to verify if they are working as expected early on in the testing process.

Read this article, watch a 3-minute video, or listen to part 5 of episode 92 of the Lately in PHP podcast to learn how to determine which are the most critical features you should test first during a PHP version upgrade testing process.

View Details

How to Make Your Laravel or Symfony PHP Applications Faster Using the Scout APM Tool for Free to Discover Optimization Opportunities By Manuel Lemos The performance of your PHP applications is now more critical than ever before because the user experience has become an even more crucial factor in determining the quality of Web sites and applications.

Slow applications may lose visitors coming from search engines like Google because it considers performance one of the most critical factors in evaluating the user experience of Web sites and applications.

Read this short article to learn how to find and fix performance issues faster in your Laravel or Symfony applications using the Scout APM tool for free.

View Details

How to Quickly Create a Laravel API Application Using Routes Generated from an OpenAPI Specification By Manuel Lemos OpenAPI is a standard that defines a file format that uses JSON to describe the functionality of an API.

Developers that want to use OpenAPI to implement an API need to parse the API specification in JSON format and write code that implements the functions of each API endpoint.

This package makes it easier for Laravel developers to implement APIs based on the OpenAPI specification. It can process an OpenAPI specification to add routes for the API endpoints.

This way, the developers only need to develop the code for the action controllers of each API endpoint.

View Details

How to Setup a Development Environment to Test a PHP Version Upgrade - 3 minutes - Lately in PHP Podcast Episode 92 Part 4 By Manuel Lemos The first thing you need to do to start an upgrade of a PHP version is to set up a development environment where you can test if your application continues to work well with the new PHP version.

Read this article, watch a 3-minute video, or listen to part 4 of episode 92 of the Lately in PHP podcast to learn how to set up a machine to test if your PHP applications work as expected after the PHP upgrade version.

View Details

How to Implement a Laravel Elasticsearch Solution to Scale PHP Applications with Search Features By Manuel Lemos ElasticSearch is an application to index and efficiently search content.

It provides a server that PHP applications can connect to perform searches from separate machines. This possibility allows for the development of more scalable applications.

This package provides an example of setting up a Docker container of a Laravel application that developers can use to learn how to create applications that can run on multiple servers.

View Details

How to Create Fast and Intuitive User Interfaces using a Laravel Command Palette to Let Users Execute Application Functions Very Quickly By Manuel Lemos Command palettes are user interface widgets that allow the users to have quick access to a list of commands that they can execute in an application.

Users may click on command buttons or type the command's name they wish to execute.

This package implements command palettes to send the command execution requests to the server-side application using AJAX requests to avoid page reloading.

This package implements an API based on the Laravel framework to process the command execution requests that it receives from the browser via AJAX.

View Details

How to Plan a PHP Version Upgrade Successfully - 11 minutes - Lately in PHP Podcast Episode 92 Part 3 By Manuel Lemos Upgrading to a new PHP version can be a complex task that may fail due to the lack of planning on how to solve each problem of each step of the upgrading job.

Please read this article, watch an 11-minute podcast video or listen to the audio of part 3 of episode 92 of the Lately in PHP podcast to learn how to plan a PHP version upgrade process so it can conclude successfully.

View Details

How to Create a PHP Facebook Bot That Can Interact with Facebook Messenger Users and Serve Useful Information Obtained from Other Web Services By Manuel Lemos Facebook provides an API that allows the developers to build bot applications that can interact with Facebook Messenger users via chat messages exchanged automatically.

This package implements a Facebook Messenger chat application that allows users to book traveling trips that they plan to do to their favorite places in the world.

View Details

How to Develop a Scalable Application using the Laravel Repository Design Pattern By Manuel Lemos The repository is a software design pattern to model the access to objects stored in a data container.

It allows developers to use an abstraction of how to store the object in the data container.

An application may start using a SQL database to store data objects.

Suppose the application grows, and it is necessary to use a data storage container that is more scalable than using a SQL database. In that case, repository abstraction allows changing the means to access the container without changing the application code.

This package implements the repository design pattern in PHP that developers can easily integrate into Laravel applications.

View Details

How to Implement a WordPress Todo List that Can Simplify the Insertion of Task List in the Blog Posts By Manuel Lemos WordPress is a very popular content management system because developers can extend it in many ways. One way to extend WordPress is to add new custom post types.

This package implements a new post type that publishers can add to WordPress. This new post type allows site posts to show to-do lists by inserting a shortcode.

View Details

How to Use a PHP Google Charts Solution to Render Graphics with Data Retrieved from a Remote Server that Provides a Web Service By Manuel Lemos Google Charts is a popular API used by many developers to generate graphics to display on their Web pages quickly.

Google Charts API takes a set of data with parameters that define values.

This package can pull data from a given Web service API and convert the data to generate a graphic chart.

This way, this package allows combining the two Web services, minimizing the effort of developers that need to display Web charts on their Web site pages.

View Details

When Is the Right Time to Update to a New PHP Version - 5 minutes - Lately in PHP Podcast Episode 92 Part 2 By Manuel Lemos When you consider updating your applications to use a new PHP version, many available versions are available.

Updating too soon or too late to a newer version of PHP may cause problems of instability or security in their applications.

Please read this article, watch a 5-minute podcast video or listen to the audio of part 2 of episode 92 of the Lately in PHP podcast to learn about criteria that you can use to do a safe version update.

View Details

Why You Need to Choose the Right Moment to Upgrade to a New PHP Version - 4 minutes - Lately in PHP Podcast Episode 92 Part 1 By Manuel Lemos Every developer depends on several types of software applications to run their applications to do their work. Examples of those software applications are PHP, a database server, a Web server, and an operating system.

Newer versions of these software applications are released to improve their features and fix their bugs to benefit the community of developers that use them in their projects.

Upgrading too soon or too late to a newer version of a software tool that you need may cause problems of instability or security in their applications.

Please read this article, watch a 4-minute podcast video or listen to the audio of part 1 of episode 92 of the Lately in PHP podcast on why it is essential to carefully choose the right time to upgrade to a newer version of PHP or those software tools.

View Details

How to Implement a PHP Google Translate Service in Your PHP WebSite Using the Google Translate API from JavaScript By Manuel Lemos Google Translate is a popular service that allows anyone to translate text between two languages.

The original Google Translate service is made available on a Google site.

It is also possible to use the Google Translate service on another site by calling the Google Translate API.

This package provides an alternative to making Google Translate available on another site that uses JavaScript to call the Google Translate service using the Google JavaScript libraries to call the service.

View Details

How Can PHP Encrypt Text in a Way that the Result Is Still Readable by Using Transposition of Characters By Manuel Lemos Some applications need to encrypt text strings with the secret key so that the resulting encrypted value still uses readable characters.

Shifting the position of the characters in an unpredictable way is an approach to encrypting the text that guarantees that the resulting text string will still be readable.

This package implements a transposition cipher algorithm that can encrypt text using only the original string characters in a different position. Therefore it preserves the readability of the encrypted string characters.

View Details

How to Create Your Own PHP Job Openings Site to Publish Job Offers in Any Business Area By Manuel Lemos Many professionals work as freelancers for other companies to do the work they need.

Usually, freelancers don't know what jobs exist, nor do companies know how to find professionals that match their job requirements.

This package provides an API that implements a system to connect companies with jobs with professionals looking for work.

Since it is a generic job system API, you can adapt it to any activity area.

View Details

How to Configure a PHP PDO Connection using Class Variables to Setup Database Parameters By Manuel Lemos PDO is a popular PHP extension that provides several interfaces for classes that can access many types of SQL databases.

Usually, the developer defines a connection to a specific database type using a connection string with a particular syntax.

Many developers prefer to set connection parameters using specific values passing individual parameters because it is more clear to configure each parameter.

This class provides a means to connect to a database using PDO by specifying the connection parameter values using class variables of a sub-class of this class.

View Details

How Can PHP Authenticate a User and Identify a Logged without Using PHP Sessions By Manuel Lemos Authentication of users is a common need of many PHP applications.

After the user authenticates, applications need to have a way that the user is the same person verified using a method implemented by the application.

This package supports several methods to authenticate users. This way, it provides greater flexibility to applications that use this package.

This flexibility allows developers to change the authentication method easily in the future if the application can benefit from changing the authentication method.

View Details

How to Deploy a Laravel App with Docker and Kubernetes to Achieve Greater Scalability in an Automated Way By Manuel Lemos Docker is a tool used in projects that need to deploy applications that may need to use multiple servers to run in a scalable way. Docker can deploy applications as containers.

Kubernetes is a system that can orchestrate the deployment of applications using multiple containers.

This package demonstrates how you can deploy a Laravel project combining the possibilities made available by Docker and Kubernetes.

View Details

10 Pieces of PHP Developer Advice in 2022: Advice #10: How to Have a Better PHP Developer Career Learning While You Give Advice to Other Developers - 4 minutes - Lately in PHP Podcast Episode 90 Part 10 By Manuel Lemos One of the best ways to learn in practice is to help others solve their problems.

This learning method works well because when you try to solve other people's problems, you also learn more about possible solutions.

Read this article, watch a 4-minute podcast video or listen to the audio of part 10 of episode 90 of the Lately in PHP podcast on how to advise yourself and other PHP developers to evolve in your PHP developer career.

View Details

How to Develop a Laravel Package Faster Starting from a Good Skeleton By Manuel Lemos Laravel is a well-known PHP framework with a large ecosystem of PHP developers writing components to extend its core capabilities.

This package can help developers create a new Laravel package with less effort by providing a base skeleton to allow them to get started quickly.

View Details

How to Implement a Laravel Backup Manager that Can Store Laravel Application Backup Data in Different Cloud Systems By Manuel Lemos Laravel is a well-known PHP framework that has become very popular among PHP developers worldwide.

Having a backup of the data used by an application is essential to have an alternative plan when something goes wrong in the application's environment.

This package provides a backup solution for Laravel applications that is very flexible.

It allows developers to control several valuable options, like the remote service that it will use to store the backup data and the possibility to list the backup copies that it has taken previously.

View Details

10 Pieces of PHP Developer Advice in 2022: Advice #7: How Can You Make Money Selling Better Versions of Your Open Source Software - 6 minutes - Lately in PHP Podcast Episode 90 Part 7 By Manuel Lemos Becoming a successful owner of a software company is the advice given in this podcast episode.

Many developers are employees or contractors who work for companies of other people that are business owners.

An employee works for one customer that is his employer's company.

A contractor may work for several customer companies.

A business owner may have much more customers. Therefore, the business owner can make much more money than an employee or a contractor.

Read this article, watch a 6-minute podcast video, or listen to part 7 of episode 90 of the Lately in PHP podcast to learn how to make more money by becoming an Open Source software business owner.

View Details

How to Learn the Test Driven Development Approach from a Real PHP TDD Example By Manuel Lemos Test-Driven Design (TDD) is an approach to building software applications that create test code that will test the application code immediately after the developers write the application code.

This approach makes it easier to create applications that developers can verify if they comply with a given specification.

This package implements a sample application that demonstrates how to create a PHP application using the TDD approach.

View Details

How to Implement a PHP Tree View Database Solution to Display Tree Structures Stored in MySQL using Google Charts API By Manuel Lemos Hierarchies represent relations between people or other types of related entities. The hierarchy structure determines which entities are in command of other entities.

Hierarchies can be stored in databases using table records that express what entities are below or above in the hierarchy tree.

This class can retrieve a hierarchy tree structure from a MySQL database table to easily visualize the Google Charts API.

View Details

Digital Document Management with Eversign SAAS By Dave Smith The days of signed documents being illegible from multiple faxing, high cost of overnight deliveries, are over. From the individual to the large business, digital document management brings tech to the out dated practices currently in use.

Read this article to learn how you can implement digital signature support in your Web applications using everSign PHP Document Signing package to access to the features of the everSign API.

View Details

How Can PHP Compress HTML Pages to Serve at the Maximum Speed Combining Content with Response Compression By Manuel Lemos The HTTP protocol allows compressing the responses to HTTP requests using several algorithms like gzip.

This possibility can make the Web servers respond faster to HTTP requests by reducing the amount transferred to the Web browser, especially when the response is in text formats like HTML, JSON, or plain text.

This package takes advantage of this possibility to reduce the size of HTTP responses generated by PHP scripts.

The package can compress the response data even more when the output format is HTML because it also compresses HTML by eliminating unnecessary parts, like comments, spaces, and line breaks.

View Details

How to Implement PHP Robot Check System that Logs Web Site Accesses For Posterior Analysis By Manuel Lemos Many sites get excessive HTTP requests from robot scripts like search engine crawlers such as Google.

The analysis of the robot access activity may be helpful to determine if in the future a site may consider those accesses as valid or ignore them to avoid a needless load of the Web server machine.

This class provides several alternatives to log the details of robot accesses like log files, email, and database table records.

Applications developers may pick different log storage container types depending on what can be better for future analysis.

View Details

10 Pieces of PHP Developer Advice in 2022: Advice #6: How Can a Developer Have a Balanced Personal Life with Great Quality - 7 minutes - Lately in PHP Podcast Episode 90 Part 6 By Manuel Lemos Every need developer needs to have a good quality of life to have productive when he does his work.

To have an excellent quality of life, you need to have five kinds of love in your life. Finding these kinds of love is the advice given in part 6 of the Lately in PHP podcast episode 90.

Read this article, watch a 7-minute podcast video, or listen to this podcast episode to learn more about having an excellent quality of life.

View Details

How to Use a PHP GraphQL Client Library to Extract Parameters Passed to API Calls By Manuel Lemos GraphQL is a specification for a way to process requests to an API.

It allows developers to create APIs by defining how to extract parameter values from the request using a GraphQL specification file.

This package demonstrates how to use a GraphQL specification to implement an API using the Laravel Framework quickly.

View Details

How to Create a PHP Quiz Online Reading Questions and Answers from INI Configuration Files By Manuel Lemos Quizzes can be a great way to provide entertainment to users of a site. Quizzes can also be a way to teach users about topics of their interest, showing the correct answers to specific questions.

This package can manage quizzes presented on the Web site with questions and answers read from INI configuration files.

This possibility allows site owners to quickly create quizzes by changing configuration files, thus without having to change the site code or using databases.

View Details

How to Implement a PHP Facebook ChatBot that Can Message Many Chat Users at Once By Manuel Lemos Chatbots can be helpful to automate the interactions between users of a site and the site managers that provide support to those users.

This package provides a chatbot agent class that can automate the interactions with many Facebook chatbot users at once, including delivering broadcast messages that can reach all chatbot users.

View Details

How Create a Complex API using a PHP REST API Library the Reduces the Need to Write So Much API Implementation Code By Manuel Lemos Many Web applications provide APIs to expose their functionalities to external applications.

Usually, those applications provide a REST API to manipulate information records stored in databases accessed using model classes.

This package makes it simpler to create complex REST API by reducing the effort to write code to set up and configure REST APIs that provide access to many model classes in the same API provided by applications written with the Laravel framework.

View Details

How to Implement a PHP Transformer Pattern Solution to Configure What Data a Page Displays Based on the HTTP Request Parameters By Manuel Lemos This class can transform data presented by Laravel applications.

It provides classes that transform data retrieved from data sources using the current HTTP request parameter values that configure the data transformation details.

The package provides an abstract transformation class that applications can use to create their own rules to transform the source data more conveniently to the application data presentation purposes.

View Details

How to Implement Financial Applications using a PHP Wallet API By Manuel Lemos Wallets are containers that securely store money amounts. Applications can perform different types of operations with money held in wallets.

This package implements an API that can perform several operations with wallet money amounts.

Using this API, developers can implement financial applications that do not need to maintain the wallet management services.

View Details

10 Pieces of PHP Developer Advice in 2022: Advice #4: Share Nice Tutorial Articles that Other Developers Want to See to Learn from You - 4 minutes - Lately in PHP Podcast Episode 90 Part 4 By Manuel Lemos Every developer needs to learn how to solve programming problems to become a better developer.

If you are good at solving a programming problem, you will be more appreciated if you share what you learned to solve that problem.

Teaching in a way that is efficient to pass your programming knowledge is a problem that you need to solve.

Many developers try to teach what they know using tutorial articles. Unfortunately, not every developer knows how to create good tutorial articles that help other developers solve the programming problems they know how to solve.

Fortunately, there is an excellent method to teach how to solve any problem. The explanation of that method is the advice given in part 4 of the Lately in PHP podcast episode 90.

Read this article, watch a 4-minute podcast video, or listen to this podcast episode to learn more about this teaching method using tutorial articles.

View Details

How to Implement a PHP Visual Editor Online for Content to Be Published on a Site By Manuel Lemos Content management systems are a popular type of application developed using PHP.

This package implements a content management system that provides visual editors to manage the content that will be published.

This way, it makes content editing and publishing more user-friendly.

View Details

How to Use a PHP Model Class to Access Model Stored in Remote Services By Manuel Lemos Some applications need to model classes that manipulate information stored in remote machines.

This package can create model classes that delegate the model implementation to services that can access local or remote services.

This way, this package makes it easier to implement a distributed architecture using multiple computers to implement applications that can scale and allow many requests from many users.

View Details

How Can the PHP OAuth Client Class Support New OAuth Servers By Manuel Lemos OAuth is a flexible protocol that allows accessing APIs on behalf of users of a given service.

Despite OAuth is a standard, accessing a new OAuth server requires to create custom code to access the respective API or configure a generic OAuth client like this PHP OAuth client class to adapt its behaviour to access OAuth server using specific configuration values.

Read this article to learn how to support a new OAuth server just by adding a few lines to the JSON configuration file that this PHP OAuth client users.

View Details

How to Implement a PHP Grammar Checker to Validate a String that Follow Certain Grammar Rules By Manuel Lemos Some applications need to parse a text that follows specific grammar rules.

This package allows developers to dynamically create their own grammar rules using classes that implement simple grammar rules.

Then the package can validate a string to check if it complies with the grammar rules defined dynamically.

View Details

How to Execute Multiple PHP Actions in the Same HTTP Request with Layer Classes By Manuel Lemos Some applications have Web pages that need to perform multiple types of actions with the exact scripts that handle the requests to access those Web pages.

This package can register multiple handler classes that are loaded to perform various actions during the execution of the PHP script that handles the current HTTP request.

View Details

How to Quickly Implement Common Calculation Algorithms in Your Applications Using Laravel Services By Manuel Lemos Laravel services allow developers to implement certain services to be easy to reuse in different applications.

This package implements several types of calculation algorithms as Laravel services.

Multiple Laravel applications can reuse these Laravel services without researching and developing the code to implement these calculation algorithms.