viernes, 24 de septiembre de 2010

PHP ahora en VB.Net

Navegando hace un tiempo por internet, me encontré con la siguiente página Jcxsoftware. Página en donde hablaban que tenían un add-in (complemento) que permitía crear y ejecutar aplicaciones hechas en php utilizando el IDE de trabajo del Visual Studio 2008 o 2005. Inmediatamente descargué este add-in (en su versión demo de 30 días) de la página oficial y a probarlo se ha dicho. Algo que debes de tener cuidado es que al momento de descargar el add-in, encontrarás dos opciones, un archivo que pesa como 2MB y otro de 46MB. Si descargar el primero necesitas conexión internet al momento de la instalación para completar la descarga, cosa que no sucederá si descargas el segundo.

Los requisitos principales para este add-in son Visual Studio .Net, yo tengo la versión 2008 y claro está el add-in. El proceso de instalación es sumamente sencillo, por lo que no te va a demorar más de 10 minutos en completarlo.

image

Durante el proceso de instalación, no he realizado ningún cambio, he ido pulsando el botón Next en las pantallas. Durante el proceso se irán copiando archivos y registrando los componentes necesarios, por lo que veremos aparecer algunas pantallas, no te asustes es el proceso Normal.

Cuando la instalación finaliza, tenemos que abrir Visual Studio .Net y al momento de crear un Nuevo Proyecto, tendremos opción a crear proyectos del tipo PHP.

image

Bueno,para poder probar adecuadamente este add-in hay que saber algo de PHP, por lo que puedes leer el post de Alfredo Creando un web service con php para tomarlo como referencia o como voy a hacer yo, realizar cosas básicas en PHP, dado que el objetivo del post no es enseñarte a programar en PHP, sino demostrar que este complemento trabaja bien.

Probando el Add-in

Lo que voy a crear es un proyecto PHP 5 Web Project, al cual le colocaré como nombre miprimerPHPProject y presionaré es el botón OK.

Al hacer esto, Visual Studio crea la solución y el proyecto, para luego mostrar lo siguiente:

image Y en la parte central, el código inicial de index.php para empezar a programar. Para probar que todo esta OK, escribiré un Hola Mundo, en el código y ejecutaré la aplicación.

1
2 print("Hola Mundo");
3?>

Al ejecutar este código, obtengo lo siguiente:

image

Por lo que sabemos que todo esta OK.

Interactuando con otra Aplicación

En el proyecto PHP que he creado, voy a definir un método, el cual será probado por un proyecto del tipo consola hecho en C#, todo esto en una sola solución. Por lo tanto te pido crear un proyecto del tipo consola en C#, al cual le debes de añadir una referencia a System.Net.

Con lo antes escrito, tu solución debe estar conformada de la siguiente forma:

image

Bueno, ahora lo que voy a hacer es colocar código en index.php, el cual será invocado, posteriormente, desde la aplicación consola y mostrada por pantalla.

En index.php, colocaré el código necesario para calcular el factorial de un número obtenido como parámetro.

01
02
03$num=$_GET["num"] ;
04$valor=1;
05for($i=2;$i<=$num;$i++)
06{
07 $valor=$valor*$i;
08}
09print ($valor);
10
11?>

Y en el proyecto del tipo Consola, lo que voy a hacer es invocar a la página PHP definida, pasándole como parámetro el valor del número del que deseamos obtener el factorial.

01using System;
02using System.Collections.Generic;
03using System.Linq;
04using System.Net;
05using System.Text;
06
07namespace CopstoneTestPHP
08{
09 class Program
10 {
11 static void Main(string[] args)
12 {
13 string numero;
14 //Solicitamos al usuario el ingreso del numero
15 Console.Write("Ingrese el valor del numero : ");
16 //Capturamos el numero ingresado
17 numero=Console.ReadLine();
18 //Creamos un objeto para conectarnos a la página php
19 WebClient clientephp = new WebClient();
20 //Indicamos el url, con el numero ingresado como parámetro
21 string url = "http://127.0.0.1:35585/index.php?num=" + numero;
22 //Obtenemos el resultado
23 byte[] datos=clientephp.DownloadData(url);
24 //Lo transformamos para mostrarlo adecuadamente
25 Console.WriteLine(System.Text.Encoding.UTF8.GetString(datos));
26 Console.ReadKey();
27 }
28 }
29}

Para poder probar adecuadamente la aplicación, lo que debemos hacer es ejecutar ambos proyectos de forma que la página este activa mientras la invocamos. Para asegurarnos que esto se llevará a cabo, debemos de acceder a las propiedades de la solución, dando clic derecho sobre el nombre la misma, y la opción Startup Project, escoger Multiple startup projects, tal como se muestra en la figura:

image Recién al terminar de configurar esto, te pido que pruebes el trabajo realizado.

Espero que al saber que existe este Add-in, empieces a ver que otras alternativas podemos crear con PHP desde Visual Studio mezclando ambas plataformas.

-----------

Espero que les aya ayudado

fuente: http://www.jcxsoftware.com/download.php

No hay comentarios:

Publicar un comentario