PHP

Creating The Perfect Claude Code Status Line

Matt Pocock shares his ideal Claude Code status line setup, showing repo name, git branch info, and context window usage percentage. The post includes step-by-step instructions using bash scripts and the ccstatusline package. Read more

By hadi, ago
PHP

★ Laravel Permission v7 has been launched

[AdSense-A]

Laravel's built-in authorization is great when permissions are defined in code. With gates and policies, you can write logic like this:

// Defined in code, requires a deploy to change
Gate::define('edit-posts', function (User $user) {
    return $user->is_admin;
});

But in some projects roles and permissions are dynamic: created by users, managed through an admin panel, or changed at runtime without deploying code. Our Laravel Permission package can help you dynamically create roles and permissions.

We just released v7 which doesn't bring any new features, but cleans up the internal code and modernizes it. Let me walk you through what the package can do.

(more…)

By hadi, ago
PHP

Tempest 3.0

Tempest 3.0 has been released with a new exception handler, PHP 8.5 as minimum requirement, improved CSRF protection using browser headers, database performance improvements, and closure-based validation rules. Read more

By hadi, ago
PHP

★ A clean API for reading PHP attributes

[AdSense-A]

PHP 8.0 introduced attributes, and they're a great way to add structured metadata to classes, methods, properties, constants, and parameters. The concept is solid, but the reflection API you need to actually read them is surprisingly verbose. What should be a simple one-liner ends up being multiple lines of boilerplate every time. And if you want to find all usages of an attribute across an entire class, you're looking at deeply nested loops.

We just released spatie/php-attribute-reader, a package that gives you a clean, static API for all of that. Let me walk you through what it can do.

(more…)

By hadi, ago