A Brief Introduction to Laravel Envoy

Laravel Envoy provides you a simple and elegant way to run common tasks on your remote servers. If you have ever used Fabric, Capistrano or other tools for managing remote tasks, you already have an idea how Envoy tasks will look like.

Laravel Envoy Installation

To install Laravel Envoy simply run:

after that, make sure ~/.composer/vendor/bin/envoy  is flagged as executable:

Continue reading A Brief Introduction to Laravel Envoy

Pro tip: Display all validation errors in Blade View

Every Blade View have $errors variable bounded to it unless you set different one by yourself. If you use controller based error handling, you will probably have something like this inside it:

We passed validation errors to the profile view using withErrors() method and inside that view you can display them:

 

Pro tip: How to repair an Ubuntu system with a Live CD

Few days I ago, I had a funny situation. Colleague of mine accidentally executed:

so instead for current directory  ./*  he changed owner for entire root file system. Sure, he tried to change back owner to the root:root , but root did not have any permissions anymore, since  /bin  is owned by another user.

Fortunately, this kind of  mess on Linux systems we can fix very quickly using Live CD. So reboot your system and run Live CD. Continue reading Pro tip: How to repair an Ubuntu system with a Live CD

Laravel: Model Observers

In the last tutorial I showed you how you can speed up a web application by caching database queries that are executed very often. However, there is a problem. Application will cache the resulted dataset, and in the future this dataset will be served. You need to tell your application to flush the cache every time when certain Model is updated. That way every time you edit, delete or add new Model item, old cache will be flushed, and query will be executed again. Afterwards, resulting new dataset will be cached and served until Model is updated once again. Continue reading Laravel: Model Observers

Laravel: Caching Database Queries

If your application runs a large number of queries very often, with time it will become very, very sluggish. Here Laravel caching comes handy. Laravel provides a simple mechanism for caching these queries using a very simple chained method call. Here is an example using Laravel’s Fluent Query Builder:

Of course, we can do the same thing using Eloquent:

Behind the scene Laravel executes the query and then stores it along with the query result using the cache adapter, with an expiration time of 60 minutes. Running the same query again will result that cached query will be found, which means it will not be executed again, instead the results will be taken from the cache. Continue reading Laravel: Caching Database Queries