new mime\container() - Object
__construct ([$mixed $context = null[, $bool $sort = false]])
$context |
optional; kommagetrennter String (z. B. 'jpg,bmp,png'), Array von Dateiendungen/MIME-Strings, new mime()-Objekt, bestehender mime\container oder null; default ist null |
$sort |
optional; bei true werden die Typen nach Qualitätsfaktor (weight) absteigend sortiert; default ist false |
initialisiert einen neuen Container für MIME-Typen; implementiert \Countable, \IteratorAggregate und \ArrayAccess zur flexiblen Nutzung wie ein natives PHP-Array
$container = new mime\container('jpg,bmp,png,image/jpeg' ) ;
$fromArray = new mime\container(['jpg' , 'xml' ]) ;
$sorted = new mime\container('text/html;q=0.8,application/json;q=1.0' , true) ;
$container[] = 'html' ; // Hinzufügen via ArrayAccess
__toString ()
gibt die enthaltenen MIME-Typen als kommagetrennten string in der Form eines HTTP Content-Type-/Accept-Headers zurück
$container = new mime\container('jpg,png' ) ;
echo $container ; // Ausgabe: 'image/jpeg,image/png'
__invoke ()
ermöglicht den Aufruf des Objekts als Funktion (
$container()); gibt den kommagetrennten String direkt per echo aus und liefert true zurück
$container = new mime\container('jpg,png' ) ;
$container() ; // Direkte Ausgabe: 'image/jpeg,image/png'
__debugInfo ()
$container = new mime\container('jpg,png' ) ;
var_dump($container) ;
count ()
gibt die Anzahl der enthaltenen MIME-Typen als integer zurück; implementiert \Countable (ermöglicht auch
count($container))
$container = new mime\container('jpg,png,gif' ) ;
echo $container->count() ; // 3
echo count($container) ; // 3
getIterator ()
implementiert \IteratorAggregate; gibt ein new ArrayIterator-Objekt zurück, wodurch der Container direkt mit
foreach durchlaufen werden kann
$container = new mime\container('jpg,png' ) ;
foreach ($container as $mime) {
echo $mime->code ;
}
Element-Zugriff & Prüfung
getMime ()
sucht bevorzugt nach dem konfigurierten Standard-MIME-Typ (mime::getDefault()) und gibt diesen als new mime()-Instanz zurück; falls nicht vorhanden, wird das erste Element geliefert; im Fehlerfall oder bei leerem Container null
$container = new mime\container('jpg,txt,png' ) ;
$default = $container->getMime() ; // Liefert bevorzugt 'txt' (Standard-Fallback)
firstMime ()
liefert den ersten MIME-Typ des Containers als new mime()-Objekt (z. B. den Typ mit der höchsten Priorität nach einer Sortierung); bei leerem Container null
$container = new mime\container('text/html;q=0.5,application/json;q=1.0' , true) ;
$first = $container->firstMime() ;
echo $first->code ; // 'json' (höchste Gewichtung)
containMime ($mixed $item)
$item |
Dateiendung, MIME-String oder new mime()-Objekt; Pflicht |
prüft, ob der angegebene MIME-Typ im Container enthalten ist; gibt true zurück wenn vorhanden, andernfalls false
$container = new mime\container('jpg,png' ) ;
$container->containMime('jpg' ) ; // true
$container->containMime(new mime('image/png' ) ) ; // true
$container->containMime('gif' ) ; // false
empty ()
prüft, ob der Container keine MIME-Typen enthält; gibt true zurück wenn leer, andernfalls false
$container = new mime\container() ;
$container->empty() ; // true
Manipulation & Export
add ([$mixed $context = null[, $bool $sort = false[, $bool $frontPosition = false]]])
$context |
optional; kommagetrennter String, Array, new mime()-Objekt oder mime\container; default ist null |
$sort |
optional; bei true wird die Liste nach dem Hinzufügen nach Gewichtung sortiert; default ist false |
$frontPosition |
optional; bei true werden die neuen Elemente am Anfang des Containers eingefügt; default ist false |
fügt neue MIME-Typen zum Container hinzu (ungültige Typen werden übersprungen); gibt bei Erfolg true zurück, andernfalls false
$container = new mime\container('jpg' ) ;
$container->add(['png' , 'gif' ]) ;
$container->add('svg' , false, true) ; // Voranstellen an erster Position
sort ()
sortiert die enthaltenen MIME-Typen absteigend nach ihrem Qualitätsfaktor (weight), sodass die höchste Priorität am Anfang steht; gibt true zurück
$container = new mime\container('image/png;q=0.5,image/jpeg;q=0.9' ) ;
$container->sort() ;
echo $container ; // 'image/jpeg;q=0.9,image/png;q=0.5'
toMimeCodeArray ([$bool $unique = false])
$unique |
optional; bei true werden Duplikate herausgefiltert; default ist false |
exportiert alle enthaltenen MIME-Typen als einfaches array von Dateiendungen/Codes (z. B.
['jpg' , 'png' ] )
$container = new mime\container('jpg,png,jpg' ) ;
$container->toMimeCodeArray() ; // ['jpg', 'png', 'jpg']
$container->toMimeCodeArray(true) ; // ['jpg', 'png']