Article
Laminas ServiceManager after Zend Framework
Operate Laminas ServiceManager factories, aliases, and plugin managers after migrating from Zend\ServiceManager.
Post-migration, most “class not found” and “Unable to resolve service” failures trace to ServiceManager configuration that still references old names, deleted invokables, or factories that were never updated for constructor changes.
// LEGACY ZF-era factory signature style (string keys)
'factories' => [
'My\Service\Report' => 'My\Factory\ReportFactory',
],
// MODERN Laminas / PSR-11 style
use Laminas\ServiceManager\Factory\FactoryInterface;
use Psr\Container\ContainerInterface;
final class ReportFactory implements FactoryInterface
{
public function __invoke(ContainerInterface $container, $requestedName, ?array $options = null): ReportService
{
return new ReportService(
$container->get(\Laminas\Db\Adapter\Adapter::class)
);
}
}
Verification steps
- Boot the container in a CLI script and
get()critical services - Clear merged config caches after deploy
- Search for remaining
Zend\\ServiceManagerstrings - Align controller manager / form manager plugin configs
Related: ZF2 ServiceManager, Laminas MVC, autoload class not found.
Related tools
- Composer.json Validator Validate composer.json structure and common mistakes without running composer install.
- Legacy PHP Risk Checker Paste PHP source for a static scan that classifies removed APIs, deprecated calls, and security-sensitive leg…
- PHP Deprecated Checker Find deprecated functions and patterns in pasted PHP to prioritize modernization work.
- PHP Environment Compare Compare two PHP environment summaries to find directive and extension mismatches.
- PHP Modernization Roadmap Build an ordered migration stage list from your PHP version, framework, Composer, database API, and deploymen…
- PHP Version Compatibility Checker Scan pasted PHP for version-sensitive syntax and APIs to plan upgrades across PHP releases.
Related reading
- Migrating Zend Framework to Laminas (Complete Guide) Deep, verified migration from ZF2/ZF3 (and Apigility/Expressive) to Laminas using laminas-migration: Composer…
- Zend Framework 1 and PHP 8: Compatibility Reality Check ZF1 is not covered by laminas-migration like ZF2/ZF3. Unverified “PHP 8 compatible” claims, typical breakages…
- Zend Framework History: ZF1, ZF2, ZF3, and Laminas A maintainer-focused timeline of Zend Framework major generations and why Laminas is the official open-source…
- Zend Framework 3 Components Inventory List the zendframework/zend-* components you actually use so Laminas migration and PHP upgrades stay proporti…
- Composer Practices for Zend Framework 3 Apps Lockfiles, platform config, abandoned zendframework packages, and safe preparation for laminas-migration.