Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit fde2cfe

Browse filesBrowse files
committed
Que mas profe aqui le envio lo que hice, hice la traduccion de todo
el capitulo de bundles.
1 parent 6321807 commit fde2cfe
Copy full SHA for fde2cfe

File tree

Expand file treeCollapse file tree

1 file changed

+108
-99
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+108
-99
lines changed

‎book/bundles.rst

Copy file name to clipboardExpand all lines: book/bundles.rst
+108-99Lines changed: 108 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33

44
Bundles
55
=======
6-
7-
A bundle is a directory that has a well-defined structure and can host anything
8-
from classes to controllers and web resources. Even if bundles are very
9-
flexible, you should follow some best practices if you want to distribute them.
6+
Un bundle es un directorio con una estructura definida que contiene desde
7+
clases hasta controladores y recursos de red. Aunque los bundles son
8+
muy flexibles, se recomienda siempre usar métodos (no se a que practicas se refieren)
9+
para distribuirlos de una forma mas efectiva.
1010

1111
.. index::
1212
pair: Bundles; Naming Conventions
@@ -15,24 +15,24 @@ flexible, you should follow some best practices if you want to distribute them.
1515

1616
Bundle Name
1717
-----------
18+
Un bundle es también un PHP namespace. El namespace debe tener todos
19+
los requerimientos de compatibilidad de los namespaces y el nombre
20+
de las clases, con respecto a la versión PHP 5.3. Esto significa
21+
que el bundle debe empezar con un segmento del vendor, seguido de un 0
22+
o de segmentos de otras categorías, y debe terminar con el shortname
23+
del namespace, que debe terminar con la palabra Bundle.
1824

19-
A bundle is also a PHP namespace. The namespace must follow the technical
20-
interoperability `standards`_ for PHP 5.3 namespaces and class names: it
21-
starts with a vendor segment, followed by zero or more category segments, and
22-
it ends with the namespace short name, which must end with a ``Bundle``
23-
suffix.
2425

25-
A namespace becomes a bundle as soon as you add a bundle class to it. The
26-
bundle class name must follow these simple rules:
26+
Un namespace se vuelve un bundle tan pronto se añade una clase al bundle.
27+
La clase que se crea debe seguir las siguientes reglas:
2728

28-
* Use only alphanumeric characters and underscores;
29-
* Use a CamelCased name;
30-
* Use a descriptive and short name (no more than 2 words);
31-
* Prefix the name with the concatenation of the vendor (and optionally the
32-
category namespaces);
33-
* Suffix the name with ``Bundle``.
29+
* Use únicamente caracteres alfanuméricos y underscores;
30+
* La primera letra de cada palabra debe empezar con mayúscula;
31+
* Usar un nombre que tenga máximo dos palabras y sirva para su descripción;
32+
* El nombre debe empezar con el nombre del vendor y puede tener seguido al vendor las categorías de los namespaces.
33+
* El nombre debe terminar con la palabra ``Bundle``.
3434

35-
Here are some valid bundle namespaces and class names:
35+
Un ejemplo de algunos nombres validos de namesapces y de las clases:
3636

3737
+-----------------------------------+--------------------------+
3838
| Namespace | Bundle Class Name |
@@ -44,26 +44,25 @@ Here are some valid bundle namespaces and class names:
4444
| ``Acme\BlogBundle`` | ``AcmeBlogBundle`` |
4545
+-----------------------------------+--------------------------+
4646

47-
By convention, the ``getName()`` method of the bundle class should return the
48-
class name.
47+
Por convención, el método ``getName()`` de la clase del bundle debe retornar el
48+
nombre de la clase.
4949

5050
.. note::
5151

52-
If you share your bundle publicly, you must use the bundle class name as
53-
the name of the repository (``AcmeBlogBundle`` and not ``BlogBundle``
54-
for instance).
52+
Si usted comparte su bundle, usted debe usar el mismo nombre
53+
del repositorio con el nombre de la clase de su bundle.
54+
(por ejemplo ``AcmeBlogBundle`` y no ``BlogBundle``).
5555

5656
.. note::
5757

58-
Symfony2 core Bundles do not prefix the Bundle class with ``Symfony``
59-
and always add a ``Bundle`` subnamespace; for example:
58+
Los bundles de Symfony2 por defecto no añaden el prefijo ``Symfony``
59+
al nombre de la clase y siempre agregan un ``Bundle`` subnamesapce: por ejemplo:
6060
:class:`Symfony\\Bundle\\FrameworkBundle\\FrameworkBundle`.
6161

6262
Directory Structure
6363
-------------------
6464

65-
The basic directory structure of a ``HelloBundle`` bundle must read as
66-
follows:
65+
La estructura básica de un ``HelloBundle`` debe ser de la siguiente forma:
6766

6867
.. code-block:: text
6968
@@ -82,29 +81,32 @@ follows:
8281
public/
8382
Tests/
8483
85-
The ``XXX`` directory(ies) reflects the namespace structure of the bundle.
84+
El directorio ``XXX`` hace referencia al nombre del namespace del bundle.
8685

87-
The following files are mandatory:
86+
Estos archivos se deben crear obligatoriamente:
8887

8988
* ``HelloBundle.php``;
90-
* ``Resources/meta/LICENSE``: The full license for the code;
91-
* ``Resources/doc/index.rst``: The root file for the Bundle documentation.
89+
* ``Resources/meta/LICENSE``: Toda la licencia de nuestro código;
90+
* ``Resources/doc/index.rst``: Este archivo contiene la documentación de nuestro Bundle.
91+
9292

9393
.. note::
9494

95-
These conventions ensure that automated tools can rely on this default
96-
structure to work.
95+
Esto nos permite que diferentes herramientas puedan identificar
96+
esta estructura para trabajar con ella.
9797

98-
The depth of sub-directories should be kept to the minimal for most used
99-
classes and files (2 levels at a maximum). More levels can be defined for
100-
non-strategic, less-used files.
98+
La máxima cantidad de sub-directorios para almacenar nuestras clases y
99+
archivos que mas usamos debe ser de 2 niveles, y si se usan mas
100+
niveles se recomienda guardar allí los archivos menos usados y
101+
nuestras clases que no sean fundamentales para la aplicación.
101102

102-
The bundle directory is read-only. If you need to write temporary files, store
103-
them under the ``cache/`` or ``log/`` directory of the host application. Tools
104-
can generate files in the bundle directory structure, but only if the generated
105-
files are going to be part of the repository.
103+
El directorio del bundle es de solo escritura. Si necesita escribir
104+
archivos temporales, archívelas en la ``cache/`` o el ``log/`` del
105+
directorio principal de la aplicación. Hay herramientas que crean
106+
archivos en el directorio del bundle, pero solo si dichos archivos
107+
van a hacer parte del repositorio.
106108

107-
The following classes and files have specific emplacements:
109+
Las siguientes clases y archivos se deben ubicar en los siguientes directorios:
108110

109111
+---------------------------+-----------------------------+
110112
| Type | Directory |
@@ -127,103 +129,110 @@ The following classes and files have specific emplacements:
127129
Classes
128130
-------
129131

130-
The bundle directory structure is used as the namespace hierarchy. For
131-
instance, a ``HelloController`` controller is stored in
132-
``Bundle/HelloBundle/Controller/HelloController.php`` and the fully qualified
133-
class name is ``Bundle\HelloBundle\Controller\HelloController``.
132+
La estructura del directorio del bundle es usada con la jerarquía del namespace.
133+
Por ejemplo el ``HelloController`` es almacenado en
134+
``Bunlde/HelloBundle/Controller/HelloController.php`` y el
135+
nombre completo de la clase es ``Bundle\HelloBundle\Controller\``.
134136

135-
All classes and files must follow the Symfony2 coding :doc:`standards
136-
</contributing/code/standards>`.
137+
Todas las clases y archivos deben se codificados con los :doc:`standards</contributing/code/standards>`
138+
de Symfony2.
137139

138-
Some classes should be seen as facades and should be as short as possible, like
139-
Commands, Helpers, Listeners, and Controllers.
140+
Algunas clases deben ser fachadas (facades no se como traducir esto) y
141+
deben ser lo mas cortas posible, como Commands, Helpers, Listeners, y Controllers.
140142

141-
Classes that connects to the Event Dispatcher should be suffixed with
142-
``Listener``.
143+
Las clases que se usan para conectar con el Event Dispatcher deben terminar con
144+
el sufijo ``Listener``.
143145

144-
Exceptions classes should be stored in an ``Exception`` sub-namespace.
146+
Las clases que sirven para usar excepciones deben almacenarse en
147+
el sub-namespace ``Exception``.
145148

146149
Vendors
147150
-------
148151

149-
A bundle must not embed third-party PHP libraries. It should rely on the
150-
standard Symfony2 autoloading instead.
152+
Un bundle no debe contener librerías PHP de terceros. Deben redireccionar al standard
153+
de auto carga usado por Symfony2.
151154

152-
A bundle should not embed third-party libraries written in JavaScript, CSS, or
153-
any other language.
155+
Un bundle no debe contener librerías de terceros escritas en
156+
JavaScript, CSS, u otro lenguaje.
154157

155158
Tests
156159
-----
157160

158-
A bundle should come with a test suite written with PHPUnit and stored under
159-
the ``Tests/`` directory. Tests should follow the following principles:
161+
Un bundle debe tener un paquete de prueba escrito con PHPUnit y
162+
se debe almacenar en el directorio ``Tests/``.
163+
Estos test deben seguir los siguientes principios:
164+
165+
* El paquete de pruebas debe poder ejecutarse desde cualquier aplicación
166+
con un comando simple de ``phpunit``;
167+
* Las pruebas funcionales deben ser para probar la respuesta de
168+
salida e información de perfiles si usted posee;
169+
* La cobertura del código de prueba deber ser del 95% con respecto
170+
a nuestro código.
160171

161-
* The test suite must be executable with a simple ``phpunit`` command run from
162-
a sample application;
163-
* The functional tests should only be used to test the response output and
164-
some profiling information if you have some;
165-
* The code coverage should at least covers 95% of the code base.
166172

167173
.. note::
168-
A test suite must not contain ``AllTests.php`` scripts, but must rely on the
169-
existence of a ``phpunit.xml.dist`` file.
174+
El paquete de pruebas no debe contener los scripts de
175+
``AllTests.php``, si no que debe redireccionar al archivo ``phpunit.xml.dist``.
170176

171177
Documentation
172178
-------------
173179

174-
All classes and functions must come with full PHPDoc.
180+
Todas las clases y funciones deben tener completamente su PHPDoc.
181+
182+
Si llega haber documentación mas extensiva debe
183+
estar en el formato de :doc:`reStructuredText
184+
</contributing/documentation/format>`, y debe almacenarse en el
185+
directorio ``Resources/doc/``; ``Resources/doc/index.rst``
186+
Este archivo es obligatorio.
175187

176-
Extensive documentation should also be provided in the :doc:`reStructuredText
177-
</contributing/documentation/format>` format, under the ``Resources/doc/``
178-
directory; the ``Resources/doc/index.rst`` file is the only mandatory file.
179188

180189
Controllers
181190
-----------
182191

183-
As a best practice, controllers in a bundle that's meant to be distributed
184-
to others must not extend the
185-
:class:`Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller` base class.
186-
They can implement
187-
:class:`Symfony\\Component\\DependencyInjection\\ContainerAwareInterface` or
188-
extend :class:`Symfony\\Component\\DependencyInjection\\ContainerAware`
189-
instead.
192+
Como buena practica, un controller en un bundle es usado p
193+
ara ser distribuido hacia otros controllers pero no debe extender la clase
194+
base de :class:`Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller`.
195+
Los controller pueden implementar :class:`Symfony\\Component\\DependencyInjection\\ContainerAwareInterface`
196+
o extender de :class:`Symfony\\Component\\DependencyInjection\\ContainerAware`.
190197

191198
.. note::
192199

193-
If you have a look at
194-
:class:`Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller` methods,
195-
you will see that they are only nice shortcuts to ease the learning curve.
200+
Los métodos de :class:`Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller`
201+
son simplemente atajos para facilitar la curva de aprendizaje.
196202

197203
Templates
198204
---------
199205

200-
If a bundle provides templates, they must use Twig. A bundle must not provide
201-
a main layout, except if it provides a full working application.
206+
Si un bundle usa templates, estos deben usar Twig. Un bundle no
207+
debe usar un layout principal, a menos que este proporcione una aplicación
208+
de trabajo completa.
202209

203210
Translation Files
204211
-----------------
205212

206-
If a bundle provides message translations, they must be defined in the XLIFF
207-
format; the domain should be named after the bundle name (``bundle.hello``).
213+
Si un bundle contiene mensajes con traducción, estos deben ser
214+
definidos con el formato XLIFF; El domino debe ser nombrado después
215+
del nombre del bundle. (``bundle.hello``).
208216

209-
A bundle must not override existing messages from another bundle.
217+
Un bundle no debe sobrescribir mensajes existentes de otro bundle.
210218

211219
Configuration
212220
-------------
213221

214-
To provide more flexibility, a bundle can provide configurable settings by
215-
using the Symfony2 built-in mechanisms.
222+
Para permitir mas flexibilidad, un bundle debe proveer una
223+
configuración que se pueda configurar mediante los métodos incluidos en Symfony2.
216224

217-
For simple configuration settings, rely on the default ``parameters`` entry of
218-
the Symfony2 configuration. Symfony2 parameters are simple key/value pairs; a
219-
value being any valid PHP value. Each parameter name should start with a
220-
lower-cased short version of the bundle name using underscores (``acme_hello``
221-
for ``AcmeHelloBundle``, or ``acme_social_blog`` for ``Acme\Social\BlogBundle``
222-
for instance), though this is just a best-practice suggestion. The rest of
223-
the parameter name will use a period (``.``) to separate different parts
224-
(e.g. ``acme_hello.email.from``).
225+
Para una configuración simple, use los ``parameters`` por defecto que se usan en
226+
la configuración de Symfony2. Los parámetros de Symfony2 son simplemente pares
227+
de key/value; un value es un valor valido de PHP. El nombre del parámetro debe
228+
empezar con el nombre en minuscula del nombre del bundle usando
229+
underscores (``acme_hello`` para ``AcmeHelloBundle``, o ``acme_social_blog``
230+
para ``Acme\Social\BlogBundle`` por ejemplo), aunque esta es una sugerencia
231+
para realizar una buena practica. El resto de los parámetros
232+
deben usar un punto (``.``) para separar sus diferentes
233+
partes (e.g. ``acme_hello.email.from``).
225234

226-
The end user can provide values in any configuration file:
235+
El usuario final debe proveer valores en cualquier archivo de configuración:
227236

228237
.. configuration-block::
229238

@@ -250,14 +259,14 @@ The end user can provide values in any configuration file:
250259
[parameters]
251260
acme_hello.email.from = fabien@example.com
252261
253-
Retrieve the configuration parameters in your code from the container::
262+
Obtén los parámetros de la configuración desde el container con el código::
254263

255264
$container->getParameter('acme_hello.email.from');
256265

257-
Even if this mechanism is simple enough, you are highly encouraged to use the
258-
semantic configuration described in the cookbook.
266+
Inclusive si este mecanismo es bastante simple, se recomienda
267+
altamente usar la configuración semántica descrita en el cookbook.
259268

260-
Learn more from the Cookbook
269+
Aprende mas desde el Cookbook
261270
----------------------------
262271

263272
* :doc:`/cookbook/bundles/extension`

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.