Laravel Default Attribute Values: $attributes Explained
Create a new Eloquent model, ask for $flight->delayed , and you get null . Not false , even if your database column defaults to false. That gap b…
Latest Web news from Tech News
Create a new Eloquent model, ask for $flight->delayed , and you get null . Not false , even if your database column defaults to false. That gap b…
Need to create a variable inside a Blade template, calculate a value, and display it without getting an Undefined variable error? You can do it dire…
I deploy a handful of projects to a handful of my own servers. Not enough to justify Kubernetes, too many to keep doing ssh , git pull , docker comp…
If your Laravel application suddenly throws "Stripe webhook signature verification failed" — the Stripe PHP SDK's SignatureVerificationException , u…
You add ?status=paid filtering to an endpoint, write Status::from($_GET['status']) , and it works. Then somebody requests ?status=PAID or ?status=re…
Household Manager is a Laravel application I am building in public. The point is not a chat window that invents a grocery list. The point is a set o…
Originally published at hafiz.dev A recent r/laravel thread asked how teams share .env secrets with teammates and across environments . One of the m…
Every Laravel + SPA tutorial eventually hits the CORS error, and the usual fix is a dev-server trick: proxy the API through Vite, pretend the proble…
Here's my entire user-management controller. Five endpoints, and the longest method is four lines: class UserController extends Controller { public…
Nothing erodes frontend trust faster than an API that answers JSON on success and HTML on failure. Your React code parses the happy path fine, then…
Download the sample code: https://github.com/wnikk/-laravel-access-example This is the second part. The first one, How to use Access Control Rules a…
The most expensive Laravel production mistakes are the ones that work perfectly on your laptop. Locally you have one server, no cache files, no load…
Laravel AI SDK 1.2: Agent Skills, Cohere & Smarter AI Workflows Artificial intelligence is becoming a practical part of modern web development.…
I've made music as theverychap since 1994. It started on an Amiga A1200 with OctaMED, and the earliest stuff is likely what you'd expect from that:…
Disclosure: I'm the author of Warp Table, a commercial Filament plugin. The measurements below come from its public demo, which you can use to run t…
What is REST? REST (Representational State Transfer) is an architectural style , not a protocol or a standard. It was introduced by Roy Fielding in…
When working on a Laravel project, you may encounter warnings when running composer dump-autoload . These warnings often indicate that your model or…
A few weeks ago I saved a link about keeping test emails away from real users. The plan was simple: add Mail::alwaysTo() to our staging setup and st…
If your WordPress site moved to PHP 8.2 or newer, there's a good chance your debug.log is full of this: PHP Deprecated: Creation of dynamic property…
A customer gets charged twice. A report email goes out three times. The logs show App\Jobs\SyncInvoice has been attempted too many times even though…
PHP's default password hash only reads the first 72 bytes of your password. Last week, a plan to make it refuse anything longer split the list, beca…
Сделал калькулятор налога для самозанятых на Laravel + Inertia + Vue с SSR и выложил на обычный shared-хостинг. Сам калькулятор написал за пару вече…
A customer deploys their app at 14:00. Their webhook endpoint is down for four minutes while it happens. Your app sends them invoice.paid at 14:01,…
The big bang rewrite is the most confident decision an engineering team can make and one of the worst. The pitch is always reasonable. The current s…
Most Laravel APIs I review have the same shape. There is a controller, there is a FormRequest, and somewhere in a folder nobody has opened in four m…
Last month I walked through building an order fulfilment workflow with the workflow engine: signals arriving from webhooks, timeouts bounding the wa…
Pick a password longer than 72 bytes for a PHP app on the default hash. PHP keeps the first 72 and throws the rest away, without a word. Then it let…
A job that sends an email takes half a second. A job that calls a generative model takes as long as the provider feels like, and sometimes a lot lon…
🚀 Laravel Preview Environments: Why Every Pull Request Could Have Its Own App Imagine opening a pull request and immediately getting a URL where any…
Originally published at hafiz.dev A recent r/laravel thread was titled "250 migrations in 3 years. What's yours at?" The standard answer is one comm…