Skip to content

Commit

Permalink
Improving spanish documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
lorenzo committed Jan 1, 2012
1 parent f52a40a commit 8562f3b
Show file tree
Hide file tree
Showing 15 changed files with 316 additions and 119 deletions.
2 changes: 1 addition & 1 deletion es/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = ../build
PYTHON = python
LANG = en
LANG = es

# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
Expand Down
Binary file added es/_static/img/basic_mvc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added es/_static/img/code-coverage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added es/_static/img/typical-cake-request.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions es/cakephp-overview.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Introducción a CakePHP
######################

Bienvenido al Cookbook, el manual web del framework CakePHP
hace que el desarrollo de aplicaciones sea pan comido.

Este manual asume que tienes una comprensión general de PHP
y un conocimiento básico de programación orientada a objetos (POO).
Las diferentes funcionalidades que este framework posee hace uso de
teconolgías como SQL, JavaScript y XML y este manual no trata de
explicarlas, sino sólo la forma en que se utilizados en su contexto.

.. toctree::
:maxdepth: 1

cakephp-overview/what-is-cakephp-why-use-it
cakephp-overview/understanding-model-view-controller
cakephp-overview/where-to-get-help
106 changes: 106 additions & 0 deletions es/cakephp-overview/understanding-model-view-controller.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
Entendiendo el Modelo - Vista - Controlador
###########################################

CakePHP sigue el patrón diseño de software llamado
`MVC <http://en.wikipedia.org/wiki/Model-view-controller>`_.
Programar usando MVC separa tu aplicacion en tres partes principalmente:

La capa del Modelo
==================

El modelo representa la parte de la aplicación que
implementa la lógica de negocio. esto significa que es responsable
del la recuperación de datos, convirtiéndolo en conceptos significativos para la
aplicación, así como su procesamiento, validación, asociación y cualquier
otra tarea relativa a la manipulación de dichos datos.

A primera vista, los objetos del modelo puede ser considerados como la primera capa
de la interacción con cualquier base de datos que podría estar utilizando tu aplicación.
Pero, en general, representan los principales conceptos en torno a los cuales se
desea implementar un programa.

En el caso de una red social, la capa de modelo se haría cargo de
tareas tales como guardar datos del usuario, el amacenamiento de asociaciones
con amigos, el almacenamiento y la recuperación de fotos de los usuarios,
encontrar sugerencias de nuevos amigos, etc. Mientras que los objectos del modelo
pueden ser considerados como "Amigo", "Usuario", "Comentario" y "Foto".

La capa de la Vista
===================

La vista hace una presentación de los datos del modelo. Estando separada de
los objetos del modelo, es responsable del uso de la información de la cual dispone
para producir cualquier interfaz de presentación de cualquier petición que se presente.

Por ejemplo, como la capa de modelo devuelve un conjunto de datos, la vista los usaría
para hacer una página HTML que los contenga. O un resultado con formato XML para que otras
aplicaciones puedan consumir.

La capa de la Vista no se limita únicamente a HTML o texto que represente los datos,
sino que puede ser utilizada para ofrecer una amplia variedad de formatos en función
de sus necesidades, tales como videos, música, documentos y cualquier otro formato
que puedas imaginar.

La capa del Controlador
=======================

La capa del controlador gestiona las peticiones de los usuarios. Es responsable
de responder la información solicitada con la ayuda tanto del modelo como de
la vista.

Los controladores pueden ser vistos como administradores, cuidando de que todos
los recursos necesarios para completar una tarea se deleguen a los trabajadores
más adecuados. Espera peticiones de los clientes, comprueba su validez de acuerdo
a las normas de autenticación o autorización, delega la busqueda de datos al modelo,
y selecciona la tipo de respuesta más adecuado según las preferencias del cliente,
finalmente, delega este proceso de presentación a la capa de la Vista.

El ciclo de una petición en CakePHP
===================================

|Figure 1|
Figure: 1: Una petición MVC típica

Figure: 1 muestra el manejo de una petición típica a una aplicación CakePHP.

El ciclo de una petición típica en CakePHP comienza cuando un usuario solicita
una página o un recurso de tu aplicación. Esta solicitud es procesada por un
despachador que selecciona el controlador correcto para manejarlo.

Una vez que la solicitud llega al controlador, este se comunicará con la capa del Modelo
para cualquier proceso de captación de datos o el guardado de de los mismos según se requira..
Una vez que finaliza esta comunicación, el controlador procederá a delegar en el
objeto de vista correcto la tarea de generar una presentación resultante de los datos
proporcionada por el modelo.

Finalmente, cuando esta presentación se genera, se envía de inmediato al usuario.

Casi todas las solicitudes para la aplicación van a seguir este patrón básico.
Vamos a añadir algunos detalles más adelante que son específicos a
CakePHP, así que mantén esto en mente a medida que avancemos.

Beneficios
==========

¿Por qué utilizar MVC? Debido a que es un patrón de diseño de software
verdaderamente probado que convierte una aplicación en un paquete modular
fácil de mantener, y mejora la rapidez del desarrollo. La separación de las tareas
de tu aplicacion en modelos, vistas y controladores hace que su aplicación sea
además muy ligeras de entender. Las nuevas características se añaden fácilmente,
y agregar cosas nuevas a código viejo se hace muy sencillo. El diseño modular
también permite a los desarrolladores y los diseñadores trabajar simultáneamente,
incluyendo la capacidad de hacer
`prototipos rápidos <http://en.wikipedia.org/wiki/Software_prototyping>`_.

La separación también permite a los desarrolladores hacer cambios en una parte del
la aplicación sin afectar a los demás.

Si nunca has creado una aplicación de esta forma, se necesita algún tiempo
para acostumbrarse, pero estamos seguros que una vez que hayas terminado tu
primera aplicación con CakePHP, no vas a querer hacerlo de cualquier otra
manera.

Para iniciarte con tu primera aplicación en CakePHP
:doc:`haz este tutorial ahora </tutorials-and-examples/blog/blog>`

.. |Figure 1| image:: /_static/img/basic_mvc.png
44 changes: 44 additions & 0 deletions es/cakephp-overview/what-is-cakephp-why-use-it.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
¿Qué es CakePHP? y ¿Por qué usarlo?
###################################

`CakePHP <http://www.cakephp.org/>`_ es un `famework <http://en.wikipedia.org/wiki/Application_framework>`_
`libre <http://en.wikipedia.org/wiki/MIT_License>`_,
`de código abierto <http://en.wikipedia.org/wiki/Open_source>`_,
`para el desarrollo rápido de aplicaciones <http://en.wikipedia.org/wiki/Rapid_application_development>`_
para `PHP <http://www.php.net/>`_. Es una estructura fundamental para la
ayudar a los programadores a crear aplicaciones web. Nuestro objetivo principal es
permitirte trabajar de forma estructurada y rápida y sin pérdida de
flexibilidad.

CakePHP pone tu disposición todas las herramientas que necesita para empezar
a programar lo que realmente hay que hacer: la lógica específica de tu aplicación.
En lugar de reinventar la rueda cada vez que te sientas a hacer un nuevo proyecto,
obten una copia de CakePHP y empieza con el verdadero corazón de tu aplicación.

CakePHP tiene un
`equido de desarollo ativo <http://cakephp.lighthouseapp.com/contributors>`_
y una comunidad muy viva, lo que le da un gran valor al proyecto. Además de
no tener que reinventar la rueda, usar CakePHP significa que el
núcleo de la aplicación estará bien probado y está siendo constantemente
mejorado.

He aquí una lista rápida de las características que disfrutarás al utilizar CakePHP:

- `Comunidad amigable <http://cakephp.org/feeds>`_
- `Licencia flexible <http://en.wikipedia.org/wiki/MIT_License>`_
- Compatible con las versiones de PHP 5.2.6 y superiores.
- Contiene `CRUD <http://en.wikipedia.org/wiki/Create,_read,_update_and_delete>`_ para la interacción de la base de datos.
- `Andamiaje de código <http://en.wikipedia.org/wiki/Scaffold_(programming)>`_.
- Generación automática de código.
- `Arquitectura MVC <http://en.wikipedia.org/wiki/Model-view-controller>`_
- URLs personalizadas
- Función de `Validación <http://en.wikipedia.org/wiki/Data_validation>`_.
- `Plantillas rápidas y flexibles <http://en.wikipedia.org/wiki/Web_template_system>`_
(La sintaxis de PHP, con ayudantes).
- Ayudantes para AJAX, JavaScript, formularios HTML y más.
- Componentes de Email, Cookie, Seguridad, Sesión y otros.
- `ACL <http://en.wikipedia.org/wiki/Access_control_list>`_ flexible.
- Sanitización de Datos.
- Poderoso `Caché <http://en.wikipedia.org/wiki/Web_cache>`_.
- Localización e Internacionalización.
- Funciona desde cualquier directorio de sitios web, con poca o ninguna configuración adicional.
81 changes: 81 additions & 0 deletions es/cakephp-overview/where-to-get-help.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
Dónde encontrar ayuda
#####################

EL sitio oficial de CakePHP
===========================

`http://www.cakephp.org <http://www.cakephp.org>`_

EL sitio oficial de CakePHP siempre es un buen lugar para visitar.
Contiene enlaces a herramientas comunmente usadas, videos, oportunidades
para donar al proyecto y descargas útiles.

El manual
=========

`http://book.cakephp.org <http://book.cakephp.org>`_

Este manual debe ser probablemente el primer lugar al que acudir para obtener
respuestas. Al igual que con muchos otros proyectos de código abierto, tenemos gente nueva
con regularidad. Haz tu mejor esfuerzo para responder tus propias preguntas por
cuenta propia en primer lugar, esto te ayudará a entender los conceptos más
rápidamente y a nosotros a mejorar la documentación.

The Bakery
==========

`http://bakery.cakephp.org <http://bakery.cakephp.org>`_

`The Bakery` Es el sitio oficial para publicar todo lo relacionado a CakePHP,
desde tutoriales, nuevos plugins, actualizaciones a CakePHP hasta casos de
estudio de usuarios del framework.

El API
======

`http://api20.cakephp.org/ <http://api20.cakephp.org/>`_

Directo al grano y directamente de los desarrolladores principales, el
API (Application Programming Interface) de CakePHP es el más
una amplia documentación en torno a todos los detalles del funcionamiento interno
del framework. Si quieres los detalles de cada función, los parámetros, y ver
cómo las clases se complementan entre sí, este es el lugar para buscar.


Las pruebas unitarias
=====================

Si alguna vez sientes la información proporcionada en la API no es
suficiente, echa un vistazo al código de las pruebas unitarias de
CakePHP. Pueden servir como ejemplos prácticos para la utilización y
los datos parametros de cada clase.::

lib/Cake/Test/Case

El canal IRC
============

**Canales IRC oficiales en irc.freenode.net:**


- `#cakephp <irc://irc.freenode.net/cakephp>`_ -- Discusión general en Inglés
- `#cakephp-es <irc://irc.freenode.net/cakephp-es>`_ -- Discusión general en Español

Si no tienes ni idea, nos peagas un grito en el canal de IRC de CakePHP.
Alguien del equipo de desarrollo está alli generalmente, sobre todo
durante las horas del día de los usuarios del norte y América del Sur. Nos
encantaría saber de ti, si necesitas ayuda, quieres encontrar
los usuarios en tu área, o si deseas donarnos un nuevo coche.

El grupo de Google
==================

En Español:
`http://groups.google.com/group/cakephp-esp <http://groups.google.com/group/cakephp-esp>`_

En Inglés:
`http://groups.google.com/group/cake-php <http://groups.google.com/group/cake-php>`_

CakePHP tiene también un Grupo de Google muy activo. Puede ser un gran
recurso para encontrar las respuestas archivadas, preguntas frecuentes,
y obtener respuestas a los problemas inmediatos.
10 changes: 7 additions & 3 deletions es/contents.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,21 @@ Contents
########

.. toctree::
:maxdepth: 3

index
deployment
installation
getting-started
cakephp-overview
tutorials-and-examples

.. todolist::


Indices and tables
==================
Índices y Tablas
================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
* :doc:`/appendices/glossary`
28 changes: 0 additions & 28 deletions es/getting-started/a-typical-cakephp-request.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,31 +49,3 @@ Negro = elemento requerido, Gris = elemento opcional, Azul = retorno (callback)
#. Callback adicionales pueden ejecutarse ahora (como afterFilter) en el
controlador. La vista, ya generada por completo, se envía al navegador de
Ricardo, que puede realizar su crítica compra de Pastel Personalizado.
The Router parses the URL in order to extract the parameters for
this request: the controller, action, and any other arguments that
will affect the business logic during this request.
#. Using routes, a request URL is mapped to a controller action (a
method in a specific controller class). In this case, it’s the
buy() method of the CakesController. The controller’s
beforeFilter() callback is called before any controller action
logic is executed.
#. The controller may use models to gain access to the
application’s data. In this example, the controller uses a model to
fetch Ricardo’s last purchases from the database. Any applicable
model callbacks, behaviors, and DataSources may apply during this
operation. While model usage is not required, all CakePHP
controllers initially require at least one model.
#. After the model has retrieved the data, it is returned to the
controller. Model callbacks may apply.
#. The controller may use components to further refine the data or
perform other operations (session manipulation, authentication, or
sending emails, for example).
#. Once the controller has used models and components to prepare
the data sufficiently, that data is handed to the view using the
controller’s set() method. Controller callbacks may be applied
before the data is sent. The view logic is performed, which may
include the use of elements and/or helpers. By default, the view is
rendered inside of a layout.
#. Additional controller callbacks (like afterFilter) may be
applied. The complete, rendered view code is sent to Ricardo’s
browser.
9 changes: 4 additions & 5 deletions es/getting-started/cakephp-conventions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,7 @@ cualquiera de estas formas
todos ellos resolverían al método index del controlador RedApples. De todos
la convención es que esa url sea minúscula y subrayada, de este modo

- /red\_apples/go\_pick sería la url correcta para acceder a
``RedApplesController::go_pick``
- /red\_apples/go\_pick sería la url correcta para acceder a ``RedApplesController::go_pick``

Para más información sobre URLs y parámetros en CakePHP, consulta
:ref:`routes-configuration`.
Expand Down Expand Up @@ -121,7 +120,7 @@ saltar esta convención en cualquier momento y escribir plurales más adecuados
al español.

Puedes también usar la clase de utilidad :php:class:`Inflector` para comprobar
el singular y plural de las palabras. Consulta la documentación aquí
el singular y plural de las palabras. Consulta la documentación aquí
:doc:`/core-utility-libraries/inflector`.

Los nombres de los campos con más de una palabra se escriben en minúscula y
Expand Down Expand Up @@ -161,7 +160,7 @@ En vez de utilizar una clave con autoincremento como clave primaria, recuerda
que también puedes usar una clave char(36). Cuando CakePHP ve que has
definido así tu clave primaria, gestionará esta clave añadiendo un UUID
(String::uuid) que es un código único que identificará a cada registro, cada
vez que realices un Model::save en ese modelo.
vez que realices un Model::save en ese modelo.

Convenciones en la vistas
=========================
Expand Down Expand Up @@ -194,5 +193,5 @@ ninguna otra forma que creando los nombres correctos y los ficheros que tienes
que crear de todos modos para que tu aplicación funcione.

Ahora ya sabes los fundamentos y cómo utilizar las convenciones de CakePHP,
te recomendamos que le eches un vistazo a :doc:`/tutorials-and-examples/blog/blog`
te recomendamos que le eches un vistazo al :doc:`tutorial para hacer un blog</tutorials-and-examples/blog/blog>`
para ver cómo encajan estas piezas en una aplicación completa.
2 changes: 1 addition & 1 deletion es/getting-started/cakephp-folder-structure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Locale
internacionalización de tu proyecto.
Model
Contiene los modelos de tu aplicación, comportamientos (behaviors) y
fuentes de datos (datasources).
fuentes de datos (datasources).
Plugins
Contiene los plugins, increíble ¿ verdad ?
tmp
Expand Down
Loading

0 comments on commit 8562f3b

Please sign in to comment.