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-325Processing →
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.
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).
