Given/When/Then steps for Symfony components like routing, security, or form handling). Useful for BDD-driven Symfony2 applications.HttpKernel.HttpFoundation, Routing) that may be obsolete in modern stacks.PHPExpertsInc/SymfonyExtension) as a temporary bridge during migration.FriendsOfBehat/SymfonyExtension (Symfony 5.x+) or modern alternatives like:
Kernel and HttpClient.FriendsOfBehat/SymfonyExtension or other modern tools?FriendsOfBehat/SymfonyExtension instead.| Current State | Recommended Path | Tools/Steps |
|---|---|---|
| Symfony2 + Behat | Option 1: Use behat/symfony2-extension (original) with polyfills for PHP 7.4. |
- Pin to last working version. |
Option 2: Migrate to PHPExpertsInc/SymfonyExtension fork. |
- Test PHP 8.x compatibility thoroughly. | |
Option 3: Plan Symfony 5+ migration + FriendsOfBehat/SymfonyExtension. |
- Rewrite contexts for new Symfony APIs. | |
| Symfony 3/4 + Behat | Option 1: Use FriendsOfBehat/SymfonyExtension (partial compatibility). |
- Check for breaking changes in Symfony 3/4. |
| Option 2: Direct migration to Symfony 5+ + new extension. | - Leverage Symfony’s built-in testing tools. | |
| Non-Symfony PHP | Avoid this package. Use generic Behat extensions or custom contexts. | - Example: behat/mink for browser testing. |
Kernel class for bootstrapping.ContainerAwareInterface).composer.json:
"repositories": [
{ "type": "vcs", "url": "https://github.com/PHPExpertsInc/SymfonyExtension" }
],
"require": {
"php-experts-inc/symfony-extension": "^1.0"
}
behat.yml to include the extension.Kernel directly (loose coupling).FriendsOfBehat/SymfonyExtension.PHPExpertsInc/SymfonyExtension):
FriendsOfBehat/SymfonyExtension).xdebug to trace kernel/bootstrap issues.--tags to isolate scenarios or switch to PHPUnit for unit tests.How can I help you explore Laravel packages today?