Laravel 5 Cron Jobs on shared hosting

Introduction

The Laravel documentation covers all the information you need to configure Cron Jobs on your hosting machine. Some years ago we were required to define an entry on the server for each task we needed to schedule. Now with Laravel we can simply define a single entry that interacts with the Schedule object, which will take care to run the tasks that are due.

The only Cron entry needed on the server, is the following

* * * * * php /path/to/artisan schedule:run >> /dev/null 2 …
Read More
Five Programming Problems

Introduction

Recently I stumbled upon this blog post on ShiftedUp. The writer briefly explains that he encountered many cases of job applications for Software Engineer positions, made by people who actually have no idea of what programming means.

Then he proposes 5 coding problems to solve in less than one hour, using whatever programming language you are comfortable with. So I decided to take the challenge! The language used is JavaScript, but the examples can be written easily in any other …

Read More
Insert a record in database for each result from a SQL query

Just a little trick

Nothing too much elaborate! This is a little useful trick to insert a record in a table for each result from a SQL query. It comes in handy for example when you have to manually populate intermediate table, in case of a many-to-many relationship.

Let’s take a basic example. Suppose that you have a list of products in your database and these products are related to a number of online stores.

SELECT * FROM product

---------------
| ID | Name   |
---------------
|  1 …
Read More
Log Route calls in Laravel using Middleware

Introduction

Sometimes when developing a new site or application in Laravel you need to log exactly the route calls in order to track bugs and errors. This operation is straightforward.

First, let’s create a new Middleware

php artisan make:middleware LogRouteMiddleware

Then edit the handle function like the following:

<?php

public function handle($request, Closure $next)
{
    Log::info($request->fullUrl());

    return $next($request);
}

The fullUrl method logs the full …

Read More
Work on a Laravel Live Site while in Maintenance Mode

Introduction

Since Laravel 4 there’s a handy feature that allows you to put your site in maintenance mode, providing a good way to hide your changes from external eyes. This feature is really helpful on your testing or production server since it doesn’t allow users to browse the site, so you can make you modifications pretty much unnoticed.

The artisan commands are the following:

php artisan down

to put the site into maintenance mode, and

php artisan up

to disable the …

Read More
Keep URL and query parameters using manual pagination in Laravel

Introduction

The Laravel documentation is great most of the time, but when you are stuck on a particular problem you have to figure by yourself what is the solution. Recently I had to create manually a paginator instance using the LengthAwarePaginator class. The first attempt was nearly a success, here a snippet of my controller:

<?php

$page = $request->has('page') ? $request->get('page') : 1;

$data = $this->userRepository->paginate($request->all(), …
Read More