Search
Laravel, PHP, SEO, and freelance utilities. Each tool has its own URL so you can bookmark it, share a result, and find it from search.
Build, translate, and preview a 5-field cron schedule. See a human description and the next run times.
Convert JSON into PHP short-array syntax and a starter Eloquent model with fillable attributes and inferred casts.
Check whether a Laravel version runs on a given PHP version, using the official PHP ranges for Laravel 8 through 13.
Test a regular expression with PHP preg_match or preg_match_all and inspect capture groups.
Generate a Laravel APP_KEY (AES-256-CBC) and a starter .env block. A new key will not decrypt existing data.
Test whether a version satisfies a Composer constraint using composer/semver, the same library Composer uses.
Look up PHP date format tokens and preview Carbon::parse($input)->format($format) live.
Try Laravel Str helpers such as slug, snake, kebab, mask, and limit on a sample string.
Convert Apache Redirect, RedirectMatch, and common RewriteRule / RewriteCond lines into nginx rewrite or return directives.
Build Open Graph and Twitter meta tags and preview how a link card will look.
Paste a robots.txt or sitemap XML file and check directives, URLs, and lastmod dates. Optionally fetch a public URL.
Add utm_source, utm_medium, utm_campaign, utm_term, and utm_content to a URL and copy a campaign link.
From the blog
Laravel schedule()->cron() uses Unix five-field expressions. Names, @daily, and Quartz tokens are not the same language.
From the blog
Infer fillable attributes and a first-pass $casts array from a vendor JSON sample, then edit relations by hand.
From the blog
Each Laravel release supports a band of PHP versions. Check the matrix before composer update.
From the blog
Same PCRE engine, different return shape. Cap the pattern and read preg_last_error_msg().
From the blog
Cookies, sessions, and Encrypted casts all sit on APP_KEY. A new key on an old database is ciphertext you cannot read.
From the blog
Composer semver is close to npm and not the same. Test a version against the constraint before you bump it in CI.
From the blog
Carbon::format() is date(). Y, m, d, H, i, s cover most logs. Mixing tokens produces timestamps nobody can parse.
From the blog
Illuminate Str helpers cover slugs, case, masking, and limits. They are easier to test than a one-off pattern.
From the blog
Redirect, RedirectMatch, and common RewriteRule flags have nginx equivalents. Anything you cannot map should stay skipped.
From the blog
og:title, og:description, og:image, and og:url are what unfurls read. The HTML title tag is not enough.
From the blog
robots.txt is grouped by User-agent. Allow and Disallow only apply after a group starts.
From the blog
utm_source is the platform, utm_medium the channel, utm_campaign the name you will filter on.
From the blog
Annual is day rate times billable days. Then run the annual figure through the tax calculator.
Also on this site: salary tax calculator for take-home pay after a day-rate or annual figure.