# Twig
- [Introduction](#)
- [Prerequisites](#)
- [Installation](#)
- [Basic API Usage](#)
- [Installation](#)
- [Installing the Twig PHP package](#)
- [Installing the C extension](#)
- [Twig for Template Designers](#)
- [Synopsis](#)
- [IDEs Integration](#)
- [Variables](#)
- [Filters](#)
- [Functions](#)
- [Named Arguments](#)
- [Control Structure](#)
- [Comments](#)
- [Including other Templates](#)
- [Template Inheritance](#)
- [HTML Escaping](#)
- [Escaping](#)
- [Macros](#)
- [Expressions](#)
- [Whitespace Control](#)
- [Extensions](#)
- [Twig for Developers](#)
- [Basics](#)
- [Environment Options](#)
- [Loaders](#)
- [Using Extensions](#)
- [Built-in Extensions](#)
- [Exceptions](#)
- [Extending Twig](#)
- [Globals](#)
- [Filters](#)
- [Functions](#)
- [Tests](#)
- [Tags](#)
- [Creating an Extension](#)
- [Overloading](#)
- [Testing an Extension](#)
- [Twig Internals](#)
- [How does Twig work?](#)
- [The Lexer](#)
- [The Parser](#)
- [The Compiler](#)
- [Deprecated Features](#)
- [Deprecation Notices](#)
- [Token Parsers](#)
- [Extensions](#)
- [PEAR](#)
- [Filters](#)
- [Functions](#)
- [Tests](#)
- [Tags](#)
- [Nodes](#)
- [Interfaces](#)
- [Loaders](#)
- [Node Visitors](#)
- [Globals](#)
- [Miscellaneous](#)
- [Recipes](#)
- [Displaying Deprecation Notices](#)
- [Making a Layout conditional](#)
- [Making an Include dynamic](#)
- [Overriding a Template that also extends itself](#)
- [Customizing the Syntax](#)
- [Using dynamic Object Properties](#)
- [Accessing the parent Context in Nested Loops](#)
- [Defining undefined Functions and Filters on the Fly](#)
- [Validating the Template Syntax](#)
- [Refreshing modified Templates when OPcache or APC is enabled](#)
- [Reusing a stateful Node Visitor](#)
- [Using a Database to store Templates](#)
- [Using different Template Sources](#)
- [Loading a Template from a String](#)
- [Coding Standards](#)
- [Tags](#)
- [`autoescape`](#)
- [`block`](#)
- [`do`](#)
- [`embed`](#)
- [`extends`](#)
- [`filter`](#)
- [`flush`](#)
- [`for`](#)
- [`from`](#)
- [`if`](#)
- [`import`](#)
- [`include`](#)
- [`macro`](#)
- [`sandbox`](#)
- [`set`](#)
- [`spaceless`](#)
- [`use`](#)
- [`verbatim`](#)
- [Filters](#)
- [`abs`](#)
- [`batch`](#)
- [`capitalize`](#)
- [`convert_encoding`](#)
- [`date`](#)
- [`date_modify`](#)
- [`default`](#)
- [`escape`](#)
- [`first`](#)
- [`format`](#)
- [`join`](#)
- [`json_encode`](#)
- [`keys`](#)
- [`last`](#)
- [`length`](#)
- [`lower`](#)
- [`merge`](#)
- [`nl2br`](#)
- [`number_format`](#)
- [`raw`](#)
- [`replace`](#)
- [`reverse`](#)
- [`round`](#)
- [`slice`](#)
- [`sort`](#)
- [`split`](#)
- [`striptags`](#)
- [`title`](#)
- [`trim`](#)
- [`upper`](#)
- [`url_encode`](#)
- [Functions](#)
- [`attribute`](#)
- [`block`](#)
- [`constant`](#)
- [`cycle`](#)
- [`date`](#)
- [`dump`](#)
- [`include`](#)
- [`max`](#)
- [`min`](#)
- [`parent`](#)
- [`random`](#)
- [`range`](#)
- [`source`](#)
- [`template_from_string`](#)
- [Tests](#)
- [`constant`](#)
- [`defined`](#)
- [`divisible by`](#)
- [`empty`](#)
- [`even`](#)
- [`iterable`](#)
- [`null`](#)
- [`odd`](#)
- [`same as`](#)
- Twig
- Introduction
- Installation
- Twig for Template Designers
- Twig for Developers
- Extending Twig
- Twig Internals
- Deprecated Features
- Recipes
- Coding Standards
- Tags
- autoescape
- block
- do
- embed
- extends
- filter
- flush
- for
- from
- if
- import
- include
- macro
- sandbox
- set
- spaceless
- use
- verbatim
- Filters
- abs
- batch
- capitalize
- convert_encoding
- date
- date_modify
- default
- escape
- first
- format
- join
- json_encode
- keys
- last
- length
- lower
- merge
- nl2br
- number_format
- raw
- replace
- reverse
- round
- slice
- sort
- split
- striptags
- title
- trim
- upper
- url_encode
- Functions
- attribute
- block
- constant
- cycle
- date
- dump
- include
- max
- min
- parent
- random
- range
- source
- template_from_string
- Tests
- constant
- defined
- divisible by
- empty
- even
- iterable
- null
- odd
- same as