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:
class TestJob implements ShouldQueue
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
* Create a new job instance.
* @return void
public function __construct()
* Execute the job.
* @return void
public function handle()
So, what actually are
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)”
You likely encounter those problem when developing Laravel Application using Windows Machine.
- Frequent Apache Crash (Connection reset)
- “Access denied for user ‘homestead’@’localhost’ (using password: YES)”, even
.env is set to different credential
.env setting drifting between two separate Laravel installations (e.g. http://127.0.0.1:8080 .env setting applied to http://127.0.0.1:8081)
Continue reading “[Windows] Laravel behaving strange on Windows Server”
Most shared host use
public_html instead of
While sometimes considered bad practice, some client may force you to drop-in everything via FTP
There are several ways to change public folder name found on Google.
But most of them won’t work perfectly.
- In AppServiceProvider.php, bind ‘path.public’ to IoC container
Won’t work in console, vendor:publish still publish in public path
- In index.php, bind ‘path.public’ to IoC container
Works in console, but
artisan serve still won’t work
After dig down deep in the source code, I found the cause:
publicPath() method in
Illuminate\Foundation\Application is hardcoded.
public function publicPath()
But we should never hard the core, so let’s override this method on our own class.
Continue reading “Change public path in Laravel 5.*”