My VS Code Setup

In an absolutely fantastic post Caleb Porzio, engineer at Tighten Co., goes through his VS Code setup. He goes over his extensions, key bindings, must-have settings, ...

I’m using VS Code as my primary editor these days and am really digging it. My setup is by no means perfect, but I've made lots of little tweaks along the way that you may benefit from. I've set up these nifty categories, so feel free to jump around and try stuff out as you go, or come back later and use it as a reference.

http://calebporzio.com/my-vs-code-setup-2/

I've made the switch from PhpStorm to VS Code a couple of weeks ago and have been using it ever since. I like the speed improvements over PhpStorm, the zen feel, the xdebug experience, ... It just feels lighter (and I mean that in a good way) compared to PhpStorm.

If you want to give VS Code a shot too, go watch the free Visual Studio Code for PHP developers course on Laracasts.

Read more

Laravel-medialibrary v7 preview: multi file downloads original

by Freek Van der Herten – 4 minute read

laravel-medialibrary is a powerhouse package that can help handle media in a Laravel application. It can organise your files across multiple filesystems, generate thumbnails, optimize images and much much more. My team and I are hard at work creating a new major version, v7, that adds a lot of…

Read more

Join 9,500+ smart developers

Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.

No spam. Unsubscribe anytime. You can also follow me on X.

Installing PHP 7.2

PHP 7.2 was released last week. Here's a nice post highlighting the most important changes. If you want to know how to install PHP 7.2 on your system, Colin O' Dell has got you covered.

PHP 7.2 has been released, bringing some great new features and security enhancements to the language such as object type hints, saner count() behavior, and much more. Here's a brief guide on how to install PHP 7.2 on several different operating systems.

https://www.colinodell.com/blog/201711/installing-php-72

Using brew on MacOS it's very easy to upgrade from PHP 7.1 to PHP 7.2. Just run these:

brew update
brew upgrade
brew unlink php71
brew install php72

Please be aware that, at the moment of writing, there isn't a stable xdebug version that works for PHP 7.2. Keep an eye on the xdebug homepage to know when a stable version drops.

Read more

Understand JavaScript's this Keyword in Depth

Marius Schulz created a free Egghead course where he explains how JavaScript this keyword behaves in various contexts.

JavaScript’s this keyword is a source of confusion for many new and experienced developers alike. It can be frustrating if, for some reason, this doesn’t point to the context that was intended. This course will help you understand JavaScript’s this mechanism in depth.

https://egghead.io/courses/understand-javascript-s-this-keyword-in-depth

Read more

Create custom, distributable web components with VueJS

Marcel Pociot, author of the excellent BotMan package, published a post on how he used Custom Elements for VueJS to power a widget that users can embed on their sites.

I am currently in the middle of working on a new BotMan feature - a frontend widget that you can embed into your website to make it easier to connect your website visitors with your own self-hosted chatbot solution. The backend / PHP side is already working and leverages the BotMan web driver, which is basically just an API that you can use to interact with your chatbot.

http://marcelpociot.de/blog/2017-12-08-using-custom-vuejs-elements

Read more

24 Days in December: thoughts of the PHPamily

24 days in december is a site where every day, from start of December until Christmas, a new post by someone in the wide PHP community is published. The blog authors are hand picked by Andreas Heigl who runs the site. Here's an excerpt of the post by Kalle Sommer Nielsen that was published to today.

PHP has a tremendous community behind it, that community consists of you and me, and millions of others that help promote PHP by continuing to develop awesome applications that power some of the biggest websites in the world, but within this community exists a relatively small community that actively develops PHP, such as making it run on your favorite platform or making your favorite extensions compile and work or even keeps the documentation up-to-date. Today I want to dwell into that community, and perhaps giving you flavor enough to contribute back to PHP with code

https://24daysindecember.net/2017/12/11/giving-back-to-php/

Be sure to check out the posts by Morten Bergset, James Titcumb, Juliette Reinders Folmer and all others too.

Read more

Organizing code into domain modules

In a new post to his site Mathieu Napoli makes the case for organising your code based on it's function rather than it's type.

We recently discussed 2 topics seemingly unrelated with my colleagues at Wizaplace: how to organize code? How to organize teams? ... Organizing code into domain modules is not a silver bullet but it forces to better understand the problem we are solving and better structure our code.

http://mnapoli.fr/organizing-code-into-domain-modules/

Read more

Atomic commits: telling stories with Git

Frederick Vanbrabant published another delirious rant on his blog. This time it's about atomic commits.

Atomic commits, sometimes also called micro commits, is the practice of explaining your thought process in the form of commit messages and code. It comes down to documenting the way to the solution.

https://frederickvanbrabant.com/2017/12/07/atomic-commits.html

Read more

Symfony 4: New Hope

In an article on his Medium blog, Jerzy Zawadzki wrote about the most important changes made in Symfony 4.

Internally, Symfony 4.0 is “just” Symfony 3.4 with removed depracations. But from outside there is a big leap forward. Most changes (from the installation process, directory structe through using bundles, to coding itself) were made to improve Developer Experience with the framework. Such system like Symfony, which can be used to create web apps as easily as to build other frameworks on top of it, must be complicated. But, as Symfony proves in new version, this complexity may be ‘hidden’ from the developer eyes.

https://medium.com/@zawadzki.jerzy/symfony-4-new-hope-dbf99dde91d8

Read more

Symfony now has an improved dump function original

by Freek Van der Herten – 2 minute read

Let's talk a little bit about Symfony's dump function. It's part of their VarDumper component. The function can dump a variable to the screen or browser in a nicer format than PHP's native var_dump. In the recently released Symfony 3.4 and Symfony 4 the function got a nice little improvement that…

Read more

A package to use optimised UUIDs in Laravel

Using regular UUIDs stored as a text-based primary key is very slow. Our newly released package spatie/laravel-binary-uuid aims to solve that by binary storing a slightly tweaked version of the UUID. My colleague Brent wrote a blogpost describing how it works behind the scenes. He also included some interesting benchmarks.

The binary encoding of UUIDs solved most of the issue. There's one extra step to take though, which allows MySQL to even better index this field. By switching some of the bits in the UUID, more specifically time related data, we're able to save them in a more ordered way. And it seems that MySQL is especially fond of ordered data when creating indices.

https://www.stitcher.io/blog/optimised-uuids-in-mysql

Read more

murze.be turns three original

by Freek Van der Herten – 2 minute read

Three years ago I started this blog to share my bookmarks and interesting links with fellow developers. Like on the previous anniversaries I'd like to share some cool statistics from the past 12 months. For the period spanning from end november 2016 until end november 2017 my little blog served 591…

Read more

Native HTML5 form validation in 6 lines of code

Dave Rupert, lead developer at Paravel, shows how you can leverage native form validation and still style your errors using only a couple of lines of JavaScript.

If you’ve ever experimented with HTML5 Form Validation, you’ve probably been disappointed. The out-of-box experience isn’t quite what you want. Adding the required attribute to inputs works wonderfully. However the styling portion with input:invalid sorta sucks because empty inputs are trigger the :invalid state, even before the user has interacted with the page. I finally sat down and spent a couple days trying to make HTML5 Form Validation work the way I want it.

https://daverupert.com/2017/11/happier-html5-forms/

Read more

An approach to testing middleware

Laravel rockstar TJ Miller posted a short and sweet post how how he tested a middleware that forces requests to respond with JSON.

So what I’ve done here is define custom testing routes and applied the middleware as I would use it in the application routes, in this case global middleware and as middleware for the api group. This allows me to assert that the middleware is configured and functioning correctly.

https://medium.com/@sixlive/an-approach-to-testing-middleware-c547fc942848

Read more