Originals — posts I've written myself.
A Laravel package to retrieve Google Analytics data original
If you need to retrieve some data from your Google Analytics account in Laravel 5, then laravel-analytics is the package for you. Assuming the analytics tracking code is installed on your site, the package allows you to determine which pages are visited the most, which browsers are used most to…
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.
"Freek’s newsletter is one of the best ways to stay updated with the Laravel and PHP ecosystem. It consistently highlights useful packages, tools, and ideas from the community, especially the amazing work coming from Spatie. As a Laravel developer building SaaS and web platforms, I find it extremely helpful to discover practical tools and insights that improve my development workflow."
A package to backup your Laravel 5 app original
Last week I made a Laravel 5 package that could dump your db. Last saturday night I took the time to expand the functionality. laravel-backup can now backup your entire application. The backup is a zipfile that contains all files in the directories you specify along with a dump of your database. The…
Add a command to dump your database in Laravel 5 original
This Laravel 5 package provides an artisan command to dump your database to a file. When installed you can dump your database with this command [code]php artisan db:backup``` A file containing the dump of your database will be created in the directory you specified in the config-file. I plan on…
The missing tail command for Laravel 5 original
Last week Laravel 5 was released. Unfortunately that handy command for tailing the logs that you know and love from Laravel 4 was not included. The laravel-tail package brings it back. You can install it via composer: composer require spatie/laravel-tail After that you'll have to register the…
An activity logger for Laravel 5 original
The activitylog-package provides a very easy way to log activities of the users of your app. Today I took the time to make it compatible with Laravel 5. Logging some activity couldn't be easier: [code] /* The log-function takes two parameters: - $text: the activity you wish to log. - $user: optional…
Use BackupPC to create daily backups original
My current hosting provider, DigitalOcean, has a great backup service. It takes frequent snapshots of entire droplets and it's very easy to restore the snapshot quickly. Unfortunately backups are only taken once every week. For our clients this is not acceptable. If you only rely solely on the DO…
An SSL certificate chain resolver original
When installing an SSL certificate on your server you should install all intermediate certificates as well. If you fail to do so, some browsers will reported "untrusted" warnings for your site like this one: Searching and downloading those intermediate certificates can be a hassle. It…
Using Elasticsearch in Laravel original
Elasticsearch is a lightning quick open source search server. It's java-based (but don't let that scare you) and can index and search documents. If you want to know more about it, watch this excellent talk by Ben Corlett. https://www.youtube.com/watch?v=waTWeJeFp4A For a recent Laravel project I had…
Create a global .gitignore original
Probably you're using a .gitignore file for every project. If you find yourself creating a .gitignore file for the same files on every project you should use a global .gitignore file. You can specify the location of the global .gitignore file with this command: git config --global core.excludesfile…
A Laravel webshop original
Earlier today Spatie, the company where I work, launched a webshop polkadots.be. When the project started one of the first choices that we had to make was if we were going to use an existing solution or build our own custom solution. For this project we took an extensive look at some existing…