Generar entidades a partir de base de datos con Doctrine 2
Doctrine es el ORM más poderoso que tenemos en PHP y Symfony lo usa para todo lo que tiene que ver con interacciones con la base de datos. Seguro que se puede dar el caso en el que necesitamos generar todas las entidades a partir de una base de datos ya existente. Esto es muy cómodo porque podemos hacer nuestra base de datos en SQL o con cualquier programa...
Recoger variables GET y POST en Symfony2
Veamos un ejemplo simple de como recoger los valores que nos llegan desde GET y POST en Symfony2. Simplemente tendremos que hacer uso de HttpFundation para acceder a diversas variables superglobales entre ellas GET y POST. Ejemplo: <?php namespace Ejemplos\PruebasBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Response; //Usar request http fundation use Symfony\Component\HttpFoundation\Request; class PruebasController extends Controller { public function indexAction(Request $request){ //Recoger GET $var=$request->query->get("page"); var_dump("GET:".$var); //Recoger POST $var=$request->request->get("page"); var_dump("POST:".$var); die(); }...
Redirecciones en Symfony2
Las redirecciones en Symfony2 son muy sencillas, están disponibles en los controladores. Dentro de una acción del controlador: //Nos redirigirá a la ruta cuyo nombre sea index return $this->redirect($this->generateURL('index')); //Nos redigirá a index?hola haya ruta o no return $this->redirect("index?hola"); ¿Quieres más? Vídeo Curso de Symfony3 ¡Domina el framework PHP más...
Rutas en Symfony2
El sistema de rutas es algo muy importante dentro de un Framework. Veamos como se definen rutas en Symfony2. Se pueden definir rutas globales y rutas dentro de un bundle. En nuestro caso modificaremos el fichero Src/Ejemplos/PruebasBundle/Resources/config/routing.yml ejemplos_pruebas_homepage: path: /hello/{name} defaults: { _controller: EjemplosPruebasBundle:Default:index } Para la acción index, le digo que la ruta va a ser /index y que va a utilizar el método Action del controlador Pruebas...
Instalar Doctrine 2 en Zend Framework 2
Doctrine es un ORM que nos permite abstraernos totalmente de la base de datos y trabajar directamente con objetos de forma más rápida y optima. Veamos como instalar Doctrine 2 en Zend Framework 2. El ORM que instalaremos contará con menos opciones de consola que las que tiene en Symfony pero al fin y al cabo el código funcionará de forma similar. Tendremos que tener instalado ZF2 y además...
Crear controladores en Symfony2
Para crear controladores en Symfony2 tendremos que irnos al directorio Controllers de nuestro Bundle. Pongo un ejemplo a continuación. Crearé el fichero Src/Ejemplos/PruebasBundle/Controller/PruebasController.php <?php //Le decimos el namespace namespace Ejemplos\PruebasBundle\Controller; //Le decimos que esto es un controlador use Symfony\Bundle\FrameworkBundle\Controller\Controller; //El nombre de la clase siempre debe ser el mismo que el del fichero y extendemos a la clase Controller class PruebasController extends Controller { //Creamos métodos action . Acciones...
Crear bundles en Symfony2
Los bundles en Symfony2 son módulos o paquetes que nos permiten dividir nuestra aplicación en varias partes reutilizables. De forma que si tenemos una tienda online que además tiene un foro y un blog, podríamos tener un bundle para la tienda, otro para el foro y otro para el blog dentro del mismo proyecto de Symfony. Crear más o menos bundles depende de cada uno. En Symfony2 toda nuestra...
Instalar Symfony2
Veamos como instalar Symfony2 en Wamp, el proceso en Linux es más sencillo. En primer lugar debemos tener instalado: Un servidor de aplicaciones web en mi caso tengo Wamp en Windows. Debemos añadir al path la ruta del ejecutable de PHP. Composer para descargar y gestionar las dependencias del Framework. En su instalación solamente hay que indicarle la ruta del ejecutable de PHP y lo demás siguiente siguiente. GIT,...
Empezar con LESS rápido
No nos engañemos LESS no hace magia, si no sabes CSS de poco te servirá LESS, por eso es importante que te manejes bien con CSS antes de empezar con LESS. Aquí veremos los conceptos más básicos para empezar con LESS rápido. Supongo que ya tienes instalado LESS y si no puedes ver como se hace aquí. Variables LESS incorpora la posibilidad de utilizar variables en nuestros CSS cosa...
Instalar LESS en Windows
Como sabemos LESS es un preprocesador CSS que «extiende» este lenguaje de hojas de estilo y lo dota de características propias de un lenguaje de programación convencional, lo cual es sumamente interesante. Hoy veremos como instalar LESS en Windows para comenzar a trabajar con el. En primer lugar instalaremos node.js en nuestro sistema. Una vez que lo tengamos instalado abriremos la consola de comandos de node e instalaremos el...
Subir ficheros en Yii Framework
Veamos como subir ficheros en Yii framework. El controlador: public function actionIndex(){ $form=new UsuariosForm(); if(isset($_FILES["UsuariosForm"])){ //Instanciamos el subidor para el campo fichero del formulario $file=CUploadedFile::getInstance($form,"fichero"); //Nombre del fichero $name=time()."-".$file->getName(); //$file->getExtensionName() //Permitimos tres tipos de fichero if($file->getExtensionName()=="png" || $file->getExtensionName()=="pdf" || $file->getExtensionName()=="zip"){ //Guardamos el fichero $file->saveAs(Yii::getPathOfAlias("webroot")."/uploads/".$name); }else{ //Crear mensaje flash Yii::app()->user->setFlash('mensaje','Solo ficheros png, pdf o zip'); //Refrescamos pantalla $this->refresh(); } } $this->render('index',array( "form"=>$form )); } La vista: <h1>Subir ficheros con Yii</h1>...
Paginación en Yii Framework
Vamos a ver como paginar registros con Yii esta es una herramienta muy importante dentro de un Framework. La paginación en Yii puede hacerse de dos formas, que veremos a continuación. Paginación con CdbCriteria De esta forma se nos obliga a utilizar Active Record y sus métodos find para hacer las consultas, para hacer paginaciones de forma rápida y de una sola tabla seria una buena opción. El controlador:...