Flextype allows you to configure your project in any way you can dream up, and it’s thanks to the powerful and flexible configuration options that make this possible.

All Flextype configuration files are written in YAML syntax with a .yaml file extension. YAML is very intuitive which makes it very easy to both read and write.

You can update and create project configuration by editing file project/config/settings.yaml

[icon name="file-text" set="bootstrap"] project/config/flextype/settings.yaml
# Set the timezone to be used on the project.
# For a list of valid timezone settings, see:
# http://php.net/manual/en/timezones.php
timezone: UTC

# Charset
#
# Set internal character encoding.
#
# Currently the following names are supported:
# http://php.net/manual/en/function.mb-regex-encoding.php#121645
charset: UTF-8

# The locale that'll be used by the Flextype.
#
# Available locales to use: src/flextype/locales.yaml
locale: en_US

# Application Base url
#
# Define application base url (without trailing slash)
base_url: ''

# Application Base Path
#
# Define application base path (without trailing and without starting slash) if application located in subdirectory
base_path: ''

# Valid date format
#
# Date format variants:
#
#   d-m-Y H:i" - 02-02-2020 09:41
#   Y-m-d H:i" - 2020-02-02 09:41
#   m/d/Y h:i a - 02/02/2020 09:41 pm
#   H:i d-m-Y - 09:41 02-02-2020
#   h:i a m/d/Y - 09:41 pm 02/02/2020
date_format: 'd-m-Y H:i'

# Valid date format to display
#
#   d-m-Y H:i" - 02-02-2020 09:41
#   Y-m-d H:i" - 2020-02-02 09:41
#   m/d/Y h:i a - 02/02/2020 09:41 pm
#   H:i d-m-Y - 09:41 02-02-2020
#   h:i a m/d/Y - 09:41 pm 02/02/2020
date_display_format: 'd-m-Y H:i'

# Display errors
#
# Please make sure to set false for error `display` in production!
#
# Displaying PHP errors on a public server can be a serious security risk:
#
# - Error messages are displayed with detailed information about the code structure (e.g. file path, class, method)
# - With Whoops enabled, there will be even more detailed information about the code structure
# - Detailed error messages for login failures could leak information to attackers
#
# In a production environment, always log errors to your PHP error logs.
errors:

  # Set true to display errors.
  display: false

  # Editor (emacs, idea, macvim, phpstorm, sublime, textmate, xdebug, vscode, atom, espresso)
  editor: atom

  # Error page title
  page_title: Error!

  # Handler (pretty, plain, json, xml)
  handler: pretty

# Entries
entries:
  directory: 'entries'
  cache:
    string: ""
  directives:
    expressions:
      enabled: true
      enabled_globally: true
      path: "src/flextype/core/Entries/Directives/ExpressionsDirective.php"
    shortcodes:
      enabled: true
      enabled_globally: true
      path: "src/flextype/core/Entries/Directives/ShortcodesDirective.php"
    markdown:
      enabled: true
      enabled_globally: false
      path: "src/flextype/core/Entries/Directives/MarkdownDirective.php"
    textile:
      enabled: true
      enabled_globally: false
      path: "src/flextype/core/Entries/Directives/TextileDirective.php"
    php:
      enabled: false
      enabled_globally: false
      path: "src/flextype/core/Entries/Directives/PhpDirective.php"
    types:
      enabled: true
      path: "src/flextype/core/Entries/Directives/TypesDirective.php"
  macros:
    debug: false
    php:
      enabled: false
      path: "src/flextype/core/Entries/Macros/PhpMacros.php"
    registry:
      enabled: true
      path: "src/flextype/core/Entries/Macros/RegistryMacros.php"
      get:
        enabled: true
    entries:
      enabled: true
      path: "src/flextype/core/Entries/Macros/EntriesMacros.php"
      fetch:
        enabled: true
        type: array
  collections:
    default:
      filename: entry
      extension: md
      serializer: frontmatter
      fields:
        slug:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/SlugField.php"
        published_at:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/PublishedAtField.php"
        published_by:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/PublishedByField.php"
        modified_at:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/ModifiedAtField.php"
        created_at:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/CreatedAtField.php"
        created_by:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/CreatedByField.php"
        routable:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/RoutableField.php"
        visibility:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/VisibilityField.php"
        uuid:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/UuidField.php"
        id:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/IdField.php"
    tokens:
      pattern: tokens
      filename: token
      extension: yaml
      serializer: yaml
      fields: 
        modified_at:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/ModifiedAtField.php"
        created_at:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/CreatedAtField.php"
        created_by:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/CreatedByField.php"
        uuid:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/UuidField.php"
        id:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/IdField.php"
    tokens_item:
      pattern: tokens/([a-zA-Z0-9_-]+)
      filename: token
      extension: yaml
      serializer: yaml
      fields: 
        modified_at:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/ModifiedAtField.php"
        created_at:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/CreatedAtField.php"
        created_by:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/CreatedByField.php"
        uuid:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Default/UuidField.php"
        id:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Tokens/Items/IdField.php"
        calls:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Tokens/Items/CallsField.php"
        limit_calls:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Tokens/Items/LimitCallsField.php"
        state:
          enabled: true
          path: "src/flextype/core/Entries/Fields/Tokens/Items/StateField.php"


# Cache
#
# - enabled:         Set to true to enable caching
#
# - prefix:          Cache prefix string (prevents cache conflicts)
#
# - driver:          Available drivers: auto (will get one from installed cache drivers), apcu,
#                    apc, array, wincache, xcache, memcache, memcached, redis, file.
#
# - drivers.files.path: The path where the written cache files belong to (system temp directory by default).
#
# - drivers.files.secure_file_manipulation: This option enforces a strict I/O manipulation policy by adding more integrity checks.
#                                           This option may slow down the write operations, therefore you must use it with caution.
#
# - drivers.files.htaccess: Option designed to (dis)allow the auto-generation of .htaccess.
#
# - drivers.files.security_key: A security key that define the subdirectory name. 'auto' value will be the HTTP_HOST value.
#
# - drivers.files.cache_file_extension: This allows you to setup a custom (but safe) cache file extension. ('txt|cache|db|pfc')
#
# - drivers.files.item_detailed_dates: This option will define if the Items will make use of detailed dates such as Creation/modification date.
#                                      Trying to access to these date without being explicitly enabled will throw a LogicException
#
# - drivers.files.auto_tmp_fallback: Option designed to automatically attempt to fallback to temporary directory if the cache fails to write on the specified directory.
#
# - drivers.files.default_ttl: This option define a default ttl (time-to-live, in seconds) for item that has no specified expiration date/ttl.
#
# - drivers.files.default_key_hash_function: This option will allow you to define a custom hash function for the $item->getEncodedKey() method.
#                                                  Callable objects are not allowed, but static method such as \Absolute\Namespace\ToStatic::method are allowed.
#
# - drivers.files.default_file_name_hash_function: This option will allow you to define a custom hash function for every I/O method that ends up to write an hashed filename on the disk.
#
# - drivers.files.default_chmod: This option will define the chmod used to write driver cache files.
#
# - drivers.files.limited_memory_by_object:
#
# - drivers.files.compress_data:
#
# - drivers.files.prevent_cache_slams: This option will allow you to prevent cache slams when making use of heavy cache items.
#
# - drivers.files.cache_slams_timeout: This option defines the cache slams timeout in seconds.
cache:
  enabled: true
  driver: auto
  drivers:
    apcu: {}
    cassandra:
      host: '127.0.0.1'
      port: 9042
      timeout: 2
      username: ''
      password: ''
      ssl_enabled: false
      ssl_verify: false
      default_ttl: 900
    couchdb:
      database: 'flextype'
      path: '/'
      host: '127.0.0.1'
      port: 8091
      username: ''
      password: ''
      bucket_name: default
      ssl: false
      timeout: 10
      default_ttl: 900
    devnull: {}
    phparray:
      path: '/data'
      security_key: 'auto'
      secure_file_manipulation: false
      default_ttl: 900
    files:
      path: '/data'
      security_key: 'auto'
      secure_file_manipulation: false
      cache_file_extension: txt
      default_ttl: 900
    leveldb:
      path: '/data'
      security_key: 'auto'
      default_ttl: 900
    memcache:
      host: '127.0.0.1'
      port: 11211
      sasl_user: ''
      sasl_password: ''
      path: ''
      compress_data: false
      servers: {}
      default_ttl: 900
    memcached:
      host: '127.0.0.1'
      port: 11211
      sasl_user: ''
      sasl_password: ''
      path: ''
      compress_data: false
      servers: {}
      default_ttl: 900
    memstatic: {}
    mongodb:
      host: '127.0.0.1'
      port: 27017
      username: ''
      password: ''
      timeout: 3
      servers: {}
      collection_name: 'Cache'
      default_ttl: 900
    predis:
      host: '127.0.0.1'
      port: 6379
      password: ''
      timeout: 5
      database: 0
      opt_prefix: ''
      persistent: false
      default_ttl: 900
    redis:
      host: '127.0.0.1'
      port: 6379
      password: ''
      timeout: 5
      database: 0
      opt_prefix: ''
      default_ttl: 900
    sqlite:
      path: '/data'
      security_key: auto
      default_ttl: 900
    ssdb:
      host: 127.0.0.1
      port: 8888
      password: ''
      timeout: 5
    wincache: {}
    xcache: {}
    zenddisk: {}
    zendshm: {}

# When true, Flextype will add a Content-Length header to
# the response. If you are using a runtime analytics tool,
# such as New Relic, then this should be disabled.
add_content_length_header: true

# If false, then no output buffering is enabled.
# If 'append' or 'prepend', then any echo or print statements
# are captured and are either appended or prepended to the Response
# returned from the route callable.
output_buffering: append

# Router
router:

  # Caching the FastRoute routes for better perfomance. 
  # Set to true to enable the FastRoute cache system.
  cache: 
    enabled: true
  
# Set to true to enable the Flextype CLI Application
cli: 
  enabled: true

# Set to true to enable the Flextype Application
app: 
  enabled: true

# View
view:
  extension: 'php'

# Slugify
slugify:

  # Set true to enable slugify.
  enabled: true

  # By default Slugify will use dashes as separators.
  # If you want to use a different default separator,
  # you can set the separator option.
  separator: "-"

  # By default Slugify will convert the slug to lowercase.
  # If you want to preserve the case of the string you can set the
  # lowercase option to false.
  lowercase: true

  # By default Slugify will remove leading and trailing separators before
  # returning the slug. If you do not want the slug to be trimmed you can
  # set the trim option to false.
  trim: true

  # You can also change the regular expression that is used to replace
  # characters with the separator.
  regexp: "/[^A-Za-z0-9]+/"

  # Lowercasing is done before using the regular expression.
  # If you want to keep the lowercasing behavior but your
  # regular expression needs to match uppercase letters,
  # you can set the lowercase_after_regexp option to true.
  lowercase_after_regexp: false

  # Adds in an option to go through strip_tags() in case the string contains HTML etc.
  strip_tags: false

# Serializers
#
# json.decode.cache: Cache result data or no. Default is true.
# json.decode.assoc: Decode assoc. When TRUE, returned objects will be converted into associative arrays.
# json.decode.depth: Decode Depth. Set the maximum depth. Must be greater than zero.
# json.decode.flags: Bitmask consisting of decode options.
# json.encode.options: Bitmask consisting of encode options
# json.encode.depth: Encode Depth. Set the maximum depth. Must be greater than zero.
#
# yaml.decode.cache: Cache result data or no. Default is true.
# yaml.decode.native: Use native php pecl parser or symfony parser.
# yaml.decode.flags: A bit field of DUMP_* constants to customize the dumped YAML string.
# yaml.encode.inline: The level where you switch to inline YAML.
# yaml.encode.indent: The amount of spaces to use for indentation of nested nodes.
# yaml.encode.flags: A bit field of DUMP_* constants to customize the dumped YAML string.
#
# frontmatter.decode.cache: Cache result data or no. Default is true.
# frontmatter.decode.header_serializer: Header serializer.
# frontmatter.encode.header_serializer: Header serializer.
#
# neon.decode.cache: Cache result data or no. Default is true.
# neon.encode.flags: The flag can be 1, which will create multiline output.
#
# phparray.decode.cache: Cache result data or no. Default is true.
serializers:
  json: 
    decode:
      cache: 
        enabled: true
        string: ""
      assoc: true
      depth: 512
      flags: 0
    encode: 
      options: 0
      depth: 512
  json5: 
    decode:
      cache: 
        enabled: true
        string: ""
      assoc: true
      depth: 512
      flags: 0
    encode: 
      options: 0
      depth: 512
  yaml:
    decode:
      cache: 
        enabled: true
        string: ""
      native: true
      flags: 0
    encode:    
      inline: 10
      indent: 2
      flags: 0
  frontmatter:
    decode:
      cache: 
        enabled: true
        string: ""
      cache_id_string: ""
      header:
        serializer: yaml
        allowed: ['yaml', 'json', 'json5', 'neon']
    encode:    
      header:
        serializer: yaml
        allowed: ['yaml', 'json', 'json5', 'neon']
  neon:
    decode:
      cache: 
        enabled: true
        string: ""
    encode:
      blockMode: false
      indentation: "\t"
  phparray:
    decode:
      cache: 
        enabled: true
        string: ""
    encode:
      wrap: true

# Parsers
#
# - markdown.cache:                                 Cache result data or no. Default is true.
#
# - markdown.commonmark.renderer.block_separator:   String to use for separating renderer block elements.
#
# - markdown.commonmark.renderer.inner_separator:   String to use for separating inner block contents.
#
# - markdown.commonmark.renderer.soft_break:        String to use for rendering soft breaks.
#
# - markdown.commonmark.commonmark.enable_em:       Disable <em> parsing by setting to false; enable with true (default: true)
#
# - markdown.commonmark.commonmark.enable_strong:   Disable <strong> parsing by setting to false; enable with true (default: true)
#
# - markdown.commonmark.commonmark.use_asterisk:    Disable parsing of * for emphasis by setting to false; enable with true (default: true)
#
# - markdown.commonmark.commonmark.use_underscore:  Disable parsing of _ for emphasis by setting to false; enable with true (default: true)
#
# - markdown.commonmark.commonmark.unordered_list_markers: Array of characters that can be used to indicate a bulleted list.
#
# - markdown.commonmark.html_input:                `strip` all HTML (equivalent to 'safe' => true). `allow` all HTML input as-is (default value; equivalent to `‘safe’ => false) `escape` Escape all HTML.
#
# - markdown.commonmark.allow_unsafe_links:         Remove risky link and image URLs by setting this to false (default: true).
#
# - markdown.commonmark.max_nesting_level:          The maximum nesting level for blocks (default: PHP_INT_MAX). Setting this to a positive integer can help protect against long parse times and/or segfaults if blocks are too deeply-nested.
#
# - markdown.commonmark.slug_normalizer.max_length: Limits the size of generated slugs (defaults to 255 characters)
parsers:
  markdown:
    cache: 
      enabled: true
      string: ""
    commonmark:
      renderer:
        block_separator: "\n"
        inner_separator: "\n"
        soft_break: "\n"
      commonmark:
        enable_em: true
        enable_strong: true
        use_asterisk: true
        use_underscore: true
        unordered_list_markers: ['-', '*', '+']
      html_input: 'allow'
      allow_unsafe_links: false
      max_nesting_level: 9223372036854775807
      slug_normalizer:
        max_length: 255
  textile:
    cache: 
      enabled: true
      string: ""
    restricted: false
    document_type: 'xhtml'
    document_root_directory: ''
    lite: false
    images: true
    link_relation_ship: ''
    raw_blocks: false
    block_tags: true
    line_wrap: true
    image_prefix: ''
    link_prefix: ''
    symbol: []
    dimensionless_images: true
  shortcodes:
    cache: 
      enabled: true
      string: ""
    cache_id_string: ""
    opening_tag: "("
    closing_tag: ")"
    closing_tag_marker: "/"
    parameter_value_separator: ":"
    parameter_value_delimiter: "'"
    shortcodes:
      entries:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/EntriesShortcode.php"
        fetch:
          enabled: true
      date:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/DateShortcode.php"
      php:
        enabled: false
        path: "src/flextype/core/Parsers/Shortcodes/PhpShortcode.php"
      raw:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/RawShortcode.php"
      textile:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/TextileShortcode.php"
      markdown:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/MarkdownShortcode.php"
      registry:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/RegistryShortcode.php"
        get:
          enabled: true
      url:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/UrlShortcode.php"
      strings:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/StringsShortcode.php"
      filesystem:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/FilesystemShortcode.php"
        get:
          enabled: true
      i18n:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/I18nShortcode.php"
      if:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/IfShortcode.php"
      when:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/WhenShortcode.php"
      unless:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/UnlessShortcode.php"
      uuid:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/UuidShortcode.php"
      const:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/ConstShortcode.php"
      var:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/VarShortcode.php"
      field:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/FieldShortcode.php"  
      fetch:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/FetchShortcode.php"
      calc:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/CalcShortcode.php"  
      eval:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/EvalShortcode.php" 
      type:
        enabled: true
        path: "src/flextype/core/Parsers/Shortcodes/TypeShortcode.php" 
  expressions:
    cache:
      enabled: true
      string: ''
    opening_variable_tag: "[["
    closing_variable_tag: "]]"
    opening_block_tag: "[%"
    closing_block_tag: "%]"
    opening_comment_tag: "[#"
    closing_comment_tag: "#]"
    expressions:
      math:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\MathExpression"
      date:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\DateExpression"
      actions:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\ActionsExpression"
      registry:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\RegistryExpression"
      entries:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\EntriesExpression"
        fetch:
          enabled: true
        has:
          enabled: true
        registry:
          enabled: true
        create:
          enabled: false
        move:
          enabled: false
        update:
          enabled: false
        delete:
          enabled: false
      fetch:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\FetchExpression"
      filesystem:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\FilesystemExpression"
      i18n:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\I18nExpression"
      serializers:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\SerializersExpression"
      parsers:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\ParsersExpression"
      slugify:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\SlugifyExpression"
      strings:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\StringsExpression"
      collection:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\CollectionExpression"
      csrf:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\CsrfExpression"
      var:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\VarExpression"
      field:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\FieldExpression"
      const:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\ConstExpression"
      url:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\UrlExpression"
      when:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\WhenExpression"
      unless:
        enabled: true
        class: "Flextype\\Parsers\\Expressions\\UnlessExpression"

# CORS
#
# CORS (Cross-origin resource sharing) allows JavaScript web apps to make HTTP requests to other domains.
# This is important for third party web apps using Flextype, as without CORS, a JavaScript app hosted on example.com
# couldn't access our APIs because they're hosted on another.com which is a different domain.
cors:

  # Set to true to enable cors
  enabled: true

  # The Access-Control-Allow-Origin response header indicates whether
  # the response can be shared with requesting code from the given origin.
  #
  # read more: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
  origin: "*"

  # The Access-Control-Allow-Headers response header is used in response
  # to a preflight request which includes the Access-Control-Request-Headers
  # to indicate which HTTP headers can be used during the actual request.
  #
  # read more: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers
  headers: ["X-Requested-With", "Content-Type", "Accept", "Origin", "Authorization"]
  
  # The Access-Control-Allow-Methods response header specifies the method
  # or methods allowed when accessing the resource in response to a preflight request.
  #
  # read more: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods
  methods: [GET, POST, PUT, DELETE, PATCH, OPTIONS]
  
  # The Access-Control-Expose-Headers response header indicates which headers
  # can be exposed as part of the response by listing their names.
  #
  # read more: https://developer.mozilla.org/ru/docs/Web/HTTP/Headers/Access-Control-Expose-Headers
  expose: []

  # The Access-Control-Allow-Credentials response header tells browsers whether
  # to expose the response to frontend JavaScript code when the request's credentials
  # mode (Request.credentials) is include.
  #
  # read more: https://developer.mozilla.org/ru/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials
  credentials: false

# Upload
upload:

  # Uploads directory
  directory: 'uploads'

  # Overwrite existing files.
  overwrite: true

  # Auto-confirm uploads.
  autoconfirm: false

  # Prefixing uploads.
  prefix: ''

  # Validation options
  validation:

    # Allowed file extensions.
    allowed_file_extensions: ['gif', 'jpg', 'jpeg', 'png', 'ico', 'webm', 'svg']

    # Maximum file size.
    max_file_size: '24M'

    # Image validation options
    image:
    
      # Image maxiumum and minimum width
      width:
        max: 4920
        min: 100

      # Image maxiumum and minimum height
      height: 
        max: 3264
        min: 100
    
      # Image ratio
      #ratio:
      #  The option can be a number (eg: 1.3) or a ratio-like string (eg: 4:3, 16:9).
      #  size: 1.3

      #  The option error_margin specifies how much the image is allowed to 
      #  deviate from the target ratio. Default value is 0.
      #  error_margin: 0

  # Process uploaded files
  process:

    # Images process settings
    image:

      # Image quality
      quality: 70
    
# Session
#
# Set session options before you start the session
# Standard PHP session configuration options
# https://secure.php.net/manual/en/session.configuration.php
session:

  # Session name
  name: Flextype

# Flextype Rest APIs
api:

  # Entries API
  entries:

    # Set to true to enable Entries API
    enabled: true

  # Registry API
  registry:

    # Set to true to enable Registry API
    enabled: true

  # Tokens API
  tokens:

    # Set to true to enable Tokens API
    enabled: true

  # Cache API
  cache:

    # Set to true to enable Cache API
    enabled: true

  # Query API
  query:

    # Set to true to enable Query API
    enabled: true

PHP constants

You may redefine all these constants in your root index.php file.

Name Description
ROOT_DIR Define the path to the root directory (without trailing slash).
PROJECT_NAME Define the project name.
PATH_PROJECT Define the PATH to the project (without trailing slash).
PATH_TMP Define the PATH to the tmp (without trailing slash).