PHP Framework

Hace unos días me topé con este Framework, como todos los programadores de PHP sabrán que symfony, zend, cake, kumbia, entre otros son los más conocidos al respecto. No realizando una propaganda, vi la simplicidad de utilizar los widgets presentados en el PHPWORK, otra manera de utilizar el PHP. Queda a criterio de uds. utilizar este framework, generalmente soy de las personas que buscan los menos conocidos para tener un criterio, cuando se nos preguntan que limitaciones se tienen.

Por otro lado, El framework, por supuesto, esta en continúo desarrollo y libre de uso (también de modificación como debe ser) y la programación simple y exacta.

Puedo también comentar que, la forma como expone el site oficial acerca de estos componentes se parece mucho a la presentación del Zapatec (si alguien de los internautas no lo conoce se trata de varios widgets pero requieren licencia – comercial; ahora pertenece a Funambol).

La página de este interesante framework es: http://phpwork.org/.

Seguramente, algunos ya lo conocen, pero como no lo vi dentro de las estadísticas (ranking) de uso de los otros frameworks (los primeros mencionados), quiero presentarles otra opción a la lista. Chequéenlo y vean su uso y  conveniencia.

Aptana y el soporte PHP

Desde que Aptana salió por primera vez hace unos años, ha propuesto a la par con Eclipse el soporte necesario para el desarrollo Web. Ahora en su versión 2.0.3, no escapa las novedades que trae consigo. Pero vamos a ver en este post lo concerniente al manejo del PHP en Aptana.

Como todos sabrán, es necesario para el soporte tanto en eclipse como en Aptana la instalación del PDT (soporte de desarrollo para PHP). En Aptana cuenta con un administrador de plugins la cual deduciblemente podemos instalar el componente necesario. Lo cual debe quedar como la figura que presento.

Luego de la instalación, habrá notado que cuando programa en PHP no se muestra la típica ayuda como en otros IDE desarrollo como netbeans o eclipse. Bueno indagación en una interfaz que está en Inglés dió una solución que en la página oficial de Aptana no lo menciona con claridad. Para empezar debemos tener en cuenta que al agregar el componente PDT se agregan opciones nuevas, (estar atento a ese cambio con respecto a la interfaz clásica); puede ayudar para identificar la solución. A continuación los pasos que tomé (con las imágenes), ordenadas de manera secuencial.

La sección CodeAssitant es la sección donde se establece la Auto Activation. Para algunos les parecerá repetitivo, pero les servirá de ayuda para quienes usan este IDE que ahora soporta Ruby&Rails.

El primer post del año – CMS menos conocidos.

Por motivos laborales, no he posteado. Ahora presente el siguiente post. De lo visto, en especial por los cibernautas y programadores, que saben acerca de Joomla que es el CMS más conocido; entonces, me vi en la curiosa idea de buscar a los CMS menos conocidos, descartando a los que le siguen a joomla como (mambo, drupal, etc etc…)

Y encontré a Jaws y e107. Algunos no lo conocerán, ya un poco desactualizados, pero para quienes empiezan en los CMS ahi les muestro. Los he instalado y van bien. Codificación más simple que los CMS más conocidos.

Joomla tiene una estructura más elaborada con respecto a los mencionados, pero para los iniciantes ver otras alternativas no estaría mal. Además queda en Uds. darle algunos retoques.

JAWS: http://www.jaws-project.com/

E107: http://e107.org/news.php

Ambos tienen sus propios instaladores inc. (usan php – mysql)  y como adicional, les diré que se pueden ofuscar con las herramientas mostradas en este Blog, sin problemas hasta el momento en cuanto al funcionamiento aposteriori.

Feliz Año Nuevo 2010

Deseándoles a todos los visitantes del Blog, un Feliz Año Nuevo. Que este 2010 postearé más de mis pequeños experimentos. Hasta el siguiente año.

PHP – StoreProcedure – Functions de MySQL

Es un clásico el llamado de los storeprocedure y functions en PHP. Si lo llevamos al nivel más básico (programación clásica) es como jugando con MySQLi y si tienes ADODB esto se simplifica.  Para algunos esto es repetitivo de muchos blogs, pero mostraré para aquellos que se han cansado de buscar la información y no les funciona nada, derepente con estos ejemplos les funcione voy a poner el script primero como llamar un storeprocedure de MySQL en PHP y luego con funciones almacenadas.

PHP – Procedure

$resultado=mysqli_query($conexion,”call sp_ejemplo(‘ “.$a.” ‘,’ “.$b.” ‘); “);

donde sp_ejemplo es el storeprocedure.

PHP – Functions

$resultado=mysql_query(“select sf_ejemplo();”,$conexion);
$id=mysql_result($resultado,0,0);

donde sf_ejemplo es la function.

La diferencia se encuentra en que el store procedure me retorna uno o varios resultados como si estuvieras haciendo un select por decirlo así. En cambio las functions solamente te retornan un sólo resultado y para capturar se usa el mysql_result.

Ahora en ADODB, que es OOP, esto se simplifica en terminos de ejecución pero el aspecto de captura de resultado, siempre tener en cuenta que la función(es) solamente me devuelve un solo valor.

MySQL – StoreProcedure

Hace unos días un amigo desde MSN me consultó acerca de los storeprocedure en MySQL la pregunta era si se podían crear bucles repeat anidados. Para mi entender se trataba de hacer la siguiente secuencia (esquematizando como para entenderlo):

REPEAT

REPEAT

UNTIL a<1 END REPEAT;

UNTIL a<1 END REPEAT;

La respuesta para algunos entendidos de nivel avanzado, es que si se puede y total es correcta la respuesta. Pero al parecer, la idea de la consulta planteada iba dirigida hacia los CURSORES. Como se sabe los cursores ayudan a que un grupo de datos de una consulta SQL se envíen a cierto bucle como un repeat o while para procesar, es lo más común que he visto. Bueno para mi experiencia no tan grande en MySQL si realicé ese procedimiento de cursores pero no anidados como se piensa. Me explico usando REPEAT:

open cursor1;

open cursor2;

REPEAT

FETCH cursor1 into a, b  …. etc etc;

FETCH cursor2 into x, y …. etc etc;

//Procesar

UNTIL a<1 END REPEAT;

close cursor1;

close cursor2;

Como verás no existe otro repeat x cursor. Recuerdo en una oportunidad que quise realizar un repeat x cursor pero MySQL lo rechazó era la versión 5.0.

Al parecer en la versión 5.0 no se puede realizar la apertura de un cursor dentro de un bucle que esta con fetch activo, es decir realizar lo siguiente:

open cursor1;

REPEAT

FETCH cursor1 into a, b  …. etc etc;

open cursor2;

REPEAT

FETCH cursor2 into x, y …. etc etc;

//Procesar

UNTIL b<1 END REPEAT;

CLOSE cursor2;

//Procesar

UNTIL a<1 END REPEAT;

CLOSE cursor1;

Si alguien le ha salido este último esquema puede contestarlo, en todo caso, el primer esquema si funciona y se puede comprobar en el manual de MySQL.

Después de un Largo Tiempo

Después de meses de no postear nada… regreso… motivo???… trabajo… y bueno cercana a las fechas de navidad y año nuevo adicionaré lo faltante.

A ver para empezar el nuevo Netbeans 6.8 recién salido del horno, como afecta a los desarrolladores de J2ME, bueno si ya tienen instalado una versión anterior y desean instalar este soft, lo único que va ser es retirar a nuestros EMULADORES “Wireless ToolKit” y adicionales de la configuración que teníamos funcionando.

Y otro detalle más se encuentra es que a pesar de importar las configuraciones pasadas de su versión anterior el “Java ME Platform SDK 3.0″ se mantiene firme. Hasta el momento no es un gran problema, pero la solución lógica u obvia sería ubicar la configuración de Administracion de Emuladores del Netbeans y que realicé el reconocimiento y si no lo detecta de manera manual. Algunas imágenes de lo que realicé de manera secuencial.

Sólo dar click en Añadir Plataforma y buscar o seleccionar los emuladores faltantes y Listo. Seguiré Testeando el Netbeans 6.8.

Problemas en el Upgrading XAMPP 1.6.8 a XAMPP 1.7.2

Hace unos días realicé el proceso del paso de una versión a otra XAMPP, porque mis proyectos que realizaba estaba en mysql 5.0 y ahora necesitaba el uso de los task que trae 5.1, bueno algunas mejoras adicionales que requería también en cuanto a seguridad.

Procedí a descargar el XAMPP for Windows 1.7.2 he instalar. El detalle de ahora es que después de la todo el proceso de instalación no corría el servicio de Apache y solamente MySQL estaba ok.

El problema está que por default todas las configuraciones de apache usan este seteo “/xampp” a pesar que en el transcurso de la instalación relocalicé la ruta (relocate).

Bueno hay 2 y hasta 4 archivos que tuve que modificar uno es el startup.pl ubicado en el directorio por defecto: “c:/xampp/apache/conf/extra” => lo que cambié las rutas “/xampp” por “c:/xampp” porque lo instalé por defecto.

El segundo archivo a modificar es bastante extenso y es el httpd.conf y que se tuvo nuevamente modificar las mismas tareas.

El tercer y cuarto archivo a modificar fue httpd-xampp.conf, httpd-vhosts.conf y httpd-dav.conf; estos 2 últimos según como estén trabajando con apache.

Cabe señalar que también se puede realizar el upgrading instalando por separado el mysql en la carpeta /mysql del directorio de xampp y también reemplazar el php instalador binario sobre la carpeta /php del directorio de xampp; éste último caso implica llevar los archivos de término “_2″ al directorio /apache/bin y reemplazar por los existentes (previa copia de los originales por si realizan mal la operación). El httpd.conf también se debe obtener una copia previa antes de modificar.

Lo bueno de este xampp es que el panel de control tiene más opciones de control y ahora se puede ejecutar entre comillas “por el simulador de DOS”.

En fin y para terminar, xampp en su página oficial nos dice que en windows vista, instalar fuera de “archivos de programa” o “program files” por aspecto de restricciones en el acceso (bueno los usuarios de vista sabrán lo que les digo). También siempre revisen los logs de apache (/xampp/logs), para cualquier problema con los servicios.

Hasta el siguiente post.

Aula Virtual – DigitalSolutionsPerú – Breve Post

Hace unos meses atrás se abrió el aula virtual de Digital Solutions con el auspicio de la Universidad Nacional de Trujillo – Escuela de PostGrado, para los cursos de Seguridad Industrial (Minerías) y también Aplicaciones Móviles Empresariales (J2ME – Java MicroEdition). Para los interesados al respecto solamente mostraré este afiche con el link respectivo.

Aula Virtual - Cursos Virtuales
Link donde encontrarán mayor información: Click Aquí – Click Here.

Este post es un aviso general, más no el rubro del blog (índole no comercial – eso lo notarán porque el link que presento no hace ref’s), dirigido a quienes desean aprender más. Hasta otra oportunidad.

Netbeans y el C++

Hace unos días me pidieron realizar un pequeño proyecto en C++, y bueno como era para un amigo me preguntaba como hacer que netbeans haga uso del soporte para ese lenguaje. Hace buen tiempo que no programo en C++. entonces buscar los instaladores DOS son fáciles y gratuitos de encontrar. Aún así, mostraré que hice con netbeans para poder programar en el famoso C++, dirigido a quienes desean seguir usando netbeans sin moverse de otro editor o IDE de desarrollo.

Para empezar el escenario es windows pero también se puede realizar bajo linux:
1° Paso Descargar cygwin.
2° Paso Instalar el cygwin pero en el transcurso de la instalación hay que instalar el compilador c++ más algunos paquetes demás como muestro en el siguiente orden de las fotografías:

1

2

3

Noten uds. que reinstalo el ash:A (me puse a comprobar si era necesario)
4

Noten que instalo el g++

5

Note también el make:gnu

6Noten también el gdb

7

3° Paso: Crear las variable de entorno. Adjuntar la ruta donde se instaló todo el cygwin. Si no existe crear la variable PATH.

8

4to Paso: Configurar Netbeans en las Opciones (C++), Sección herramientas y adjuntar las rutas de cygwin.

9

10

11

Noten que “seteamos” la subcarpeta bin del cygwin instalado.

5to Paso: Ahora crear un aplicativo en Netbeans para comprobar que funciona: Categorias C++ y C/C++Application.

12

13

14

Y como verán creamos un proyecto y ejecutamos para ver que funciona a la perfección. Bueno no es nada del otro mundo y como no deseo cambiar de IDE de desarrollo me quedo con NetBeans.  Lo bueno de programar en un IDE de desarrollo es que te ayuda a ver los errores de sintaxis que podría suceder en el entorno DOS de Borland (versión 1, 2, no lo sé uffff… en la cual uno presionaba F9 para compilar).

Seguir

Get every new post delivered to your Inbox.