Question 1
Question
What functions can you call on an instance of \Symfony\Component\ClassLoader\ClassLoader, apart from the register() function?
Answer
-
$loader->addPrefix('Twig_', __DIR__.'/vendor/twig/twig/lib');
-
$loader->setUseIncludePath(true);
-
$loader->addPrefixes(array(
'Symfony' => __DIR__.'/../vendor/symfony/symfony/src',
'Monolog' => __DIR__.'/../vendor/monolog/monolog/src',
));
-
$loader->mapClass(Twig_', __DIR__.'/vendor/twig/twig/lib');
Question 2
Question
What classes allow you to cache the mapping from a class to its containing file?
Answer
-
ApcClassLoader
-
AppClassLoader
-
XDebugClassLoader
-
XcacheClassLoader
Question 3
Question
How can you instantiate an ApcClassLoader?
Answer
-
new ApcClassLoader($loader, sha1(__FILE__));
-
new ApcClassLoader($loader);
-
new ApcClassLoader(sha1(__FILE__), $loader);
-
new ApcClassLoader('../app/cache', $loader);
Question 4
Question
Two class loaders can co-exist in the application?
Question 5
Question
How many classes does the class loader component have?
Answer
-
Less than 10
-
About 20
-
More than 40
Question 6
Question
you can define a new file loader in Symfony, if the new loader class :
Answer
-
is registered in yml as a service with the config.file_loader tag
-
is registered with the DelagatingLoader
-
implements the LoaderInterface
-
extends the abstract FileLoader class
Question 7
Question
You should merge all your configuration files into one and use it as cache.
Question 8
Question
What class in the Config Component helps you manage and check if the generate cache file containing all the configuration is valid and if not regenerate it?
Answer
-
CacheConfig
-
ConfigurationCache
-
ConfigLoaderCache
-
ConfigCache
Question 9
Question
In the context of a TreeBuilder, which of the following are valid node types?
Answer
-
string
-
scalar
-
array
-
enum
-
serviceId
-
integer
-
boolean
-
float
-
parameter
-
variable
Question 10
Question
Which of the following are valid ways to define a scalar node type? (to replace .... below)
$treeBuilder
->children()
.....
->end();
Answer
-
->node('name', 'scalar')
-
->scalarNode('name')
-
->addScalarNode('name')
-
->nodeName('scalar')