Installing AlmaLinux 10 in WSL2: PHP, MariaDB, Composer, PhpMyadmin

With the recent release of AlmaLinux OS 10, we have created a new recipe for our WSL development environment. Compared to its predecessor, AlmaLinux 10 provides performance enhancements, security updates and improved hardware support. What You Get Like for AlmaLinux … Read More

Replacing laminas-mail with Symfony mailer in dot-mail

What prompted the change According to the discussion from the LaminasTechnical steering Committee of 2023-12-04, it was decided that the laminas/laminas-mail package would be abandoned. On the one hand, there is nobody to maintain the package and on the other, … Read More

Doctrine enum implementation in Dotkernel

The update of doctrine/orm to version 3.2.0 saw the introduction of EnumType columns. The enum type was introduced in PHP 8.1. This new data type is now implemented in Dotkernel, on both the PHP side and the database side. Below … Read More

Implementation of SEO friendly URL in an generic Laminas Mezzio app

Prerequisites: In the vast digital landscape of the internet, where websites compete for attention, having a well-crafted URL can make a significant difference. By incorporating human-readable slugs into website URLs, we can enhance user experience, improve search engine optimization (SEO), … Read More

What is cross origin token redemption?

What is cross origin token redemption? Cross-origin token redemption is a technique used to ensure the security and authenticity of a token that is issued by one website or domain, but intended for use on a different website or domain. … Read More

AlmaLinux 9 in WSL2 : install PHP, Apache, MariaDB, Composer, PhpMyadmin

In this article we will demonstrate how we install AlmaLinux 9 using Windows Subsystem for Linux (WSL2). First, you need to check if your machine is ready for using WSL2. Open Windows Terminal and execute the following command: The output … Read More

Database seeding: Doctrine data fixtures vs Phinx

Database seeding: Doctrine data fixtures vs Phinx Seeding the database means populating the database with initial values, it’s commonly used for seeding the user roles and user accounts. Seeding the database the right way is no easy feat, and we … Read More

Generating a doctrine migration without dropping custom tables

Generating a doctrine migration without dropping custom tables If your application needs to hold some custom (unmapped) tables in the database, then generating migrations with doctrine-migrations diff will try to drop the custom tables. This article provides a solution on … Read MoreRead More

Creating admin accounts in DotKernel API

Creating admin accounts in DotKernel API Starting from v3, DotKernel API introduces support for admin accounts. In this article we will describe two different methods of creating an admin account. … Read More

List available endpoints in DotKernel API using dot-cli

Displaying DotKernel API endpoints using dot-cli Starting from version 3, DotKernel API uses dot-cli to display a list of available endpoints. Usage Run the following command in your application’s root directory: The command runs through all routes and extracts endpoint … Read More