Edición de «Preguntas Frecuentes»
De KumbiaPHP Framework Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 1: | Línea 1: | ||
==¿Por qué no suben simultáneamente los cambios a Launchpad y SourceForge?== | ==¿Por qué no suben simultáneamente los cambios a Launchpad y SourceForge?== | ||
− | |||
Primero [https://launchpad.net/kumbia Launchpad] es básicamente para el [[Team_Development_KumbiaPHP_Framework| Equipo de Desarrollo]], aunque puede existir usuarios que deseen bajar de allí, en launchpad/kumbiaphp podemos decir que esta la versión más inestable aunque nosotros (el equipo de desarrollo) tenemos aplicaciones en production y el framework es probado con esas aplicaciones. Recordemos que launchpad trabaja con [http://doc.bazaar-vcs.org/ Bazaar] para el control de versiones que no es lo mismo a [http://es.wikipedia.org/wiki/Subversion SVN]. | Primero [https://launchpad.net/kumbia Launchpad] es básicamente para el [[Team_Development_KumbiaPHP_Framework| Equipo de Desarrollo]], aunque puede existir usuarios que deseen bajar de allí, en launchpad/kumbiaphp podemos decir que esta la versión más inestable aunque nosotros (el equipo de desarrollo) tenemos aplicaciones en production y el framework es probado con esas aplicaciones. Recordemos que launchpad trabaja con [http://doc.bazaar-vcs.org/ Bazaar] para el control de versiones que no es lo mismo a [http://es.wikipedia.org/wiki/Subversion SVN]. | ||
Segunda opción es el [http://kumbia.svn.sourceforge.net/viewvc/kumbia/ SVN público de kumbiaphp] donde tenemos la [[Descargar_SVN|Descarga de Kumbiaphp]], allí pasamos lo mas estable, es decir luego que el [[Team_Development_KumbiaPHP_Framework| Equipo de Desarrollo]] realiza pruebas en aplicaciones que estan en production se hace el update del SVN de SourceForge. | Segunda opción es el [http://kumbia.svn.sourceforge.net/viewvc/kumbia/ SVN público de kumbiaphp] donde tenemos la [[Descargar_SVN|Descarga de Kumbiaphp]], allí pasamos lo mas estable, es decir luego que el [[Team_Development_KumbiaPHP_Framework| Equipo de Desarrollo]] realiza pruebas en aplicaciones que estan en production se hace el update del SVN de SourceForge. | ||
− | |||
− | |||
− | |||
==¿Cuál es la convención para nombrar los archivos y clases de modelos y controladores?== | ==¿Cuál es la convención para nombrar los archivos y clases de modelos y controladores?== | ||
*Para nombre de controladores es la siguiente: | *Para nombre de controladores es la siguiente: | ||
− | El archivo debe llevar el sufijo '''_controller''' por ejemplo '''ciudad_controller.php''' y el nombre de la clase es '''CiudadController''' en notación [http://es.wikipedia.org/wiki/Camel_Case Camel Case], si queremos nombrar controller que contienen mas de dos palabras un ejemplo seria '''grupo_usuario_controller.php''' y la clase '''GrupoUsuarioController'''. | + | El archivo debe llevar el sufijo '''_controller''' por ejemplo '''ciudad_controller.php''' y el nombre de la clase es '''CiudadController''' se puede notar que el nombre de la clase se hace en notación [http://es.wikipedia.org/wiki/Camel_Case Camel Case], si queremos nombrar controller que contienen mas de dos palabras un ejemplo seria '''grupo_usuario_controller.php''' y la clase '''GrupoUsuarioController'''. |
*Para los Modelos es la siguiente: | *Para los Modelos es la siguiente: | ||
− | El nombre de archivo debe ser igual al nombre de la tabla en | + | El nombre de archivo debe ser igual al nombre de la tabla en nuestra BD, es decir si tenemos una tabla llamada '''usuarios''' el archivo debe llamarse usuarios.php y la clase Usuarios y esta clase debe [http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos#Conceptos_fundamentales heredar] de la superclase '''ActiveRecord''', si tenemos nombre de tablas compuesto por dos palabras ejemplo grupo_usuarios el archivo del modelo debe llamarse grupo_usuarios.php y la clase igual que en los controladores debe ser en notacion [http://es.wikipedia.org/wiki/Camel_Case Camel Case], es decir '''GrupoUsuario''' |
− | ==¿Cuál es la diferencia entre | + | ==¿Cuál es la diferencia entre route_to() y render($view)?== |
− | + | primero hay que aclarar que el '''route_to()''' es un método para enrutar, es decir para redireccionar internamente en el framework llevar de un controller y/o action a otro controller y/o action, mientras que el método '''render($view)''' como bien dice su nombre es para renderizar (mostrar) una vista, esta vista siempre será por defecto el nombre de nuestra action, pero en ocasiones podemos indicar que no queremos renderizar la vista asociada a esa action '''$this->render('otra_view')''' o que simplemente no renderize nada '''$this->render(null);''' (importante para entender el ejemplo). | |
− | Veamos un ejemplo para apreciar no solo la diferencia porque | + | Veamos un ejemplo para apreciar no solo la diferencia porque es realidad son métodos para cosas distintas aunque pueden cumplir el mismo fin, solo que la intención es aplicar las mejores prácticas de desarrollo. |
Ejemplo, tenemos el siguiente controller | Ejemplo, tenemos el siguiente controller | ||
− | < | + | <pre> |
<?php | <?php | ||
− | class PruebaController extends ApplicationController | + | class PruebaController extends ApplicationController{ |
− | { | ||
− | public function index() | + | public function index(){ |
− | + | Router::route_to('action: create'); | |
− | |||
} | } | ||
public function create() | public function create() | ||
{} | {} | ||
} | } | ||
− | + | </pre> | |
− | </ | ||
En primer lugar hay que decir que aunque esto pueda cumplir un fin especifico (renderizar una vista, en este caso create.phtml), '''no es la forma correcta'''. la forma adecuada es la siguiente: | En primer lugar hay que decir que aunque esto pueda cumplir un fin especifico (renderizar una vista, en este caso create.phtml), '''no es la forma correcta'''. la forma adecuada es la siguiente: | ||
− | < | + | <pre> |
<?php | <?php | ||
class PruebaController extends ApplicationController{ | class PruebaController extends ApplicationController{ | ||
public function index(){ | public function index(){ | ||
− | + | $this->render('create'); | |
} | } | ||
} | } | ||
− | + | </pre> | |
− | </ | ||
Esto se interpreta que cuando ejecutemos la action index del controller Prueba (http://localhost/prueba/index/) no se renderizara '''index.phtml''' sino '''create.phtml''' y como se puede apreciar quitamos un método que esta vació (consumimos menos memoria) y será más rápido porque no se volverá a ejecutar un ciclo de enrutamiento innecesario. | Esto se interpreta que cuando ejecutemos la action index del controller Prueba (http://localhost/prueba/index/) no se renderizara '''index.phtml''' sino '''create.phtml''' y como se puede apreciar quitamos un método que esta vació (consumimos menos memoria) y será más rápido porque no se volverá a ejecutar un ciclo de enrutamiento innecesario. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |