<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id$ -->
<chapter id="basic_concepts">
<title>Conceptos Básicos</title>
<section>
<title>Introducción</title>
<para>
Este capítulo es una introducción corta, ocasional MVC a los conceptos pues se ponen en ejecución en torta. Si eres nuevo MVC a los patrones (del regulador modelo
de la visión), este capítulo está definitivamente para ti. Comenzamos con una discusión de los conceptos del general MVC, trabajamos nuestra manera en el uso
específico de MVC en CakePHP, y demostramos algunos ejemplos simples de CakePHP usando el patrón MVC.</para>
<section >
<title>El patrón MVC</title>
<para>
El Modelo-Vista-Regulador es un patrón del diseño del software que las ayudas tú lógicamente separan tu código, lo hacen más reutilizable, conservable, y lo
mejoran generalmente. El regulador modelo de la visión primero fue descrito por la cuadrilla del grupo del autor de cuatro. Decano Helman escribió (un extracto del
favorable papel blanco de la caja de herramientas objetiva):</para>
<para>
  <blockquote>
    <para>El paradigma MVC es una manera de romper un uso, o aún apenas un pedazo del interfaz de un uso, en tres porciones: el modelo, la visión, y el regulador.
      MVC fue desarrollado originalmente para traz la entrada tradicional, procesando, papeles de la salida en el reino del GUI.</para>

    <para>La entrada - > procesando - > hizo salir</para>

     <para>Regulador - > modelo - > visión</para>

     <para>La entrada del usuario, el modelar del mundo externo, y la regeneración visual al usuario son separados y manejados por el modelo, el puerto de la
       visión y los objetos del regulador. El regulador interpreta entradas del ratón y de teclado del usuario y traz estas acciones del usuario en los comandos
       que se envían al puerto del modelo y/o de la visión para efectuar el cambio apropiado. El modelo maneja unos o más elementos de datos, responde a las
       preguntas sobre su estado, y responde a las instrucciones de cambiar el estado. El puerto de la visión maneja un área rectangular de la exhibición y es
       responsable de presentar datos al usuario con una combinación de gráficos y del texto.</para></blockquote>
 </para>

 <para>En términos de la torta, el modelo representa una tabla/un expediente particulares de la base de datos, y es relaciones a otras tablas y expedientes. Los
   modelos también contienen las reglas de la validación de datos, se aplican que cuando se insertan o se ponen al día los datos modelo. La visión representa los
   archivos de la opinión de la torta, que son archivos regulares del HTML encajados con código de PHP. Peticiones de las manijas del regulador de la torta del
   servidor. Toma la entrada del usuario (los datos del URL y del POSTE), aplica lógica del negocio, utiliza modelos para leer y para escribir datos a y desde
   bases de datos y otras fuentes, y pasado, envía datos de la salida al archivo apropiado de la visión.</para>

 <para>Para hacerlo tan fácil como sea posible organizar tu uso, la torta utiliza este patrón no sólo para manejar cómo los objetos obran recíprocamente dentro de
   tu uso, pero también cómo se almacenan los archivos, que se detalla después.</para>
 </section>
 <section><title>Descripción de la disposición de archivo de la torta</title>

   <para>Cuando desempaquetas la torta en tu servidor encontrarás tres carpetas principales -
    <programinglisting>
      app
      cake
      vendors
    </programinglisting>
    </para>
    <para>La carpeta <filename>cake</filename> es donde las bibliotecas de la base para la torta puesta y ti no necesitarán generalmente siempre tocarla.</para>

    <para>La carpeta <filename>app</filename> es donde irán tus carpetas y archivos específicos del uso. La separación entre la carpeta de la torta y la carpeta
      del app permite para que tengas muchas carpetas del app el compartir de un solo sistema de bibliotecas de la torta. Esto también hace fácil poner al día
      CakePHP: transferencia directa justa la versión más última de la torta y sobreescribes tus bibliotecas actuales de la base. Ninguna necesidad de preocuparse
      de sobreescribir algo que escribiste para tu app.</para>

    <para>Puedes utilizar el directorio <filename>vendors</filename> para guardar las bibliotecas de tercera persona pulg. Aprenderás más sobre vendedores más
      adelante, pero la idea básica es que puedes tener acceso a clases que has puesto en el directorio de los vendedores usando la función
      <function>vendor()</fucntion> de Cake.
      <para>Miremos la disposición de archivo entera:</para>
      <programlisting>
	/app 
	    /config - contiene los archivos de los config para tu base de datos, ACL, etc. 

	    /controllers - los reguladores va aquí 
		/components - componentes va aquí 
		
	    /index.php - permite que despliegues la torta con /app mientras que va va va va el DocumentRoot 
	    
	    /models - modelos va aquí 
	    
	    /plugins - los Plugins aquí 
	    
	    /tmp - usado para los escondrijos y los registros 
	    
	    /vendors - contiene los libaries de tercera persona para este uso 
	    
	    /views - opiniónes va aquí 
		/elements - los elementos, pequeños pedacitos de opiniónes, aquí 
		/errors - tus páginas del error del costumbre va aquí 
		/helpers - los ayudantes aquí 
		/layouts - archivos de la disposición del uso va aquí 
		/pages - las visiónes estáticas aquí 
	    
	    /webroot - el DocumentRoot para el uso 
	        /css 
		/files 
		/img 
		/js 
		
	    /cake - apelmazó bibliotecas de la base. No corregir ninguna archivos aquí. 
	    
	    index.php 
	    
	    /vendors - usado para las bibliotecas de tercera persona servidor-anchas. 
	    
	    VERSION.txt - tú sepamos qué versión de la torta estás utilizando.
    </programinglist>
  </section>
</chapter>

