Siguen y siguen apareciendo nuevas caracteristicas para la version de PHP de NetBeans, esta vez es el turno para las pruebas unitarias, que al igual que la version para Java permiten crear pruebas para cada clase creando una clase completa que sirve para automatizar las pruebas las cuales se pueden ejecutar en cualquier momento utilizando el mismo editor.
Requisitos :
Pasos :
<?php
class Calculadora {
function sumar($a, $b) {
return $a+$b;
}
?>
public function testAdd() {
$a = 5;
$b = 3;
$r = $this->object->add($a, $b);
$this->assertEquals($r,8);
}
Actualmente esta version esta en desarrollo y los nombres para ejecutar las pruebas pueden cambiar por ejemplo a Run Test. A diferencia de la version Java en este momento al finalizar la prueba el resultado es visible en la consola, pero no de manera grafica.
Algo que me parecio raro, es que al momento de crear las pruebas me solicitara la ruta completa para almacenar las clases, pero leyendo mas acerca de esta nueva caracteristica, todavia esta en discusion donde se deben crear las pruebas unitarias, pues no deben ser parte del producto final, pero deben poderse publicar para realizar pruebas sobre los servidores en los cuales se esta trabajando y no solamente locales, de tal modo que por el momento se deberia escojer un directorio por fuera del proyecto, aunque en el ejemplo utilizamos un directorio tests dentro del proyecto para facilitar las cosas.
Desde los dias de Thunder he utilizado SimpleTest (otro framework para realizar pruebas para PHP), pero ahora que NetBeans tiene el soporte listo para PHPUnit creo que estare pensando en migrar muchas de las pruebas unitarias a esta herramienta, a no ser que de aqui a eso saquen una version para SimpleTest. Queda pendiente hacerle el seguimiento a esta nueva caracteristica y mirar que framework se esta pensando para las pruebas web.
Enlaces :
http://www.phpunit.de
http://blogs.sun.com/netbeansphp/entry/phpunit_support_added
Hace algunos dias hice pruebas subiendo texturas a OpenSimulator a traves de la libreria LibOpenMetaverse lo cual funciono muy bien pero no me servia del todo por que la idea es subir las texturas desde una aplicacion web desarrollada en PHP por lo cual no podia utilizar Mono, asi que me di a la tarea de desarrollar una libreria que permitiera hacer esto desde PHP, asi como tambien muchas cosas adicionales.
Para subir una textura al inventario de un usuario de OpenSimulator debemos hacer los siguiente :
<?php
// Load metaverse client
require_once 'src/mjs/mmetaverse/client/MMetaverseClient.class.php';
// Try to open client connection
try {
// Grid User Info
$firstname = 'Juan';
$lastname = 'Perez';
$password = '1234';
$server = '192.168.1.2';
$port = 9000;
// Create a client a do login
$client = new MMetaverseClient($server,$port);
$client->login($firstname, $lastname, $password);
// Sleep while the opensim opens the udp server and
// Register the client
//sleep(20);
// Try to upload image using capabilities
try {
// Image Information
$name = 'texture02';
$description = 'Texture upload by MMetaverse';
$content = file_get_contents('image01.jp2');
// Get inventory and upload image
$inventory = $client->getInventory();
$response = $inventory->uploadTexture($name, $description, $content);
// Print the new texture uuid
echo 'New Asset :' . $response->getHyphenated();
} catch (Exception $e) {
// Show the error information
echo 'Error : ' . $e->getMessage();
}
// Close the connection with the simulator
$client->logout();
} catch (Exception $e) {
// Show the error information
echo 'Error : ' . $e->getMessage();
}
?>
http://<IpServidor>/~<usuario>/mmetaverse/uploadTexture.php
Enlaces :
Sale por fin a la luz uno de los tantos subproductos de estas vacaciones, la libreria MMetaverse que permite administrar mundos virtuales creados con OpenSimulator, como tambien conectarse al simulador utilizando el lenguage PHP.
Esta primera version es una version de "prueba de concepto" para identificar si realmente es viable construir una libreria que permite el acceso a las infinitas caracteristicas de los servidores de OpenSimulator, como tambien evaluar la posibilidad de crear un cliente que permita conectarse a la grid como cualquier visor y que permita interactuar entre la una pagina web el simulador directamente. Todo este trabajo nace de juntar varias ideas que me han estado rondado por la cabeza y que tienen que ver con mi proyecto educativo en Second Life llamado Pulsar Project, el cual he tenido un poquito abandonado pero que pronto retomare por cuestiones de la maestria.
Para mantener un control sobre el proyecto en este momento esta siendo alojado en el servidor de proyectos de Google, donde esta habilitado el wiki, las descargas, manejo de versiones, acceso a los fuentes y grupo de discusion.
Version 0.1 (2009,01,14)
------------------------
- Version de Prueba
- Ejemplo cargar textura implementado
- Ejemplo adicionar usuario y listar usuarios implementado
- Soporte basico para paquetes UDP
- Capabilities implementadas y soporte para NewFileAgentInventory
- Implementacion basica de cliente, login y logout
- Implementacion basica de comunicacion via LLSD
- Manejo basico de texturas, obtener la imagen
- Manejo basico de regiones, listar, informacion
- Manejo basico de usuarios, listar, adicionar, informacion
- Soporte inicial para servidor OpenSimulator con base de datos sqlite
Nota : Esta primera version fue escrita utilizando NetBeans 6.5 para PHP, por eso es que ultimamente ando hablando tanto de este IDE.
Enlaces :
![]()
Luego de buscar que framework y que editor utilizan en mis desarrollos en PHP, me decidi finalmente por Yii y NetBeans aunque despues de trabajar un poquito con Yii, me parece que Prado sigue siendo una buena opcion para el desarrollo, apoyado tambienen que hoy encontre en el blog de desarrollo de NetBeans para PHP con un modulo con soporte para Prado, creo que lo estare probando esta semana y seguramente sera el utilizado para continuar con el desarrollo de la plataforma en la Universidad.
Ojala y este modulo lo sigan desarrollando, por que la mayoria de usuario de NetBeans para PHP piden soporte para Symfony.
Pasos :
Enlaces :
Si se quiere instalar y utilizar diferentes versiones de NetBeans en la misma maquina o se quieren probar las ultimas versiones de desarrollo, es recomendable separar las configuraciones para cada una de las versiones e incluso crear algunas temporales para realizar pruebas.
Pasos :
Para tener otras versiones realice los pasos anteriores con cada una asi tendremos una configuracion separada por cada version de NetBeans, como tambien podremos cargar la version mas adecuada para nuestro proyecto sin recargar el sistema. Incluso podemos ejecutar varios NetBeans al mismo tiempo.
Enlaces :