Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

DotDev.co:
Test Driven API Development using Laravel, Dingo and JWT with Documentation
Jun 20, 2016 @ 10:15:04

On the DotDev.co site a tutorial has been posted showing the full set up of an API using Laravel, Dingo and JWT tokens while following test-driven development principles along the way.

As the complexity of API’s increase, improving the ways we create them becomes a necessity. Let’s take a journey exploring an efficient way of building well-tested API’s that are easy to develop and maintain by wiring up several different open-source packages.

In this tutorial, we will build a very simple API for fruits that lists all the fruits, shows one fruit, creates a fruit, and finally deletes a fruit. The API will allow anyone to list and show fruits but we will use JWT Authentication to protect creating and deleting operations so only the registered users can use them.

The tutorial starts by helping you get the TDD environment set up for the application and the required libraries installed. From there they install and configure Dingo and look at the role that transformers play in the API output. With a basic API in place the JWT tokens are integrated and another package is used to generate simple, clean API documentation. Full links to other packages, screenshots of the expected output and all the code you'll need is included.

tagged: testdriven development tdd laravel api dingo jwt token tutorial

Link: https://dotdev.co/test-driven-api-development-using-laravel-dingo-and-jwt-with-documentation-ae4014260148#.tccatytip

Matt Stauffer:
Introducing Laravel Echo: An In-Depth Walk-Through
Jun 17, 2016 @ 12:11:02

Matt Stauffer has a new post to his site where he's put together an in-depth look at Laravel Echo, a feature included in newer versions of the framework that makes it easy to integrate websockets into your Laravel-based application.

A few weeks ago, Taylor Otwell introduced another branded product within the Laravel line: Laravel Echo. So far, the only coverage it's gotten has been his Laracasts video intro, but I recently wrote it up for my book and wanted to share that with you. What follows is an excerpt from Laravel: Up and Running, heavily modified to make sense in a blog format.

He then gets into what Echo is and the different pieces that make it up: updates to the Laravel broadcast system and a new Javascript package. He suggests some places where using Echo makes sense and how to set up a simple broadcast event in your application (non-Echo to start). This makes use of the Pusher service for real-time event broadcasting. With that in place, he helps you install the Echo dependencies and integrating messages from both public and private channels. He also includes a bit of code at the end to exclude the message from broadcasting to the current user if you ever find a need for it.

tagged: laravel echo indepth tutorial setup configure pusher javascript

Link: https://mattstauffer.co/blog/introducing-laravel-echo

Freek Van der Herten:
Debugging collections
Jun 17, 2016 @ 09:47:42

Freek Van der Herten has a post to his site with a guide about debugging collections in Laravel applications. He quickly shows how to use the "macro" functionality to gather more insight into what's happening inside.

Lately I’ve been working a lot with collections in Laravel. If you’re not in the know: a collection is a sort of super charged array with a lot of powerful functions to transform the data inside it. The only thing I found a bit of a hassle is how to debug the various steps in a collection chain. Here’s how I improved the workflow.

He shows a simple collection setup with a chain of functions being applied to transform the data inside (ex: filter, map, sortBy). He was able to get a bit more information by using the dd helper Laravel provides but it's not the most "clean" way to just wrap the collection on it. Instead he proposes he use of a "macro" to call the dd function and keep it in the flow of the methods called on the collection (as ->dd()).

tagged: debug collection laravel dd helper function macro

Link: https://murze.be/2016/06/debugging-collections/

Scotch.io:
Understanding Laravel Middleware
Jun 16, 2016 @ 13:20:48

The Scotch.io site has posted a tutorial that aims to help you understand middleware in Laravel applications - how they work and how to create ones based on your custom needs.

HTTP Middlewares provide a convenient mechanism for filtering HTTP requests entering your application. Laravel, for example, has a middleware for verifying a user's authentication.

These are some cases where I have had to resort to using middleware. There are many more cases where you would like to use a middleware. [...] By the end of this article, you should be able to create a middleware, registers it and use it in your projects. We will be illustrating the creation till usage of middlewares by creating one of our own. Our middleware will enable maintenance either site-wide or on some routes.

They start by creating a middleware (theirs is DownForMaintenance) and how to register it with Laravel as a valid middleware option. By default they will execute with every request but you can narrow them down to only happening on certain routes (examples included). There's also mentions of middleware parameters, grouping middleware and deferring the response return until after other code is executed.

tagged: laravel middleware introduction tutorial create execute configure

Link: https://scotch.io/tutorials/understanding-laravel-middleware

Laravel News:
Laravel and Elasticsearch
Jun 16, 2016 @ 09:08:22

The Laravel News site has posted a quick guide for those wanting to use ElasticSearch along with their Laravel applications. The post lists several libraries and resources that can help you get started quickly.

Elasticsearch allows you to search & analyze data in real time. Even though it’s extremely powerful working with delta’s and querying data is not that simple.

If you are using Laravel here is a list of packages and tutorials to help you easily integrate this into your app.

The packages include Plastic and Spatie Searchindex while the tutorials cover things like installing ElasticSearch on Homestead and integrating it with your application.

tagged: laravel elasticsearch integration tutorial library package links

Link: https://laravel-news.com/2016/06/laravel-and-elasticsearch/

SitePoint PHP Blog:
Laravel Doctrine – Best of Both Worlds?
Jun 14, 2016 @ 11:56:59

On the SitePoint PHP blog there's a tutorial posted from Francesco Malaesta about the Laravel Doctrine project, wondering if it's the best of both worlds for connecting to databases and working with entities in your Laravel-based project.

Laravel Doctrine is a drop-in implementation of the famous ORM for the Laravel 5.X Framework, and a really interesting alternative to the default choice, Eloquent. In this article, we will learn how to use it, and when.

He starts with a comparison of the two options - Doctrine vs Eloquent - and why you might choose the former over the latter. He then gets into the installation of a new Laravel project and pulling in the laravel-doctrine/orm package. He then shows it in action with a simple to-do list application, creating an entity for the tasks. From there he shows the use of the EntityManager to add a new task and find ones matching certain criteria. He makes a TaskController to handle the route functionality and creates the matching frontend views to allow the user to define new tasks. Also included is the code for the other "CRUD" (create, read, update, delete) handling for the tasks and the addition of the relationship between users and tasks.

tagged: laravel doctrine tutorial eloquent todo list

Link: https://www.sitepoint.com/laravel-doctrine-best-of-both-worlds/

Laravel News:
Laravel Turns Five
Jun 13, 2016 @ 11:55:54

On the Laravel News site there's a post announcing the official fifth birthday of Laravel, a framework that has definitely made its mark on the community in that short amount of time.

Five years ago today Taylor announced the first release of Laravel to the world. [...] Even though a lot has changed and improved since that first release the code still has that same feel. Like all newborns that first release was very minimal–no controllers, no Eloquent, no templating system. It had enough to get you started but lacked the niceties we now enjoy.

The post also lists some of the things that didn't start out in the framework but have been added since including: Blade, Collections, Eloquent, Queues and Middleware support.

Happy birthday Laravel and a big thank you to Taylor and the entire community.
tagged: laravel framework fifth birthday celebrate features announcement

Link: https://laravel-news.com/2016/06/laravel-turns-five/

Freek Van der Herten:
Building a dashboard using Laravel and Vue
Jun 09, 2016 @ 18:55:17

Freek Van der Herten has a post to his site showing you how to combine Vue.js and Laravel to make a dashboard, a simple way to display statistics and information in a "quick glance" format.

At Spatie we have tv screen against the wall that displays a dashboard. This dashboard displays the tasks that our team should be working on, important events in the near future, which music is playing at our office, and so on. We’ve opensourced our dashboard, so you can view the entire source code on GitHub. It is built with Laravel and Vue. In this post I’d like to explain why and how we made it.

He starts with a bit of history around their need for the dashboard and how previous versions (using Dashing) turned out. He gives a high level overview of what he was trying to accomplish and why he chose Vue.js. He then gets into the construction of the pieces of the dashboard:

  • the grid
  • the internet connection (server and client side)
  • the package statistics component

He also talks about the security they added to the system (protecting the dashboard from outside eyes) and how they displayed it on a TV using a Raspberry Pi.

tagged: dashboard vuejs tutorial laravel frontend backend

Link: https://murze.be/2016/06/building-dashboard-using-laravel-vue/

Matt Stauffer:
Things I didn't know Laravel could do
Jun 03, 2016 @ 10:47:51

Matt Stauffer has a post to his site sharing a few things he didn't know Laravel could do as discovered during his work on his book Laravel Up & Running.

It turns out that there's a long road between "I have a book contract" and "I know everything there is to know in order to write this book."

It doesn't matter how much of an expert you feel like. It doesn't matter how much time you've spent learning and teaching. Across the board, every tech author I've talked to has described just how much they learned—had to learn—when they wrote a book.

I learned a lot in writing Laravel: Up and Running. And I want to share it with you.

He includes a list of four of the interesting things he learned during his writing:

  • The Cookie Facade is one special cookie
  • Attaching files to emails is easier than you think
  • You can chain more Scheduler methods than the docs show
  • You can assert that a view gets passed certain data

Each item also comes with a brief code example showing it in action. If you'd like more information about the book and a free sample, be sure to sign up using the form in the post or you can just pre-order the book and get the whole thing as soon as it's released.

tagged: oreilly book laravel interesting feature top4 free sample

Link: https://mattstauffer.co/blog/things-i-didnt-know-laravel-could-do

Laravel News:
A look at what’s coming to Laravel 5.3
Jun 02, 2016 @ 11:48:55

On the Laravel News site there's a post detailing out some of the new things coming to Laravel 5.3 currently still in development but should be released in the near future.

Laravel 5.3 is currently in development and with all new Laravel releases, new features are being teased out as they are added. Here is a quick look at some of these new features.

The list of these new features includes:

  • Eloquent Collections are cleanly serialized and re-pulled by queued jobs
  • Queue console output changed to show the actual class names
  • First Or Create [now takes additional values]
  • Multiple Migration Paths

There's also a mention of the Laravel Echo functionality that makes in-app broadcasting simpler. For some of the topics there's links to other posts with more information too.

tagged: laravel v53 development features list

Link: https://laravel-news.com/2016/06/look-whats-coming-laravel-5-3/