@@ -276,7 +276,7 @@ that extension to improve the guessing performance.
276
276
Adding a MIME Type Guesser
277
277
..........................
278
278
279
- You can register your own MIME type guesser by creating a class that implements
279
+ You can write your own MIME type guesser by creating a class that implements
280
280
:class: `Symfony\\ Component\\ Mime\\ MimeTypeGuesserInterface `::
281
281
282
282
namespace App;
@@ -300,6 +300,55 @@ You can register your own MIME type guesser by creating a class that implements
300
300
}
301
301
}
302
302
303
+ And registering it::
304
+
305
+ $mimeTypes = new MimeTypes();
306
+ $mimeTypes->registerGuesser(new SomeMimeTypeGuesser());
307
+
308
+ When using the Symfony fullstack Framework, you just need to add the ``mime.mime_type_guesser `` tag:
309
+
310
+ .. configuration-block ::
311
+
312
+ .. code-block :: yaml
313
+
314
+ # config/services.yaml
315
+ services :
316
+ App\SomeMimeTypeGuesser :
317
+ tags : [mime.mime_type_guesser]
318
+
319
+ .. code-block :: xml
320
+
321
+ <!-- config/services.xml -->
322
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
323
+ <container xmlns =" http://symfony.com/schema/dic/services"
324
+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
325
+ xsi : schemaLocation =" http://symfony.com/schema/dic/services
326
+ https://symfony.com/schema/dic/services/services-1.0.xsd" >
327
+
328
+ <services >
329
+ <service id =" App\SomeMimeTypeGuesser" >
330
+ <tag name =" mime.mime_type_guesser" />
331
+ </service >
332
+ </services >
333
+ </container >
334
+
335
+ .. code-block :: php
336
+
337
+ // config/services.php
338
+ namespace Symfony\Component\DependencyInjection\Loader\Configurator;
339
+
340
+ use App\SomeMimeTypeGuesser;
341
+
342
+ return function(ContainerConfigurator $configurator) {
343
+ $services = $configurator->services();
344
+
345
+ $services->set(SomeMimeTypeGuesser::class)
346
+ ->tag('mime.mime_type_guesser');
347
+ };
348
+
349
+ Note that this is already done for you if you use the :ref: `default services.yaml configuration <service-container-services-load-example >`
350
+ thanks to :ref: `autoconfigure <services-autoconfigure >`.
351
+
303
352
.. _`MIME` : https://en.wikipedia.org/wiki/MIME
304
353
.. _`MIME types` : https://en.wikipedia.org/wiki/Media_type
305
354
.. _`fileinfo extension` : https://www.php.net/fileinfo
0 commit comments