[WSL] PHP Development Environment by “Windows Subsystem for Linux” (Part 1)

This article requires Windows 10 (Build Version 1709 [The Fall Creators Update]) or above to work.

Although WSL exists since Version 1607 [Anniversary Update], it’s harder to setup and more buggy.

In this tutorial we will setup this development environment in WSL (In Part 1)
Apache 2.4
MySQL 5.7
PHP 7.2 (Run as FPM)
phpMyAdmin
Composer

With those tools under Windows 10 (In Part 2)
PHPStorm
Bash and Linux CLI tools
PHP Deployer

Continue reading “[WSL] PHP Development Environment by “Windows Subsystem for Linux” (Part 1)”

Laravel Job: Common problem – Queue stuck, not responding to “artisan queue:restart”

Laravel queue is quite easy to setup and use.

But how it actually work is seem like a mystery and undocumented

There are some pitfall that beginner usually fall into, the common one is stucking

Continue reading “Laravel Job: Common problem – Queue stuck, not responding to “artisan queue:restart””

Laravel Queue: Job Class demystified (ShouldQueue, Dispatchable, InteractsWithQueue, Queueable, SerializesModels)

Laravel is awesome, but personally I don’t appreciate their documentation as it seems always “beginner orientated”.

They trend make simple things automagically happen, without let you knowing how it works.

They you get into trouble when you need advanced functionality.

Say, you get this boilerplate when typing php artisan make:job TestJob:

So, what actually are ShouldQueue, Dispatchable, InteractsWithQueue, Queueable, SerializesModels?
Documentation won’t tell you, even if you read the API Reference, you have little idea what they means.

Continue reading “Laravel Queue: Job Class demystified (ShouldQueue, Dispatchable, InteractsWithQueue, Queueable, SerializesModels)”