Twig 3 Certification Test 6
Instructions
This test consists of 45 new questions about Twig 3. It covers various topics and has a time limit of 60 minutes. Choose the best answer for each question.
Questions
Basic Concepts
-
What is the purpose of the
|rawfilter in Twig?- A) To remove all HTML tags from a string
- B) To escape HTML characters
- C) To output unescaped HTML
- D) To convert a string to uppercase
-
How do you define a block in Twig?
- A)
{% block name %} - B)
{% define block name %} - C)
{% function name() %} - D)
{% template name() %}
- A)
-
What is the purpose of the
|formatfilter?- A) To format a string with placeholders
- B) To format a date
- C) To format a number
- D) To format a boolean
Filters
-
Which filter would you use to convert a string to uppercase?
- A)
upper - B)
uppercase - C)
toUpper - D)
upcase
- A)
-
What does the
|sortfilter do?- A) Sorts an array in ascending order
- B) Sorts a hash by keys
- C) Sorts a hash by values
- D) All of the above
-
How do you apply multiple filters to a variable using the alternative syntax?
- A)
{{ variable|filter1|filter2|filter3 }} - B)
{{ filter1(filter2(filter3(variable))) }} - C)
{{ variable|filter1(filter2(filter3)) }} - D)
{{ variable|filter1(variable|filter2(variable|filter3)) }}
- A)
Tests
-
What test can be used to check if a variable is a hash?
- A)
is_hash - B)
hash - C)
is iterable - D)
is defined
- A)
-
How do you combine multiple tests in a single condition using the alternative syntax?
- A)
{% if variable is defined and variable is not null %} - B)
{% if variable is defined or variable is not null %} - C)
{% if variable is defined & variable is not null %} - D)
{% if variable is defined | variable is not null %}
- A)
Control Structures
-
What is the correct syntax for a
forloop that iterates over a hash in Twig?- A)
{% for key, value in hash %} - B)
{% loop key, value in hash %} - C)
{% each key, value in hash %} - D) None of the above
- A)
-
How do you create an
if-elseif-elsestatement in Twig using theelseifkeyword?- A)
{% if condition1 %}{% elseif condition2 %}{% else %}{% endif %} - B)
{% if condition1 %}{% elif condition2 %}{% else %}{% endif %} - C)
{% if condition1 %}{% elseif condition2 %}{% elseif condition3 %}{% else %}{% endif %} - D) All of the above
- A)
Variables and Expressions
-
What is the output of
{{ variable is not defined ? 'No' : 'Yes' }}ifvariableis defined?- A)
No - B)
Yes - C)
Error - D)
null
- A)
-
How do you access a nested property of an object in Twig?
- A)
{{ object.property.subproperty }} - B)
{{ object->property->subproperty }} - C)
{{ object[property][subproperty] }} - D) All of the above
- A)
Functions
-
Which function is used to get the current timestamp in Twig?
- A)
date() - B)
now() - C)
time() - D)
timestamp()
- A)
-
What is the purpose of the
includefunction in Twig?- A) To include a template
- B) To embed a template
- C) To extend a template
- D) To import a template
Operators
-
What does the
starts withoperator do in Twig?- A) Checks if a string starts with a specific substring
- B) Checks if a hash starts with a specific key
- C) Checks if an array starts with a specific element
- D) None of the above
-
Which of the following is a valid logical operator in Twig?
- A)
and - B)
or - C)
not - D) All of the above
- A)
Template Re-use
-
What is the purpose of the
embedtag in Twig?- A) To include a template
- B) To define a base template
- C) To create a reusable template section
- D) To embed a template
-
How do you import macros from another template in Twig?
- A)
{% include 'template.twig' %} - B)
{% embed 'template.twig' %} - C)
{% import 'template.twig' as macros %} - D)
{% extend 'template.twig' %}
- A)
Mixed Questions
-
What is the output of
{{ 'Hello World'|replace({'Hello': 'Hi', 'World': 'Twig'}) }}if the input isHello World?- A)
Hello World - B)
Hi Twig - C)
Hello - D)
Hi
- A)
-
How do you create a conditional statement that checks if a variable is an object using the
isoperator?- A)
{% if variable is iterable %} - B)
{% if variable is object %} - C)
{% if variable is defined and variable is not null %} - D) All of the above
- A)
-
Which of the following is a valid way to define a macro with arguments in Twig?
- A)
{% macro name(arg1, arg2) %} - B)
{% define macro name(arg1, arg2) %} - C)
{% function name(arg1, arg2) %} - D)
{% template name(arg1, arg2) %}
- A)
-
What does the
|datefilter do with the'Y-m-d H:i:s'format?- A) Formats a date string in the
YYYY-MM-DD HH:mm:ssformat - B) Converts a string to a date object
- C) Returns the current date and time in the
YYYY-MM-DD HH:mm:ssformat - D) None of the above
- A) Formats a date string in the
-
How do you create a loop that iterates over a range of numbers with a custom step size in Twig using the
stepkeyword?- A)
{% for i in 1..10 step 2 %} - B)
{% for i from 1 to 10 step 2 %} - C)
{% for i in range(1, 10, 2) %} - D) All of the above
- A)
-
What is the purpose of the
|joinfilter in Twig?- A) To join two strings
- B) To join an array into a string
- C) To join two arrays
- D) To join two hashes
-
What does the
|slicefilter do with two arguments?- A) Extracts a substring from a specific starting index
- B) Returns a portion of an array starting from a specific index and with a specific length
- C) Both A and B
- D) None of the above
Advanced Questions
-
How do you check if a string matches a regular expression using the
matchestest in Twig?- A)
{% if 'string' matches '/pattern/' %} - B)
{% if 'string' matches 'pattern' %} - C)
{% if 'string' matches ['pattern'] %} - D)
{% if 'string' matches '/pattern/' ignorecase %}
- A)
-
What is the output of
{{ [1, 2, 3]|reverse }}?- A)
[1, 2, 3] - B)
[3, 2, 1] - C)
1, 2, 3 - D)
3, 2, 1
- A)
-
Which of the following is a valid way to create a nested block with a parent block name in Twig?
- A)
{% block outer %}{% block inner %}{% endblock %}{% endblock %} - B)
{% block outer %}{% endblock inner %} - C)
{% block outer %}{% block inner %}{% endblock inner %}{% endblock outer %} - D)
{% block outer %}{% block inner %}{% endblock outer %}{% endblock inner %}
- A)
-
How do you create a custom filter in Twig using the alternative syntax?
- A)
{{ 'string'|myfilter }} - B)
{{ myfilter('string') }} - C)
{{ 'string'|myfilter('arg') }} - D) Both A and C
- A)
-
What is the purpose of the
|defaultfilter?- A) To provide a default value if a variable is undefined
- B) To format a date
- C) To convert a string to lowercase
- D) To escape HTML
-
What is the output of
{{ 'Twig'|length }}?- A)
4 - B)
3 - C)
5 - D)
Error
- A)
-
How do you create a loop that iterates over a hash and preserves the keys using the
keyskeyword?- A)
{% for key, value in hash %} - B)
{% for value in hash %} - C)
{% for key => value in hash %} - D)
{% for key, value in hash with keys %}
- A)
-
What does the
|mergefilter do with arrays?- A) Merges two arrays into a single array
- B) Merges two hashes into a single hash
- C) Merges two strings into a single string
- D) None of the above
-
What is the purpose of the
|reversefilter?- A) To reverse a string
- B) To reverse an array
- C) To reverse a hash
- D) All of the above
-
How do you create a loop that iterates over a hash and preserves the keys as variables using the
keyskeyword?- A)
{% for key, value in hash %} - B)
{% for value in hash %} - C)
{% for key => value in hash %} - D)
{% for key, value in hash with keys %}
- A)
-
What is the output of
{{ 'Hello World'|slice(6, 5) }}?- A)
Hello - B)
World - C)
Hello World - D)
Error
- A)
-
How do you create a conditional statement that checks if a variable is a number using the
isoperator?- A)
{% if variable is number %} - B)
{% if variable is defined and variable is not null %} - C)
{% if variable is iterable %} - D)
{% if variable is divisible by(1) %}
- A)
-
What is the purpose of the
|batchfilter?- A) Batches an array into smaller arrays
- B) Batches a hash into smaller hashes
- C) Batches a string into smaller strings
- D) Batches a number into smaller numbers
-
How do you create a loop that iterates over an array in reverse order using the
|reversefilter?- A)
{% for item in array|reverse %} - B)
{% for item in reverse(array) %} - C)
{% for item in array|sort('desc') %} - D) Both A and B
- A)
-
What does the
|absfilter do?- A) Returns the absolute value of a number
- B) Formats a date
- C) Formats a number
- D) Formats a boolean
-
What is the output of
{{ 10 % 3 }}?- A)
3 - B)
1 - C)
0 - D)
Error
- A)
-
What is the purpose of the
|lastfilter?- A) To get the last element of an array
- B) To get the last character of a string
- C) To get the last key of a hash
- D) All of the above
-
How do you create a loop that iterates over an array and skips every second element using the
|batchfilter with a step size?- A)
{% for item in array|slice(2) %} - B)
{% for item in array|batch(2, true) %} - C)
{% for item in array|slice(0, 2) %} - D)
{% for item in array|slice(1, 2) %}
- A)
-
What is the purpose of the
|datefilter with the'U'format?- A) Formats a date string in the Unix timestamp format
- B) Converts a string to a date object
- C) Returns the current date and time in the Unix timestamp format
- D) None of the above
-
What is the output of
{{ 'twig'|capitalize }}?- A)
Twig - B)
TWIG - C)
twig - D)
Error
- A)
Answers
Basic Concepts
- C) To output unescaped HTML
- A)
{% block name %} - A) To format a string with placeholders
Filters
- A)
upper - D) All of the above
- A)
{{ variable|filter1|filter2|filter3 }}
Tests
- C)
is iterable - A)
{% if variable is defined and variable is not null %}
Control Structures
- A)
{% for key, value in hash %} - D) All of the above
Variables and Expressions
- B)
Yes - D) All of the above
Functions
- B)
now() - A) To include a template
Operators
- A) Checks if a string starts with a specific substring
- D) All of the above
Template Re-use
- D) To embed a template
- C)
{% import 'template.twig' as macros %}
Mixed Questions
- B)
Hi Twig - D) All of the above
- A)
{% macro name(arg1, arg2) %} - A) Formats a date string in the
YYYY-MM-DD HH:mm:ssformat - D) All of the above
- B) To join an array into a string
- C) Both A and B
Advanced Questions
- A)
{% if 'string' matches '/pattern/' %} - B)
[3, 2, 1] - A)
{% block outer %}{% block inner %}{% endblock %}{% endblock %} - D) Both A and C
- A) To provide a default value if a variable is undefined
- A)
4 - D)
{% for key, value in hash with keys %} - A) Merges two arrays into a single array
- B) To reverse an array
- A)
{% for key, value in hash %} - B)
World - A)
{% if variable is number %} - A) Batches an array into smaller arrays
- A)
{% for item in array|reverse %} - A) Returns the absolute value of a number
- B)
1 - D) All of the above
- B)
{% for item in array|batch(2, true) %} - A) Formats a date string in the Unix timestamp format
- A)
Twig
Feel free to review your answers and see how well you understand Twig 3!