A Composer egy elterjedt csomagkezelő PHP alkalmazásokoz. Előfordul, hogy a WordPress példányt és annak függőségeit Composerrel szeretnénk kezelni. Ez a leírás azt ismerteti, hogyan tudjuk a SimplePay bővítményt Composeren keresztül kezelni.

Az alábbi minta composer.json bemutatja, hogy a conedevelopment/otp-simplepay-woocommerce repository-t hogyan szükséges paraméterezni, hogy a megfelelő helyről töltse le a kívánt állományt.

{
    "name": "conedevelopment/example-wp-composer",
    "description": "Example WordPress with Composer",
    "license": "MIT",
    "require": {
        "php": "^8.3.0",
        "conedevelopment/otp-simplepay-woocommerce": "^3.2.0",
        "roots/wordpress": "^6.6.0",
        "wpackagist-plugin/woocommerce": "^9.2.3"
    },
    "minimum-stability": "beta",
    "config": {
        "preferred-install": {
            "*": "dist"
        },
        "allow-plugins": {
            "composer/installers": true,
            "ffraenz/private-composer-installer": true,
            "roots/wordpress-core-installer": true
        }
    },
    "extra": {
        "installer-paths": {
            "wp-content/mu-plugins/{$name}/": [
                "type:wordpress-muplugin"
            ],
            "wp-content/plugins/{$name}/": [
                "type:wordpress-plugin"
            ],
            "wp-content/themes/{$name}/": [
                "type:wordpress-theme"
            ]
        }
    },
    "repositories": [
        {
            "type": "composer",
            "url": "https://wpackagist.org"
        },
        {
            "type": "package",
            "package": {
                "name": "conedevelopment/otp-simplepay-woocommerce",
                "version": "3.2.0",
                "type": "wordpress-plugin",
                "dist": {
                    "type": "zip",
                    "url": "https://shop.conedevelopment.com/api/packages/{%CONE_LICENSE_KEY}/download?type=composer&version=v{%VERSION}"
                },
                "require": {
                    "composer/installers": "^2.3.0",
                    "ffraenz/private-composer-installer": "^5.0"
                }
            }
        }
    ]
}

A {%VERSION} változó a version kulcs értékét adja vissza, jelen esetben a 3.2.0-t. A {%CONE_LICENSE_KEY} értékét viszont nem javasolt közvetlenül a composer.json-ban tárolni (főleg ha ez a git-ben is tárolva van), hanem érdemes valamilyen környezeti változóba szervezni. Ez lehet egy .env változó, vagy valamilyen CI (GitHub Actions, GitLab CI, stb.) környezeti változója.

# Nem valós licenc kulcs!

CONE_LICENSE_KEY=eb819bed-ba18-4e60-9d95-d6d6b5d4364c