My keynote at PHPUKConference 2024
Here's the recording of the keynote at this year's PHPUKConference.
In this section you can read posts I've written myself.
Here's the recording of the keynote at this year's PHPUKConference.
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.
Original – – ohdear.app
Recently, people started talking about a malware called “Androxgh0st” specifically targeting Laravel apps. In a recent edition of Securing Laravel, Stephen Rees-Carter wrote a good explanation of how it works. The malware targets apps with APP_DEBUG set to true. When enabled, Laravel will give…
Read more [ohdear.app]
We released a mini package called spatie/holidays that can calculate the public holidays of a country.
Last week, we released a new package called Laravel PDF that allows you to transform Blade views into PDFs. Under the hood, Chromium is used to perform the transformation. Because Chromium is an up-to-date browser, you can use any modern CSS you like.
Some people have asked if they can use Tailwind to style their documents. And I’m happy to report you can. Let’s take a look at a minimal example to showcase this.
I just read this nice blog post that contains a few tips on how to interview a Laravel developer. When hiring someone at Spatie, I usually tend to get a feel if a candidate is passionate about our field of work. I ask questions like: Who are the people you feel you can learn from? What blogs are you…
Original – – flareapp.io - submitted by Spatie
An introduction to the Flare GitLab integration!
Read more [flareapp.io]
Original – – flareapp.io - submitted by Spatie
A few days ago, we added a GitLab integration. In this blog post, we'll talk about the road to that integration and our struggles.
Read more [flareapp.io]
We’ve released a new package called spatie/laravel-pdf, a batteries-included package to generate PDFs in Laravel apps. Under the hood, it uses Chromium to generate PDFs from Blade views. You can use modern CSS features like grid, flexbox, and even frameworks like Tailwind to create beautiful PDFs.
In this post, I’d like to introduce and demonstrate the package.
We’ve released a new major version of spatie/image, v3. This package makes it very easy to manipulate images using PHP.
At the same time, we’ve also released a new major version of spatie/laravel-medialibrary. This is a powerhouse package that can associate all kinds of files with Eloquent models. The latest version of this package now uses spatie/image v3 under the hood for manipulating images.
In this blog post, I’ll explain why we made new major versions and how they can be used.
Like every year, we have some Black Friday discounts at Spatie. We made fun video about it.
This blog post will be a little different. I'm not going to write about programming as usual. Over the past few months, I have worked on my new album titled "Kind". You can listen to it on these platforms:
In this blog post, I'll share how this album was made from conception to release.
Last year at Full Stack Europe we had two great keynotes by two amazing speakers: Jeremy Keith and Kevlin Henney. We're very happy that we can share the recordings with you.
Next month, we'll have a new edition of Full Stack Europe, you can purchase your tickets here. We have an excellent line-up featuring Justin Jackson, Una Kravets, and people that work at companies like Meta, Google, Netlify. If you're familiar with the Laravel community, you'll also probably recognize Kai Sassnowski, Tobias Petry, and a few others! Hope to see you at the conference!
In a perfect world, email clients can render HTML as good as major browsers. Unfortunately, this is not the case. Email clients don't support modern HTML and CSS niceties and have a lot of quirks to be mindful of. Making sure an HTML email looks good in the most used email clients takes a lot of work.
To make crafting HTML emails a lot more enjoyable, the folks at Mailjet created a solution called MJML, which stands for "Mailjet Markup Language." It's an easy-to-use abstraction layer over HTML.
We have created a new package called spatie/mjml-php to easily convert MJML to HTML using PHP. If you're using Sidecar, you'll be happy to know that we've also created a package called spatie/mjml-sidecar, to convert MJML to HTML using Sidecar.
In this blog post, I'd like to introduce the package to you.
Original – – flareapp.io
Some fancy tricks are being used to achieve this.
Read more [flareapp.io]
Whenever Oh Dear detects something wrong with your site, it can send you a notification. We have multiple channels available: Slack, Telegram, webhooks, and many more. The most popular channel our users use is just simple mail.
Behind the scenes, Oh Dear uses Postmark to send emails. Postmark will inform us whenever a notification mail results in a hard bounce. A hard bounce means that the mail won't be delivered. The most common reason for this is that the mailbox doesn't exist (anymore). This can occur when somebody changes jobs, and the work email address no longer exists.
Here's a recording of my talk that I gave Laracon US in Nashville a week ago.
Original – – mailcoach.app
Here's a cool think you can do using the :target selector
Read more [mailcoach.app]
Original – – mailcoach.app
Here's an interesting technique that we use in Mailcoach.
Read more [mailcoach.app]
I'm proud to announce that we've released a new package called spatie/laravel-prometheus. Using this package, you can send all sorts of metrics (user counts, subscription counts, queue workloads) around your Laravel to Prometheus and visualize the historical trends using Grafana.