Technology · Language

PHP 8 — the main language for everything that runs on the server

Most of what we build is written in PHP: Shopware 6 plugins, TYPO3 extensions, WordPress themes, custom applications and the interfaces between them. Since PHP 8 it has been a typed, testable language with a decent toolset. Anyone still measuring it against PHP 5 is measuring two different languages under one name.

our main language

What is PHP?

PHP is a programming language for servers — it builds the pages, processes the forms and connects websites to databases and other systems.

What we use PHP for

Almost everything that makes a decision on a server is written in PHP here. That covers plugins for Shopware 6, extensions for TYPO3, themes and add-ons for WordPress, and standalone applications with no ready-made system underneath. What these have in common is rarely the front end. It is the logic behind it: price calculation, permissions, approvals, imports, exports and everything that has to run unwatched overnight.

The second large block is interfaces. ERP, PIM, CRM, carriers, payment providers — each of these systems speaks its own format, and in between sits PHP code that fetches data, checks it, rewrites it and passes it on. Such pipelines run for years, so traceability counts for more than elegance: errors have to become visible, a repeated run must not produce duplicate orders, and an outage on the other side must not destroy anything.

How we work with PHP

We write PHP 8 with strict types, typed properties, enums and attributes — the tools that arrived with PHP 7.0 (strict types), 7.4 (typed properties), 8.0 (attributes) and 8.1 (enums). Composer manages the dependencies, the structure follows the PSR standards so that someone else's code feels like your own. Static analysis with PHPStan runs in the pipeline, tests are written with PHPUnit, and for the cases nobody can guess there is Xdebug.

Development happens in Docker environments that match production — same PHP version, same extensions, same database. That saves the discussion about why something works locally. We plan version jumps early: every PHP release has a fixed end to its security support, and a shop on an expired version is not a technical detail but a risk. Nonsense implemented cleanly is still nonsense, which is why the subject matter comes before the code.

Limits and alternatives

PHP is not the right choice for everything. For data analysis, image processing and anything heading towards machine learning we use Python, because that is where the libraries are. In the browser it is JavaScript anyway, usually TypeScript. For connections that stay open — chat, live updates, many simultaneous clients — Node.js is the calmer route. PHP can do it, but it goes against the grain.

The second point concerns the reputation of the language. “PHP is not a serious language” is a verdict on PHP 5 that has been passed along for years without anyone looking again. Types, enums, attributes and a runtime many times faster since PHP 7 have removed the basis for that sentence. The reverse still holds: bad PHP code remains entirely possible — it is just not the language's fault.

Projects with PHP

A selection — not the full client list.

Frequently asked questions

Is PHP still a good choice for new projects?

Yes — PHP 8 is a typed, fast language with a stable ecosystem and a large pool of developers. Anyone writing PHP today works with Composer, static analysis and frameworks such as Symfony, not with the patterns from before version 7. A large share of the web runs on PHP, including Shopware, TYPO3 and WordPress. For server-side web applications it remains an obvious decision.

What does an upgrade from PHP 7 to PHP 8 cost?

The effort depends on how the code is written, not on how large the application is. We first use static analysis and compatibility rules to find the places that will break, and check whether every library has a suitable version. A reliable estimate follows from that. The target version matters: “PHP 8” is not precise enough, because the 8.x series covers several releases and the older ones no longer receive security updates. It usually becomes expensive where outdated extensions without a successor are in use, or where tests are missing.

When do you advise against PHP?

We advise against PHP when the task sits outside the web server. Data analysis, reporting and models we build in Python, because that is where the libraries live. Applications with permanently open connections and many simultaneous clients run more calmly on Node.js. And anything that happens in the browser belongs in TypeScript anyway. For server-side business logic in web and shop projects, PHP remains the first choice at Sharpness.

PHP: existing system or new build?

We also take over systems that were built elsewhere — after a look at the code and the hosting.

What else we build with

Call Start a project