Jak vytvořit Composer package

Na githubu vytvořte nový repozitář a přidejte soubory src/HelloWorld.php a composer.json

src/HelloWorld.php

<?php
class HelloWorld{
        public function __construct(){
                echo "Hello World";
        }
}

composer.json

{
        "name": "prezdivka/hello-world",
        "autoload": {
                "classmap": ["src/"]
        }
}

Packagist.org

Zaregistrujte se na packagist.org a přes tlačítko submit přidejte odkaz na váš repositář na github.com

Přidání balíčku do Nette

composer require prezdivka/hello-world dev-main


Další způsob použití

Ruční vygenerování autoloadu

//ve složce s composer.json spusťte příkaz
composer dump-autoload
//ten vytvoří složku vendor a v ní soubory nutné pro autoloading

Použití autoloadingu

<?php

//zapnutí error reportingu (pokud by bylo vypnuté)
//error_reporting(E_ALL);
//ini_set('display_errors', '1');

require_once 'vendor/autoload.php';

new HelloWorld();

Jak se zbavit „dev-main“ při použití packagist.org?

Na githubu musíte rapozitáři přidat tag – například v1.0.0

Potom můžete použít:

composer require prezdivka/hello-world