Acme is a sample company name used in Symfony demos and documentation.
It’s used as a namespace where you would normally use your own company’s
name (e.g. Acme\BlogBundle).
Action
An action is a PHP function or method that executes, for example,
when a given route is matched. The term action is synonymous with
controller, though a controller may also refer to an entire PHP
class that includes several actions.
Application
An Application is a directory containing the configuration for a
given set of Bundles.
Asset
An asset is any non-executable, static component of a web application,
including CSS, JavaScript, images and video. Assets may be placed
directly in the project’s web directory, or published from a Bundle
to the web directory using the assets:install console task.
Bundle
A Bundle is a directory containing a set of files (PHP files,
stylesheets, JavaScripts, images, …) that implement a single
feature (a blog, a forum, etc). In Symfony2, (almost) everything
lives inside a bundle.
Controller
A controller is a PHP function that houses all the logic necessary
to return a Response object that represents a particular page.
Typically, a route is mapped to a controller, which then uses information
from the request to process information, perform actions, and ultimately
construct and return a Response object.
Distribution
A Distribution is a package made of the Symfony2 Components, a
selection of bundles, a sensible directory structure, a default
configuration, and an optional configuration system.
Environment
An environment is a string (e.g. prod or dev) that corresponds
to a specific set of configuration. The same application can be run
on the same machine using different configuration by running the application
in different environments. This is useful as it allows a single application
to have a dev environment built for debugging and a prod environment
that’s optimized for speed.
Firewall
In Symfony2, a Firewall doesn’t have to do with networking. Instead,
it defines the authentication mechanisms (i.e. it handles the process
of determining the identity of your users), either for the whole
application or for just a part of it.
Front Controller
A Front Controller is a short PHP script that lives in the web directory
of your project. Typically, all requests are handled by executing
the same front controller, whose job is to bootstrap the Symfony
application.
HTTP Specification
The Http Specification is a document that describes the Hypertext
Transfer Protocol - a set of rules laying out the classic client-server
request-response communication. The specification defines the format
used for a request and response as well as the possible HTTP headers
that each may have. For more information, read the Http Wikipedia
article or the HTTP 1.1 RFC.
Kernel
The Kernel is the core of Symfony2. The Kernel object handles HTTP
requests using all the bundles and libraries registered to it.
Project
A Project is a directory composed of an Application, a set of
bundles, vendor libraries, an autoloader, and web front controller
scripts.
Service
A Service is a generic term for any PHP object that performs a
specific task. A service is usually used “globally”, such as a database
connection object or an object that delivers email messages. In Symfony2,
services are often configured and retrieved from the service container.
An application that has many decoupled services is said to follow
a service-oriented architecture.
Service Container
A Service Container, also known as a Dependency Injection Container,
is a special object that manages the instantiation of services inside
an application. Instead of creating services directly, the developer
trains the service container (via configuration) on how to create
the services. The service container takes care of lazily instantiating
and injecting dependent services.
Vendor
A vendor is a supplier of PHP libraries and bundles including Symfony2
itself. Despite the usual commercial connotations of the word, vendors
in Symfony often (even usually) include free software. Any library you
add to your Symfony2 project should go in the vendor directory.
Yaml
YAML is a recursive acronym for “YAML Ain’t a Markup Language”. It’s a
lightweight, humane data serialization language used extensively in
Symfony2’s configuration files.