Desarrollo web MAMP con CakePHP (II)

En la anterior entrada se ha configurado la parte web para los desarrollos. Con respecto a la base de datos, no se va a entrar en detalles ahora, se recomienda instalar la versión empaquetada para OS X de MySQL, pues es muy sencilla y autoexplicativa.

A continuación se descarga el framework CakePHP y se descomprime donde uno desee, pero se va a añadir la consola de este framework a la variable PATH por comodidad, para ello se edita el fichero .bashrc y se añade la siguiente línea:

export PATH=$PATH:/Users/onestic/Sites/cake/cake/console

y se ejecuta . .bashrc para actualizar los cambios.

Recordamos que se había configurado un servidor virtual en /Users/onestic/Sites/pastelito y que vamos a aprovechar para servir la sencilla aplicación web siguiente: un listado de pasteles y precios de una pastelería virtual, al fin y al cabo esto es CakePHP.

Lo primero será borrar el directorio pastelito pues se va a volver a crear conteniendo el esqueleto de una aplicación web basada en CakePHP usando la utilidad de consola que provee, y donde aceptaremos las opciones por defecto salvo en la sección de configuración de base de datos, que en nuestro caso y por tratarse de desarrollo local se usará el usuario root sin contraseña y el nombre de la base de datos.

cd Sites
cake bake pastelito

Se adjuntan unas capturas de pantalla como orientación:

Consola Cake (I).

Consola Cake (II).
A continuación se crea la base de datos (pastelito) con una tabla (tartas) para la persistencia de datos. El nombre de la tabla puede confundir un poco, y es que CakePHP defiende la práctica de convención sobre configuración, y el modelo de datos lógico se nombra en singular mientras que la tabla que almacena los registros de este modelo se denomina en plural pero según la convención anglosajona, esto es, con una s final. De ahí que hayamos optado por tarta y tartas en vez de pastel o pastele por pastels o pasteles.

mysql -u root
CREATE DATABASE pastelito;
USE pastelito;
CREATE TABLE tartas (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50),
descripcion TEXT,
precio FLOAT);

INSERT INTO tartas (nombre, descripcion, precio) VALUES (
'Lujuría de chocolate', 'Deliciosa tarta con tres variedades de exquisitos chocolates.', 30.99);

INSERT INTO tartas (nombre, descripcion, precio) VALUES (
'Tarta de Santiago', 'Tradicional tarta elaborada a base de almendras.', 20.99);

En este punto podemos comprobar que va todo bien visitando la URL del servidor virtual y se debe ver algo como lo siguiente:

Nuestra aplicación al principio.

Publicada en PHP | Etiquetas , , , , , , , | Dejar un comentario

Desarrollo web MAMP con CakePHP

Es de todos conocidos el paradigma de programación web LAMP, acrónimo de Linux, Apache, MySQL y PHP/Perl/Python. Y debido a su popularidad han surgido variantes como SAMP para Solaris o MAMP para Mac OS X. Con respecto a MAMP vamos a comentar que se ha referenciado a un proyecto “todo en uno”, aunque aquí se van a tratar los elementos por separado por ser el enfoque más general y aprovecha el software preinstalado en OS X (apache y php).

Como lenguaje de programación trataremos PHP, y concretamente el framework CakePHP para desarrollar rápidamente aplicaciones web.

OS X en su última versión a fecha de hoy, viene con el servidor Apache 2 instalado y que podemos iniciar a través de System Preferences/Sharing, donde se nos informa de los dos directorios preparados para servir contenidos web. Sin duda es engorroso estar limitado a sólo dos directorios, pues un desarrollador puede estar fácilmente involucrado en varios proyectos, por lo que vamos a presentar la configuración para tener un servidor virtual por nombre.

Se abre una sesión de consola y se edita el fichero de configuración de apache (/etc/apache2/httpd.conf) descomentando las líneas para habilitar soporte PHP y servidores virtuales:

LoadModule php5_module libexec/apache2/libphp5.so

# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf

A continuación se edita el fichero de configuración de servidores virtuales (httpd-vhosts.conf) y se inserta el siguiente código:

<VirtualHost *:80>
DocumentRoot "/Users/onestic/Sites/pastelito"
ServerName onestic.dev
ServerAlias www.onestic.dev
<Directory "/Users/onestic/Sites/pastelito/">
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>

Finalmente se edita el fichero /etc/hosts para resolver correctamente el nuevo servidor virtual.

127.0.0.1 www.onestic.dev

Para comprobar que todo funciona correctamente se crea el fichero index.php en la ruta física del servidor virtual (ver etiqueta Directory) con el siguiente código:

<?php phpinfo(); ?>

Y si se visualiza una pantalla similar se ha configurado con éxito un servidor virtual que ejecuta código PHP.

Servidor virtual con PHP.

Publicada en PHP | Etiquetas , , , , , | Dejar un comentario

Presentación

Hola,

esta es la primera entrada de un blog que mantiene un servidor, en colaboración con sus amigos de onestic.com. Llevamos unos cuantos años inmersos en las tecnologías de la información desarrollando soluciones software para diversas compañías y organismos públicos.

Aunque la documentación existente es abundante, sin duda demasiado y donde predomina el idioma inglés, este blog nace con la vocación de facilitar el acceso de documentación e información para la implantación exitosa de proyectos software a los desarrolladores de lengua hispana.

Somos conscientes de las numerosas dificultades que se presentan en un proyecto software, en todas sus etapas sin excepción, y desde aquí queremos presentar nuestra experiencia profesional con la humilde intención de facilitaros vuestro día a día de nueve a cinco.

Esperamos que os sirva de ayuda.

Publicada en General | Dejar un comentario