PHPackages                             pavlista/palette - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. pavlista/palette

ActiveLibrary[Image &amp; Media](/categories/media)

pavlista/palette
================

An on-demand image handling and manipulation library

v2.9.11(7mo ago)959.6k↓28.6%5[1 issues](https://github.com/MichaelPavlista/palette/issues)2MITPHPPHP &gt;=5.4.0

Since Mar 24Pushed 7mo agoCompare

[ Source](https://github.com/MichaelPavlista/palette)[ Packagist](https://packagist.org/packages/pavlista/palette)[ Docs](https://github.com/MichaelPavlista/palette)[ RSS](/packages/pavlista-palette/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (39)Used By (2)

Palette v 2.7.8
===============

[](#palette-v-278)

PHP rozšíření umožňující pokročilou manipulaci s obrázky, vytváření jejich miniatur a verzí.

K čemu Palette slouží a jak funguje?
------------------------------------

[](#k-čemu-palette-slouží-a-jak-funguje)

- Palette slouží k jednoduchému tvoření různých variant obrázku.
- Varianta daného obrázku je vždy generovaná při první požadavku na požadovanou variantu obrázku.
- Generování varianty obrázku se neprovádí při běhu spušťěného PHP scriptu, Palette pouze **vygeneruje url** adresu na které bude požadovaná varianta dostupná. Až při naštívění této url se tato varianta (pokud nebyla již vytvořena dříve) vygeneruje. Díky tomuto principu vytváření variant obrázku není problém na jedné stránce generovat klidně 100+ variant bez toho, aby PHP došly prostředky, nebo načítání stránky trvalo delší dobu.

Instalace a nastavení
---------------------

[](#instalace-a-nastavení)

#### 1. Palette naistalujeme do projektu nejlépe pomocí composeru.

[](#1-palette-naistalujeme-do-projektu-nejlépe-pomocí-composeru)

```
 php composer.phar require pavlista/palette

```

#### 2. Vytvoříme instanci služby **Palette\\Service**, která zajišťuje přístup k funkcím Palette.

[](#2-vytvoříme-instanci-služby-paletteservice-která-zajišťuje-přístup-k-funkcím-palette)

Třída má pouze jeden povinný parametr a to instanci třídy, která implementuje interface Palette\\Generator\\IPictureGenerator v Palette je již připravená implementace a to třída **Palette\\Generator\\Server**.

**Argumenty Palette\\Generator\\Server jsou:**

- **storagePath**: Relativní nebo absolutní cesta ke složce do které se mají vygenerované miniatury a obrázky ukládat. Tato složka musí existovat a musí být do ní možné zapisovat!
- **storageUrl** Absolutní url adresa s lomítkem na konci na které je složka s miniatury veřejně dostupná.
- **basePath:** Absolutní cesta k document rootu webu. Tento parametr je nepovinný.
- **signingKey:** Jedinečný řetězec, kterým se podepisují požadavky.

**Vytvoření instance Palette by tedy mělo vypadat takto:**

```
$generator = new Palette\Generator\Server(

    'files/thumbs', // storagePath
    'http://www.example.com/files/thumbs/', // storageUrl
    '/var/www/example.com/', // basePath
    '%signingKey%'
);

$palette = new Palette\Service($generator);
```

#### 3. Vytvoříme a připravíme backend pro Palette

[](#3-vytvoříme-a-připravíme-backend-pro-palette)

V umístění, které jsme si zvolily jako úložiště vygenerovaných variant (storagePath) je nutné vytvořit soubor palette-server.php (jméno může být libovolné), v kterém na instanci služby Palette (Palette\\Service) zavoláme metodu serverResponse.

**Kód souboru by měl vypadat například takto:**

```
