Composer je alat s kojim instaliramo paketiće za PHP programski jezik. U biti, alat funkcionira poput npm-a ili linux pacman-a gdje se preko naredbenog retka instalira php alate ili libse.

Ovdje mislim pisati samo o stvarima koje osobno smatram bitnim.

Gdje su paketi?

Packagist je stranica na kojoj se nalaze Composer paketi. Tu možemo pretraživati ali i dodati svoje skripte ili projekte.

Kako instaliramo paketić?

Napravimo direktorij i u njemu otvorimo terminal. Za primjer instalirmo milon/barcode paketić:

composer require milon/barcode

…i sad imamo ovu sliku u našem diru:

Kako uvesti lib?

‘Ajmo napraviti ‘index.php’ i u njemu:

<?php

require __DIR__ . "/vendor/autoload.php";
use \Milon\Barcode\DNS1D;

$d = new DNS1D();
$d->setStorPath(__DIR__.'/cache/');
echo $d->getBarcodeHTML('9780691147727', 'EAN13');

Otvaramo PHP dev-server sa:

php -S localhost:9999

Kako napraviti Composer projekt?

Prije svega, ovdje imate cijeli projekt. Pa ga samo raspakirajte i pokrenite php dev-server u direktoriju.

Idemo pripremiti strukturu projekta:

mkdir ./floki
cd ./floki

‘composer.json’ pravimo sa naredbom ‘composer init’. Na sva pitanja stisni [Enter]:

composer init

Pravimo ‘index.php’:

touch ./floki/index.php

Sa podacima:

<?php

require __DIR__ . "/vendor/autoload.php";

use Ddd\Floki\Pas;

$pas = new Pas(); 
$pas->zalaj();

Zatim pravimo probnu klasu u ‘src’ direktoriju:

touch ./src/Pas.php

Unosimo u datoteku ‘Pas.php’:

<?php

namespace Ddd\Floki;

class Pas
{
	function zalaj()
	{
		echo "Vau-vau!";		
	}
}

I na kraju da obnovimo Composer autoload listu (moramo biti u project root putanji, gdje je i ‘composer.json’):

composer dump-autoload

Ponovo otvaramo (gasimo onaj od ranije) PHP dev-server sa:

php -S localhost:9999