Sevalla is the all-in-one PaaS for your web projects. Host and deploy your applications, databases, object storage, and static sites. Enjoy advanced deployment pipelines, a complete database studio, instant preview apps, and one-click templates. The pricing is simple: no hidden fees, no seat-based pricing, and you pay only for what you use. Get real human support from developers.

Get started now with a $50 credit at Sevalla.com.

The future of PHP

Link –

Anthony Ferrara gave a excellent "state of php"-talk at php[world].

PHP is experiencing a renaissance; old methodologies are everywhere under assault from advances in tooling and design. From Composer to HackLang, "the PHP way" of solving problems is dramatically evolving. Walls between projects are falling; interoperability and collaboration are happening on levels never thought possible. What do these accelerating changes mean for the future of the language? What might PHP8 look like? How will our communities continue to collaborate and evolve? And most pressing: what steps can we take to ensure PHP's continuing vibrancy in the face of future technical challenges?
https://www.youtube.com/watch?v=MWTe-iswnqc

Read more

Zero downtime deployments with Envoy

Original – by Freek Van der Herten – 4 minute read

Envoy is Laravel's official task runner. Using a Blade style syntax tasks can be defined that can be run both locally and remotely. At Spatie, we've been using Envoy for quite some time to deploy code on production servers. Summarized our trusty Envoy script did the following things: bringing the…

Read more

Stay up to date with all things Laravel, PHP, and JavaScript.

You can follow me on these platforms:

On all these platforms, regularly share programming tips, and what I myself have learned in ongoing projects.

Every month I send out a newsletter containing lots of interesting stuff for the modern PHP developer.

Expect quick tips & tricks, interesting tutorials, opinions and packages. Because I work with Laravel every day there is an emphasis on that framework.

Rest assured that I will only use your email address to send you the newsletter and will not use it for any other purposes.

PHP vs Ruby, let's all just get along

Link –

Phil Sturgeon, who has contributed to numerous valuable PHP related projects, is doing Ruby nowadays. In an article he wrote for Sitepoint compares Ruby with PHP.

... I thought it would be interesting to have a slightly more fair comparison, from the perspective of someone who really enjoys writing both PHP and Ruby, and has done so for years. The aim here is not to find out which is “better”, but to point out a few key things I like about Ruby and its ecosystem.
http://www.sitepoint.com/php-vs-ruby-lets-all-just-get-along/

Read more

Validate (almost) anything in Laravel

Original – by Freek Van der Herten – 1 minute read

Laravel ships with some good validation capabilities. Form request validation is a nice way to make sure http requests pass valid data. To validate stuff that enters the application in some other way validators can be created manually. Unfortunately this is kinda verbose: $validator =…

Read more

Using threads in PHP

Link –

Another great article by Maxime Fabre:

In this article I'm going to dive into the pthreads extension (short for POSIX Threads). It has been around for a while (since 2012) but I feel like too many people forget it exists or assume it is going to be painful to use – mostly because the official documentation is rather slim about it.
http://blog.madewithlove.be/post/thread-carefully/

Be sure to check out his previous post on Webpack and Blackfire too.

Read more

Continuous learning

Link –

Education. In a fast-changing environment such as the web industry, education is the single most important thing to survive. The things I learned about PHP when I started doing PHP 17 years ago would not even get me a job anymore today. Where traditional jobs mostly require just the standard education with a short course every once in a while, the web industry is vastly different.

...

In this article I’ll go into some strategies and some ways to keep the knowledge of you and your team current.

https://dutchweballiance.nl/techblog/continuous-learning/

Read more

The Anti-Turing Test

Link –

Facebook has recently launched a limited beta of its ground-breaking AI called M. M’s capabilities far exceed those of any competing AI. Where some AIs would be hard-pressed to tell you the weather conditions for more than one location (god forbid you go on a trip), M will tell you the weather forecast for every point on your route at the time you’re expected to get there, and also provide you with convenient gas station suggestions, account for traffic in its estimations, and provide you with options for food and entertainment at your destination. ... As many people have pointed out, there have been press releases stating that M is human-aided. However, the point of this article is not to figure out whether or not there are humans behind it, but to indisputably prove it.
https://medium.com/@arikaleph/facebook-m-the-anti-turing-test-74c5af19987c

Read more

Building a crawler in PHP

Original – by Freek Van der Herten – 4 minute read

When Spatie unleashes a new site on the web we want to make sure that all, both internal and external, links on it work. To facilitate that process we released a tool to check the statuscode of every link on a given website. It can easily be installed via composer: composer global require…

Read more

Learn React.js in just a couple of afternoons

Link –

Wes Bos released a series of videos on React.js.

Together, we will build “Catch of the Day” — a real-time app for a trendy seafood market where price and quantity available are variable and can change at a moments notice. We will build a menu, an order form, and an inventory management area where authorized users can immediately update product details.
Wes has released some really learning resources on, amongst others the terminal, sublime. A while ago he also appeared on Full Stack Radio. I'm pretty sure his new batch of videos will be top notch!

Read more

Why can't we have nice things: a PHP RFC tracker

Link –

Maxime Fabre has created the best RFC tracker out there. I'll probably use his tracker more than then the official pages.

The PHP internals need to be improved, it's not new, I know it, you know it. Between the wiki, the dozens of mailing lists, the Github repository and so on, information is spread out across the web; difficult to access, to comprehend, and to participate in. If you're not familiar with it, it's an unwelcoming world to whomever might want to know more about advances in the PHP language.

This tool aims to simplify this by unifying sources of information under one roof, and answer all the questions people might have about the PHP internals. Who voted on what? Who even are the people voting? What did they also vote on? What comments were made on a particular RFC? And so on.

http://why-cant-we-have-nice-things.mwl.be/

Read more

How to make syntax highlighting more useful

Link –

We think syntax highlighting makes the structure of code easier to understand. But as it stands, we highlight the obvious (like the word function) and leave most of the content in black. Rather than highlighting the differences between currentIndex and the keyword function, we could highlight the difference between currentIndex and randomIndex. Here’s what that might look like:1-TVSPOYO1z8GOVs3tuxNRqA
https://medium.com/@evnbr/coding-in-color-3a6db2743a1e

Read more

How to run your own npm repository server

Original – by Freek Van der Herten – 1 minute read

At Spatie we're constantly improving our application template called Blender. We love using packages to pull in functionality. Creating and using packages has many benefits. Though we try to create public packages that benefit the community, there are some packages that are very specific to Blender.…

Read more

What PostgreSQL has over other open source SQL databases

Link –

You may be asking yourself "Why PostgreSQL?" There are several choices for open source relational databases out there (we looked at MySQL, MariaDB and Firebird for this article), but what does PostgreSQL have that they don't? PostgreSQL's tag line claims that it's: "The world's most advanced open source database." We'll give you a few reasons why PostgreSQL makes this claim.
https://www.compose.io/articles/what-postgresql-has-over-other-open-source-sql-databases/

Read more

On open sourcing Blender

Original – by Freek Van der Herten – 3 minute read

At Spatie we use a homegrown Laravel template called Blender. It's being used on nearly all our projects. When starting with a greenfield project we take a copy of Blender and make project specific changes in that copy. We built it because we want maximum flexibility and don't want to be hampered by…

Read more

Formatting exception messages

Link –

Ross Tuck does not blog often, but when he does you probably are going to learn something useful. In his latest post he shares some techniques regarding exceptions.

Over the last couple years, I’ve started putting my Exception messages inside static methods on custom exception classes. This is hardly a new trick, Doctrine’s been doing it for the better part of a decade. Still, many folks are surprised by it, so this article explains the how and why.
http://rosstuck.com/formatting-exception-messages/

Read more