Skip to content
Snippets Groups Projects
Format.php 2.59 KiB
Newer Older
  • Learn to ignore specific revisions
  • 
    use CodeIgniter\Config\BaseConfig;
    
    use CodeIgniter\Format\FormatterInterface;
    
    
    class Format extends BaseConfig
    {
    
        /**
         * --------------------------------------------------------------------------
         * Available Response Formats
         * --------------------------------------------------------------------------
         *
         * When you perform content negotiation with the request, these are the
         * available formats that your application supports. This is currently
         * only used with the API\ResponseTrait. A valid Formatter must exist
         * for the specified format.
         *
         * These formats are only checked when the data passed to the respond()
         * method is an array.
         *
         * @var string[]
         */
    
        public $supportedResponseFormats = [
            'application/json',
            'application/xml', // machine-readable XML
            'text/xml', // human-readable XML
        ];
    
        /**
         * --------------------------------------------------------------------------
         * Formatters
         * --------------------------------------------------------------------------
         *
         * Lists the class to use to format responses with of a particular type.
         * For each mime type, list the class that should be used. Formatters
         * can be retrieved through the getFormatter() method.
         *
         * @var array<string, string>
         */
    
            'application/json' => 'CodeIgniter\Format\JSONFormatter',
            'application/xml' => 'CodeIgniter\Format\XMLFormatter',
            'text/xml' => 'CodeIgniter\Format\XMLFormatter',
        ];
    
        /**
         * --------------------------------------------------------------------------
         * Formatters Options
         * --------------------------------------------------------------------------
         *
         * Additional Options to adjust default formatters behaviour.
         * For each mime type, list the additional options that should be used.
         *
         * @var array<string, int>
         */
        public $formatterOptions = [
            'application/json' => JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES,
            'application/xml' => 0,
            'text/xml' => 0,
    
        //--------------------------------------------------------------------
    
        /**
         * A Factory method to return the appropriate formatter for the given mime type.
         *
         * @param string $mime
         *
    
         * @return FormatterInterface
         *
         * @deprecated This is an alias of `\CodeIgniter\Format\Format::getFormatter`. Use that instead.
    
         */
        public function getFormatter(string $mime)
        {
    
            return Services::format()->getFormatter($mime);