Noticias: nuevos sitios web y blogs

news_icon

Hacía tiempo que no escribía por aquí, a parte de mi web portfolio de programador php freelance, ahora también hago videojuegos, bueno ,en realidad desde hace unos 3 años de forma profesional, monté XIXGAMES y además doy servicios de programación de videojuegos en programadorvideojuegos.com (otro caso práctico del framework zenphp).

El último proyecto que hice con zenphp fué una base de datos para pacientes ,una aplicación web 2.0. Antes de esa, construí el portal de videojuegos flash Arkatia.com

Como véis , zenphp sigue funcionando, sigo usándolo, es algo que me llevó unos años y he podido comprobar que con el paso del tiempo, es fácilmente adaptable por estar escrito de forma general, se puede adaptar a PHP6 de forma sencilla, quizás escriba un artículo acerca de ello 🙂

Seguiré usándolo por ahora, es de las mejores herramientas que he creado hasta ahora. Quizás debería mejorarlo con más código automático, ya veremos…

 

Aplicaciones web escalables con potencialidades sin límites

Escabilidad: Sistema de aplicaciones Atómico

Cuando empecé a programar en PHP allá por el año 2005 ya pensaba que no quería mezclar código HTML con PHP, es por esto mismo que los creadores del lenguaje PHP creyeron que era mejor si se utilizaban objetos, capas, separación, jerarquías, etc. , es decir, su deseo era crear algo más parecido a C y C++, igual que yo con PHP y este framework. En definitiva, estos lenguajes comparten características, en concreto dos muy importantes: escabilidad y potencialidad. Continue reading

Artículo en Novática sobre zenphp

He aparecido varias veces en esta revista con los proyectos que presenté en los concursos de software libre.

Como nunca he publicado mi artículo extendido sobre zenphp en la revista, aquí os muestro algunos detalles del mismo.

Tengo que decir que los editores de esta publicación son excelentes, tras varios correos fuimos depurando el artículo y gracias a su creatividad, concretamente de Llorenç Pagés (que actualemente trabaja para la misma empresa que uno de mis mejores amigos :D), fuimos elaborando el resultado del que os muestro una intro 🙂

está en la revista nº195 de Ati – Novática,página 58 (septiembre-octubre Año XXXIV), lo que se puede hacer con este framework está en mi web de presentaciones como programador php : Juan Belón

XCSS : reinventar la rueda del CSS dinámico

En Febrero del 2008 diseñé una clase llamada XCS que utilizaba PHP para generar CSS dinámicamente, con la posibilidad de utilizar variables dentro del mismo fichero de reglas de estilo para hacer webs con contenido modificable fácilmente.

Hace poco he encontrado el “primer framework CSS orientado a objetos” como lo nombra a sí mismo Anton Pawlik su autor, http://xcss.antpaw.org/ y que hace precisamente eso,…sin embargo ha tenido mucho éxito 🙂

A pesar de su sencillez, (la clase principal no es muy complicada) no se diferencia demasiado de la que escribí basándome en otra al mismo tiempo…aunque no la he llegado a usar como programador php

Más Documentación sobre Ingeniería del Software

He estado subiendo todos los documentos que tenía en la Forja a la web de SlideShare, además de algunas charlas que he presentado, iré subiendo conforme vaya haciendo nuevas.

Por ejemplo he subido una presentación llamada “Depurando Javascript con Firebug“:

e incluso la memoria del proyecto:

Si queréis mucha más información sobre Usabilidad y Arquitectura de la Información orientada a aplicaciones web, pasaros por la web Programador PHP.org.

Freelance Programador PHP ofrece sus servicios

juan_belon_PHP

Después del artículo programador Zen, sólo quedaba demostrar que con paciencia ,dedicación y perseverancia se consiguen terminar muchos proyectos, ésta web: Programador PHP, sólo refleja algunos de ellos por cuenta propia, en ella,además ofrezco mis servicios desde ella,…a algun@s ni les cobro! jajaja.

Hay que seguir mejorando, nunca dejar de aprender, esa es la actitud, …finalmente o eres bueno en lo que haces o te retiras…

En mi caso, antes de que acabe el año tengo que preparar dos presentaciones de zenphp en mi Escuela, una en Octubre y otra en Diciembre…me han pedido que lleve más ejemplos técnicos. ¡Deséame buena suerte! 🙂

Continue reading

Prioridad lineal de los procesos de una aplicación web

Cuando estamos manteniendo una aplicación web suele ocurrir que el usuario final nos pide cambios que rompen el esquema inicial de la misma, es decir, se quieren saltar todas las reglas del diseño en el que nos habíamos “partido los cuernos” de forma que fuera todo fácilmente mantenible y estable asi como escalable.

En estos momentos tenemos dos opciones: cabrearnos mucho y quejarnos con el usuario para que lo haga a “nuestra manera o carretera”, o bien, mucho mejor, que la prioridad forme parte de todo este asunto.

Es ahora cuando decidimos que la segunda opción favorece nuestro trabajo de forma que podemos ir todavía más un paso adelante, es decir, si después de realizar todas las tareas necesarias para generar una página de una aplicación el contenido generado requiere un cambio de última hora, podemos utilizar una prioridad para construir/destruir dicho contenido. Un ejemplo es utilizar CSS, la prioridad se establece con la opción “!important” ,entonces, si en el HTML de nuestro primer diseño de la web tenemos un listado de hoteles y necesitamos que en uno de los hoteles del listado se muestre una división de forma distinta, simplemente vamos a permitir que en el editor HTML WYSYWYG se puedan introducir etiquetas de estilo: <style> [ extended_valid_elements: “style” en tinymce ]y ahora vamos a reescribir la regla donde se necesita que se muestre de otra forma el contenido, en lugar de cambiar toda la lógica de la programación, entonces ,usando “!important” al lado de las reglas, por ejemplo para el ancho :

<style> #midivision { width: 350px !important;} </style>

de esa forma le damos prioridad a esta regla, lo mismo se puede hacer con javascript y el argumento “defer” de la etiqueta <script>, y lo mismo se puede utilizar en PHP si especificamos el orden de carga de las clases, etc etc.

Automatizando Flash mediante XHTML, DHTML,ActionScript y PHP

Primero deberemos preparar el Flash, con un poco de código en ActionScript para cargar el XML y guardar las variables Flash en el nodo root de la película de forma que así activaremos las animaciones

Después diseñamos el XML como plantilla para zenphp:

así como el JavaScript en otra plantilla, que escribirá el objeto Flash con las variables mediante PHP

sólo queda el PHP, una función simplísima para escribir los contenidos:

Y ya tenemos funcionando el conjunto para cualquier entrada de la base de datos:

Howto: filtrar datos de forma avanzada pero pensando como un principiante

En principio, parece que el título del post es algo de lo más paradójico, pero nada más lejos de la realidad, en zenphp siempre hay un Joker, y éstos son los trucos que enseño en este blog, triquiñuelas rápidas y complejas pero fáciles de entender y modificar en poco tiempo.

Continue reading

Como hacer la semántica web fácil con zenphp

Semántica web

Si tenemos nuestra aplicación web montada, lo único que tenemosque hacer es configurar los activadores (rutas de .htaccess de Apache) de las acciones (funciones PHP) de los modelos (clases PHP que extienden de zen_modelo_datos) de datos o las funciones de los visualizadores (clases PHP) de forma que podemos incluso crear nuestra propia gramática: loquesea.es/hablar/con/Manolo –> nos contactaría con Manolo 😉

Ejemplo

Como siempre, veamos un ejemplo para comprender mejor la idea:

Tenemos una aplicación (zen_aplicacion) instanciada en index.php con la variable $app , ahora ,dentro de esta hay un visualizador por defecto llamado html_aplicacion en $app->html, bien, pues ahora sólo tenemos que decirle a Apache que nos redirija las entradas de direcciones con un .html al final, a las funciones de $app->html , como por ejemplo: Una típica función para ver un producto:

* En tu .htaccess (después de poner “Options +FollowSymLinks” y “RewriteEngine on” ):

RewriteRule ^productos\/(.*)\.html index.php/ver_producto/$1/

Con esta regla se llama a index.php donde se instancia $app y se llama a $app->enrutador->delegar() que analiza el resto de la dirección, es decir, productos/fichero.html…de forma que llama a la función productos ,si no existe llama al modelo con nombre productos, en nuestro caso es una función del visualizador de la aplicación (más sencillo),

Código

* Esto es lo único que tiene la función

echo $this->plantilla->devolver_contenido(“productos/”.zen_sanar($datos[1]).”.html”);

si queréis ser más profesionales, crear una plantilla HTML y meterle los datos usando las #etiquetas# ya explicadas en otros posts, asi como hacer comprobaciones de existencia del fichero .HTML y poner una plantilla tipo producto_inexistente.html si no se encuentra… (típico)

$p = new zen_plantilla();
$this->c =& $this->padre->padre->contenido; //array de contenido de la web
if ($p->cargar(“productos/”.zen_sanar($datos[1]).”.html”))
$this->c[‘contenido’] = $p->devolver_contenido(“productos/”.zen_sanar($datos[1]).”.html”);
else
$this->c[‘contenido’] = $p->devolver_contenido(“productos/no_encontrado.html”);
parent::index(); //Muestra la plantilla base_web.html y reemplaza etiquetas, etc.

Y así tendréis algo como lo siguiente:

http://www.empresayjuventud.com/productos/frescos/sandias.html

Seguramente ,se puede hacer mucho más fácil, pero ,también seguramente habrá alguien por ahi que lo escriba, saludos!
El conjunto de administración está siendo terminado, espero poder publicarlo pronto…