Crescentek

PHP

The boring workhorse powering most of the web.

PHP runs WordPress, Laravel, Symfony, Magento, and vast swathes of the commercial web. Modern PHP (8.3+) has strict types, enums, readonly properties, attributes, match expressions — nothing like the PHP 4 code that gave the language its reputation.

PHP 8.3 · typed · strict
Runs everywhere
php
Request lifecycle · trailkit.ie/products/boots-325
Processing →
Browser
GET /products/boots-325
Nginx / Apache
Web server · SSL termination · static files
PHP-FPM
PHP 8.3 · FastCGI process manager
Your PHP code
Laravel / Symfony / custom framework
MySQL / PostgreSQL
SELECT * FROM products WHERE slug = ...
Traditional server-rendered · cached via OPcache + RedisPHP 8.3 · 87ms
This isn't PHP 4

Modern PHP has grown up.

Strict types
`declare(strict_types=1);` — type errors fail fast rather than silently coercing. Combined with PHPStan, PHP becomes as type-safe as TypeScript.
Readonly properties
Immutable-by-default properties via `public readonly`. Value objects without the boilerplate.
Enums (real ones)
Native enum support since 8.1. Backed enums, methods on enums, Enum::cases(). Type-safe state machines.
Match expressions
`match($status)` — exhaustive, strict comparison, returns a value. Like Rust's match or Kotlin's when.
Attributes (#[Attribute])
Metadata on classes, methods, properties. Used by frameworks for routing, validation, DI — no more PHPDoc-based magic.
First-class callable syntax
`$fn = strtoupper(...)` — turns functions into callables cleanly. Nicer than `Closure::fromCallable()`.
Named arguments
`new User(name: "Áine", email: "...", role: "admin")` — skip optional args, self-documenting calls.
Constructor property promotion
`public function __construct(public string $name) {}` — declare + assign in one step. Ends 80% of constructor boilerplate.
JIT compilation
PHP 8+ ships with JIT. CPU-heavy workloads (rare in web) see 2-3× speedup. Typical Laravel apps see modest gains + lower memory.
Where we use PHP in Irish projects

Real projects, real reasons to pick PHP.

WordPress / WooCommerce builds
Custom themes, plugins, performance optimisation. The majority of Irish SMB sites are WordPress — and WordPress is PHP.
Laravel SaaS products
Multi-tenant apps, subscription billing, internal tools, custom dashboards. Laravel's developer ergonomics are unmatched at small-to-mid scale.
Magento / Adobe Commerce
Mid-market ecommerce with B2B requirements. Magento is PHP through and through — no escaping it if that's your stack.
Legacy system modernisation
PHP 5.x or 7.x codebases gathering dust. We modernise to PHP 8.3, add tests, migrate to Laravel/Symfony patterns, restore confidence.
Custom ecommerce beyond WooCommerce
Shopware, Prestashop, bespoke Symfony. When WooCommerce can't scale and Shopify doesn't fit, PHP frameworks fill the gap.
Internal admin panels at scale
Laravel Nova, Filament, Backpack — mature admin UIs in hours not months. Staff-facing tools where WordPress admin falls short.
PHP frameworks — picked with intent

The framework ladder.

Beginner-friendly
Laravel 11
Our default for new PHP projects. Best-in-class documentation, batteries included, great community. Ships things fast.
Enterprise-grade
Symfony 7
More structured than Laravel, reusable components, heavy use in European enterprise. What Laravel is built on, underneath. Steeper learning curve.
CMS-driven
WordPress / Drupal
WordPress for marketing sites + blogs; Drupal for complex content-heavy institutional sites. Both are PHP but very different trade-offs.
Ecommerce-first
Magento / Shopware
Mid-market to enterprise ecommerce. Opinionated, heavyweight, but handle complex B2B + multi-store better than generic frameworks.
Micro-framework
Slim / Lumen / Flight
Minimal HTTP layer for tiny APIs, webhooks, microservices. Pick these when Laravel/Symfony is too much structure for the job.
No framework
Vanilla PHP
For specific scripts, small webhook handlers, legacy integration files. Rarely the right choice for a new product — use a framework.
Honest picture

Where PHP isn't the right call.

Real-time applications (WebSockets, chat)
PHP's request-response model is synchronous by default. Ratchet + ReactPHP exist but Node/Elixir handle this better out of the box.
Heavy concurrency APIs
PHP-FPM spawns workers per request. For 10k+ concurrent connections, Node or Go scale more cheaply. Swoole/OpenSwoole can fix this but it's fighting PHP's grain.
ML inference pipelines
TensorFlow, PyTorch, scikit-learn all live in Python. PHP has no equivalent ecosystem. Call a Python service from PHP rather than reimplementing.
Your team doesn't know PHP
We won't retrain your Node team. If your existing devs are JS-native, picking PHP is friction — Laravel's benefits don't overcome staffing reality.
Frequently asked

PHP questions.

No — it runs ~75% of the public web (WordPress alone is ~43%). The "PHP is dead" narrative is tired at this point. Modern PHP (8.3) is genuinely good, supported long-term, and pays bills for vast numbers of developers globally.
Team familiarity, framework maturity (Laravel is best-in-class), hosting affordability, WordPress/Magento integration, and — frankly — because boring, well-known technology has fewer surprises than shiny new stacks. We'd pick based on project fit.
Yes. We've inherited PHP 5.x apps and modernised them systematically — PHP 8 upgrades, adding test coverage, migrating from custom frameworks to Laravel, improving observability. Never a rewrite-from-scratch recommendation until we've stabilised the existing.
Modern PHP with strict types, prepared statements (ORMs), CSRF tokens, proper session handling, and up-to-date dependencies (Composer) is as secure as any backend. Most "PHP is insecure" fears trace to PHP 5 code written in 2008.
For the vast majority of Irish client workloads, yes. With OPcache + Redis caching + proper indexing, typical Laravel apps serve thousands of req/sec per server. Octane (FrankenPHP/Swoole) can push this 2-3× when needed.

PHP project — new build or legacy rescue?

Free 45-minute scoping call. We'll map your project, assess existing code if relevant, recommend the right PHP framework (or honestly tell you if something else fits better).