Compression API: Unterschied zwischen den Versionen
Aus Contao Community Documentation
Tril (Diskussion | Beiträge) (→Compression API) |
Tril (Diskussion | Beiträge) (→Compression) |
||
Zeile 14: | Zeile 14: | ||
Die API selbst besteht aus folgenden Basisklassen: | Die API selbst besteht aus folgenden Basisklassen: | ||
− | ===Compression=== | + | ===class Compression=== |
+ | |||
+ | Die Basisklasse, welche zentraler Zugriffspunkt für den Entwickler ist und im Ideal Fall die einzige, die explizit angesprochen wird. | ||
<source lang="php"> | <source lang="php"> | ||
Zeile 78: | Zeile 80: | ||
*/ | */ | ||
string getDefaultCssMinimizerClass() | string getDefaultCssMinimizerClass() | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | ===interface Compressor=== | ||
+ | |||
+ | Das <code>Compressor</code> Interface ist die einheitliche Schnittstelle zu allen Komprimierungsverfahren. Jeder Kompressor implementiert dieses Interface und kann so einheitlich benutzt werden. | ||
+ | |||
+ | <source lang="php"> | ||
+ | class Compression | ||
+ | { | ||
+ | /** | ||
+ | * Konfiguriert den Kompressor. | ||
+ | */ | ||
+ | void configure($arrConfig) | ||
+ | |||
+ | /** | ||
+ | * Gibt die aktuelle Kompressor Konfiguration zurück. | ||
+ | */ | ||
+ | array getConfig() | ||
+ | |||
+ | /** | ||
+ | * Komprimiert die Datei $strSource in die Datei $strTarget. | ||
+ | */ | ||
+ | bool compress($strSource, $strTarget) | ||
+ | |||
+ | /** | ||
+ | * Komprimiert die Datei $strSource und gibt die komprimierten Daten zurück. | ||
+ | * Im Fehlerfall wird false zurück gegeben. | ||
+ | */ | ||
+ | mixed compressFromFile($strSource) | ||
+ | |||
+ | /** | ||
+ | * Komprimiert die Datein $varData und schreibt diese in die Datei $strFile. | ||
+ | */ | ||
+ | bool compressToFile($strFile, $varData) | ||
+ | |||
+ | /** | ||
+ | * Komprimiert die Daten $varData und gibt die komprimierten Daten zurück. | ||
+ | * Im Fehlerfall wird false zurück gegeben. | ||
+ | */ | ||
+ | mixed compressData($varData) | ||
} | } | ||
</source> | </source> |
Version vom 20. Januar 2011, 16:10 Uhr
Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.
Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis. |
Die Compression API ist eine Komprimierungs und Minimierungs API für Entwickler.
betrifft | |
---|---|
Contao Version | 2.9.x |
Inhaltsverzeichnis
Compression API
Das Ziel der Compression API ist es, eine einheitliche Schnittstelle zu liefern, um Entwicklern von Erweiterungen und Templates einen vereinfachten Zugriff auf verschiedene Komprimierungs und Minimierungsverfahren zu geben.
Die API
Die API selbst besteht aus folgenden Basisklassen:
class Compression
Die Basisklasse, welche zentraler Zugriffspunkt für den Entwickler ist und im Ideal Fall die einzige, die explizit angesprochen wird.
class Compression { /** * Gibt alle verfügbaren Kompressoren zurück. */ array getCompressors() /** * Gibt die Klasse des Kompressors zurück. */ string getCompressorClass($strKey) /** * Gibt den in den Systemeinstellungen vorausgewählten Kompressor zurück. */ string getDefaultCompressor() /** * Gibt die Klasse des in den Systemeinstellungen vorausgewählten Kompressor zurück */ string getDefaultCompressorClass() /** * Gibt alle verfügbaren JavaScript Minimizer zurück. */ aray getJsMinimizers() /** * Gibt die Klasse des JavaScript Minimizer zurück. */ string getJsMinimizerClass($strKey) /** * Gibt den in den Systemeinstellungen vorausgewählten JavaScript Minimizer zurück. */ string getDefaultJsMinimizer() /** * Gibt die Klasse des in den Systemeinstellungen vorausgewählten JavaScript Minimizer zurück */ string getDefaultJsMinimizerClass() /** * Gibt alle verfügbaren CSS Minimizer zurück. */ aray getCssMinimizers() /** * Gibt die Klasse des CSS Minimizer zurück. */ string getCssMinimizerClass($strKey) /** * Gibt den in den Systemeinstellungen vorausgewählten CSS Minimizer zurück. */ string getDefaultCssMinimizer() /** * Gibt die Klasse des in den Systemeinstellungen vorausgewählten CSS Minimizer zurück */ string getDefaultCssMinimizerClass() }
interface Compressor
Das Compressor
Interface ist die einheitliche Schnittstelle zu allen Komprimierungsverfahren. Jeder Kompressor implementiert dieses Interface und kann so einheitlich benutzt werden.
class Compression { /** * Konfiguriert den Kompressor. */ void configure($arrConfig) /** * Gibt die aktuelle Kompressor Konfiguration zurück. */ array getConfig() /** * Komprimiert die Datei $strSource in die Datei $strTarget. */ bool compress($strSource, $strTarget) /** * Komprimiert die Datei $strSource und gibt die komprimierten Daten zurück. * Im Fehlerfall wird false zurück gegeben. */ mixed compressFromFile($strSource) /** * Komprimiert die Datein $varData und schreibt diese in die Datei $strFile. */ bool compressToFile($strFile, $varData) /** * Komprimiert die Daten $varData und gibt die komprimierten Daten zurück. * Im Fehlerfall wird false zurück gegeben. */ mixed compressData($varData) }
Unterstützte Verfahren
Komprimierungsverfahren
- gzip - GzipCompressor
- bzip2 - Bzip2Compressor
- lzma - LzmaCompressor (geplant)
Minimierungsverfahren
- yui - YUI Compressor
- cssmin - cssMinimizer (geplant)
- jsmin - jsMinimizer
- dep - Dean Edwards Packer