behat/gherkin

Gherkin DSL parser for PHP

Fund package maintenance!
carlos-granados
stof
acoulton

Installs: 166 856 848

Dependents: 94

Suggesters: 0

Security: 0

Stars: 1 056

Watchers: 16

Forks: 95

Open Issues: 10

pkg:composer/behat/gherkin

v4.15.0 2025-11-05 15:34 UTC

README

This is the php Gherkin parser for Behat. It comes bundled with more than 40 native languages (see i18n.php) support and clean architecture.

Useful Links

Usage Example

<?php

$keywords = new Behat\Gherkin\Keywords\ArrayKeywords(array(
    'en' => array(
        'feature'          => 'Feature',
        'background'       => 'Background',
        'scenario'         => 'Scenario',
        'scenario_outline' => 'Scenario Outline|Scenario Template',
        'examples'         => 'Examples|Scenarios',
        'given'            => 'Given',
        'when'             => 'When',
        'then'             => 'Then',
        'and'              => 'And',
        'but'              => 'But'
    ),
    'en-pirate' => array(
        'feature'          => 'Ahoy matey!',
        'background'       => 'Yo-ho-ho',
        'scenario'         => 'Heave to',
        'scenario_outline' => 'Shiver me timbers',
        'examples'         => 'Dead men tell no tales',
        'given'            => 'Gangway!',
        'when'             => 'Blimey!',
        'then'             => 'Let go and haul',
        'and'              => 'Aye',
        'but'              => 'Avast!'
    )
));
$lexer  = new Behat\Gherkin\Lexer($keywords);
$parser = new Behat\Gherkin\Parser($lexer);

$feature = $parser->parse(file_get_contents('some.feature'));

Installing Dependencies

curl https://getcomposer.org/installer | php
php composer.phar update

Contributors

Support the project

Behat is free software, maintained by volunteers as a gift for users. If you'd like to see the project continue to thrive, and particularly if you use it for work, we'd encourage you to contribute.

Contributions of time - whether code, documentation, or support reviewing PRs and triaging issues - are very welcome and valued by the maintainers and the wider Behat community.

But we also believe that financial sponsorship is an important part of a healthy Open Source ecosystem. Maintaining a project like Behat requires a significant commitment from the core team: your support will help us to keep making that time available over the long term. Even small contributions make a big difference.

You can support @acoulton, @carlos-granados and @stof on GitHub sponsors. If you'd like to discuss supporting us in a different way, please get in touch!