Hi! I'm Mohamed Said. I work at @laravelphp on weekdays and practise freediving on weekends. Find me as themsaid @twitter and @github.

Using Laravel Mailables and Notifications as Event Listeners

On how to use Laravel Mailables and Notifications as Event listeners, which eliminates the need to create an extra listener class that only sends the notification/mailable.

Conditionally pushing event listeners to queue

On how to push a queued listener to queue based on a specific condition, this might be a smart way to avoid exhausting your workers on unnecessary jobs.

Validation considerations in Laravel 5.4

In this post I share a common issue with validating optional form field in Laravel 5.4

Conditional Validation Rules

In this post I'd like to highlight a trick related to conditionally adding validation rules, this trick is specially important since I've seen many people on Laravel's GitHub repository opening issues complaining about an un-expected validator behaviour...

New in Laravel 5.4 - Localization using JSON files

Laravel 5.4 introduces a new method of localization, it works by reading from JSON files instead of PHP files.

Controller Construct Session Changes in Laravel 5.3

Back in laravel 5.2, a developer was able to interact with the session directly in a controller constructor. However, this has changed in laravel 5.3.

Learn about Grant Types in Laravel Passport

Laravel Passport is a full OAuth2 server implementation; it was built to make it easy to apply authentication over an API for laravel-based web applications.

Laravel 5.3 Notifications – Easily send quick updates

Laravel Notifications is an all new feature coming to Laravel 5.3 that allows you to make quick notification updates through services like Slack, SMS, Email, and more. Let’s see how easy it is to build and send a notification using this new feature.

Taylor Otwell's Introduction in laracon 2016

Taylor Otwell's gave me a shout out during his talk in laracon 2016

Laravel/MySQL JSON documents faster lookup using generated columns

laravel is shipped with a built-in support for JSON database fields, in this post we'll discover how to achieve faster lookup

A look into acceptance Testing a Laravel and Vue.js Application

In this post I'm sharing my experience with testing a Laravel-Vue based application, in my short journey I've tried NightwatchJs, PHPUnit Selenium Extension, WebDriver, and Codeception.

The magic behind Laravel Valet

Laravel Valet was launched yesterday, I started testing projects I run locally on it and it just works! This post is me trying to understand how Valet is built & what makes it work.

Conditionally adding instructions to laravel's query builder

While using the query builder, sometimes you need to add more instructions based on specific conditions, in this post I'm going to share with you how to accomplish this without breaking method chaining.

Better readability using Enumerators

This post is about using an Enumerated-type-like in your PHP code for better readability.

Building and testing Artisan Commands

In this post we're going to discuss building and testing console commands that involve interaction from the user side.

Building an API for 3rd party applications

APIs are cool, & laravel can handle all the coolness you may desire. Here we talk about building an API for third party applications and allowing them to communicate with your application on behalf of users.

Coming up in laravel 5.3

laravel 5.3 is scheduled to be released in June 2016 based on a proposed release schedule, this post is a list of all the things you can expect in this release.

MySQL JSON data type decoded

In this post we are going to explore the new MySQL 5.7 JSON Data Type. While diving into the topic we are going to use Laravel\'s fluent query builder.

What's new in laravel 5.2.23

By the time of writing this post, laravel has 911 contributors on GitHub, some of them are actively adding awesome stuff to the framework on a daily basis. This is a wrap up for the new stuff in laravel 5.2.23.

My thoughts on 2015 and dreams for 2016

lessons learnt from 2015 and my goals and plans for 2016.

Faster git commits using bash functions

A shortcut for git add --all, commit -m, and push