Pues si, hace un tiempo buscando un buen framework para PHP encontre DooPHP, es super rapido, ya que al ejecutar una aplicación solo carga lo que es necesario.
Es facil utilizar, aunque por ahora no tenga tanta documentacion, hay un foro donde te dan ayuda.
Miren la gran diferencia que marca en cuanto a la rapidez frenta a CakePHP, Zend Framework, Code Igniter…
Para las vistas, se puede utilizar el lenguaje tipo {smarty} (con el cual no simpatiso) o php, el cual recomiendo ya que la aplicacion sera mas rapida.
Seguramente desean forzar las descargas de archivos como por ejemplo las imagenes, los archivos mp3, o algunos formatos de archivos de video. Ya que el navegador por defecto lo abre o lo muestra, pero y nosotros queremos que le aparesca un cuadro de dialogo de descarga.
En esta ocasión te presento un generador de codigo para el framework CakePHP, se llama Atlas CakePhp, es muy util ya que puedes generar el codigo para tu aplicación de manera visual, tiene estas caracteristicas:
Generar modelos, vistas, controladores, y codigo internacionalizable. [...]
[Solo tenemos que] seleccionar la tabla y el resto del trabajo es facil con los controladores, modelos y vistas. Usted también puede relacionar tablas y también seleccionar otro tipo de campos.
Asi es, para iniciar la creacion de un proyecto web, necesitamos haber creado una base de datos, siguiendo las especificaciones de cakephp, despues agregamos una configuración en Atlas, y creamos un proyecto, al crear el proyecto se crearan los archivos necesarios para nuestra aplicación, luego creamos los modelos, relacionamos con otras tablas si es necesario; despues crear los controladores y las vistas.
Sin duda esta aplicación nos ayuda mucho y ahorra tiempo en la creación de proyectos CakePHP, especialmente a los desarrolladores web que utilizan el framework CakePHP, Atlas es una alternativa al bake que trae cakephp, el bake funciona en lineas de comandos.
Este script es muy bueno para poder parsear codigo html, de manera simple y sencilla, por ejemplo, podemos obtener todos los atributos, propiedades de los tags de html.
Unos ejemplos sencillos:
1 2 3 4 5 6 7 8 9 10
// Creando un DOM desde una URL o un archivo $html= file_get_html('http://www.google.com/');
// Buscar todas las imagenes foreach($html->find('img')as$element) echo$element->src.'<br>';
// Buscar todos los links foreach($html->find('a')as$element) echo$element->href.'<br>';
1 2 3 4 5
// Buscar todos los <div> con el atributo id $ret=$html->find('div[id]');
// Buscar todos los <div> con el atributo id=foo $ret=$html->find('div[id=foo]');
1 2 3 4
// Ejemplo de como examinar el arbol DOM echo$html->find("#div1", 0)->children(1)->children(1)->children(2)->id; // otro ejemplo echo$html->getElementById("div1")->childNodes(1)->childNodes(1)->childNodes(2)->getAttribute('id');
Hace un tiempo conoci a USB Webserver, es un programa que agrupa a Apache Web Server, Mysql, PHP, y lo mejor de este programa es que no necesita instalación, por lo que podemos llevarnos estos archivos en nuestra memoria usb, y ejecutarlos en cualquier PC con windows.
Como ellos mismos se describen:
Usb Webserver en breve
USB Webserver es un paquete de Apache, MySQL, PHP, phpMyAdmin Mini Relay y que permite la ejecución de un servidor Web desde una memoria USB.
USB Webserver es independiente y no deja nada en el equipo, por lo que es ideal para estudiantes, programadores de PHP, los principiantes y las empresas.
El programa es gratuito para todo el mundo y muy fácil de usar. [...] todo es tan flexible como una instalación independiente de estos paquetes.
Seguramente al programar has tenido la necesidad de quitar los caracteres especiales de una cadena, quizas para guardar un nombre de usuario, o generar una url amigable libre de esos caracteres que a veces hace que el servidor muestre errores como acceso prohibido o archivo no encontrado.
Este codigo devuelve una cadena con solo los caracteres de A-Z, a-z, 0-9.
1 2
$cadena_original="Esto es un texto &(&%()/|"; $cadena=ereg_replace("[^A-Za-z0-9]","",$cadena_original);
Si has tenido problemas en instalar el Apache server, o quieres ejecutar PHP con Sun WebServer (SJSWS) bajo Windows Vista, aqui esta el tutorial.
Primeramente descargamos el SJSWS en aqui, hay muchos archivos pero el servidor en si se llama asi ‘Web Server 7.0 Update 8‘, si hay version mas reciente descargate esa. Y lo instalamos, durante la instalacion llegaras a un paso donde te pide que introduzcas un nombre de usuario y una contraseña, esto es necesario para cuando desees administrar tu servidor.
Ahora descargaremos el modulo de PHP para SJSWS, esta en la misma pagina del SJSWS, se llama Web Server 7.0 PHP Add-On 1.0. Ahora descomprimimos el paquete, se creara una carpeta llamada PHP, ahora copiamos la carpeta PHP a C:\Program Files\Sun\WebServer7\plugins .
Esta listo para instalar el modulo PHP en el SJSWS. Vamos iniciar el SJSWS, en el menu Inicio -> Todos los programas -> Sun Microsystems -> WebServer 7 .0 -> Iniciar servidor de administracion, click derecho, Ejecutar como administrador. Asi se estara iniciando nuestro servidor. Dirijamonos a https://127.0.0.1:8989/, introducimos los datos de administrador que proporcionamos al instalar el programa.
Ahora estamos en portal de administrador del Servidor, ahora queremos saber el nombre de la instancia, por defecto es “https-” mas el nombre del servidor, el nombre del Servidor esta arriba al lado izquierdo, en mi caso el nombre de mi instancia seria asi “https-nabelcc1″.
Ahora ejecutar el script de configuracion del modulo PHP, para ello vamos abrir como administrador el “cmd” de windows, y tecleamos esto:
cd “C:\Program Files\Sun\WebServer7\plugins\php”
Nos conducira al directorio de PHP, aqui ejecutaremos este codigo, reemplaze <web server instance name> por el nombre de su instancia
setupPHP.bat -instancename=<web server instance name>
En mi caso es asi: setupPHP.bat -instancename=https-nabelcc1 , listo ahora reiciamos el Web Server, para que se apliquen estos cambios.
Ahora create un archivo llamado info.php con este codigo:
<?php phpinfo(); ?>
Y ponlo en C:\Program Files\Sun\WebServer7\<nombre de tu instancia>\docs, ahora vayamos a la consola de administracion del Web Server, para iniciar esa instancia y poder provar el info.php, debajo de “Tareas de configuración” hay varias opciones una de ellas es “Iniciar/detener instancias”, entramos a ella. Seleccionamos la instancia, y de los botones de arriba elegimos “Iniciar”.
Listo a provar, entra a http://127.0.0.1:81/info.php, el numero 81 indica el numero del puerto donde se ejecuta la instancia, estas opciones pueden ser modificadas desde la consola de administracion de SJSWS.
<?php /* Creado por nabelcc@gmail.com
* www.abelino.com
*/ $page=(isset($_REQUEST['page']))?$_REQUEST['page']:1; $maxrows=3;//numero de registros por pagina $start=(($page-1)*$maxrows);
/* conexion a la base de datos */ mysql_connect('localhost','username','password'); mysql_select_db('nombre_db');
$results=mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM `articles` LIMIT $start,$maxrows "); //SQL_CALC_FOUND_ROWS es para que mysql cuente todos los resultados encontrados $rtotal=mysql_query("SELECT FOUND_ROWS()"); if($rtotal=(mysql_fetch_array($rtotal))){ $found_rows=$rtotal[0];//numero total de rows encontrados $num_rows=mysql_num_rows($results);//numero de rows encontrados solo en esta pagina }
/* GENERANDO las variables para paginar */ $pagvars=array(); if(isset($found_rows)&&$found_rows>0){
$pagvars['total']=$found_rows; $pagvars['page']=$page; $pagvars['xpage']=$maxrows; $pagvars['limit']=6;//numero maximo de links a paginas a mostrar en la pagination $pagvars['startindex']=$start; $pagvars['model']='explorador.php?page=<-p-a-g-e->'; }
Ahora pasare a explicar este codigo ya que es importante:
En la linea 6, se encuentra a la variable $maxrows, que indica el numero de registros a mostrar por pagina.
En las lineas 10 y 11, puedes configurar la conexion a la base de datos.
En las lineas 22 al 31, se prepara la variable $pagvars para pasarle a la funcion my_pagination($pagvars). El parametro $pagvars['limit'], indica el numero maximo de enlaces o paginas a mostrar en la paginacion. El parametro $pagvars['model'], contiene el modelo de la url que se va usar en la pagination, ‘<-p-a-g-e->‘ sera reemplazado por un numero de pagina correspondiente.
En las lineas 35 al 52 se muestra los registros encontrados en html.
En la linea 58, se llama a la funcion my_pagination($pagvars), cuya funcion es generar un array con una url asignada a cada pagina.
Desde las lineas 61 al 94 se muestra la pagination en html.
Tercero, crear un archivo ‘paginacion.css’ con el siguiente contenido, que contiene los estilos css para esta aplicacion:
Ahora desde tu navegador entra a “/explorador.php”, se listara los articulos de 3 en 3, y en la parte de inferios estara una paginación.
Espero que este tutorial haya sido provechoso para usted.
Seguramente, ha escuchado de Struts o JavaServer Faces, son framework que usan el patron MVC (Modelo Vista Controlador) para aplicaciones java; para el desarrollo de aplicaciones PHP tambien existen framework, uno de ellos es CakePHP.
¿Por que es importante usar un framework?, un framework es una estructura de soporte definida, mediante la cual otro proyecto de software puede ser organizado y desarrollado. Hacen las cosas mas rapidas a un desarrollador, ya no es necesario preocuparse crear algun archivo config.php, o en crear codigo para validar formularios, o ejecutar sentencias SQL para añadir, eliminar, listar, etc datos de una base de datos…
CakePHP tiene caracteristicas destacables, por ejemplo:
Es compatible con PHP4 y PHP5
CRUD de la base de datos integrado.
URLs amigables
Sistema de plantillas rápido y flexible
Trabaja en cualquier subdirectorio del sitio
Validación integrada
Componentes de seguridad y sesión
Bake, Ayuda a generar codigo por medio de consola a partir de una base de datos.