domingo, 17 de marzo de 2013

Películas vistas Febrero 2013

  • Django Unchained(2012) (recomendada)
  • The Dilemma(2011) (recomendada)
  • The Girl with the Dragon Tattoo(2009 - Versión Sueca) (recomendada)
  • The Girl Who Played with Fire(2009 - Versión Sueca) (recomendada)
  • The Girl Who Kicked the Hornets' Nest(2010 - Versión Sueca) (recomendada)

Como Instalar Zend Framework en Linux Mint 13 Maya

Agregamos el repositorio:
                  sudo add-apt-repository ppa:zend-framework/ppa
Actualizamos la lista de paquete:
                 sudo apt-get update 
Instalar Zend Framework:
                 sudo apt-get install zend-framework
Necesitamos modificar el include_path de PHP para que tenga la librería de Zend, para esto le quitamos el ;  a la linea de include_path:

                 sudo gedit /etc/php5/conf.d/zend-framework.ini
                 ; include_path=${include_path} ":/usr/share/php/libzend-framework-php" 
                 sudo gedit /opt/lampp/etc/php.ini  
                 modificar la linea esto ;include_path = ".:/php/includes" 
                 por esto include_path = ".:/opt/lampp/lib/php:/opt/lampp/htdocs /ZendFramework/library"
La libreria de Zend se instala en:
                 /usr/share/php/
Copiamos nuestra libreria a nuestro servidor:
                 cp /opt/lampp/htdocs/ZendFramework/bin/* /opt/lampp/bin
 Modificamos los permisos de la carpeta:
                 sudo chmod 755 /opt/lampp/htdocs/ZendFramework
 Modificamos el PATH de bash para usar los comandos zf.sh de Zend:
                 export PATH=$PATH:/opt/lampp/bin/
 Realizar comprobación de que funcione:
                 php -v
Comprobar que efectivamente me esta reconociendo ya los comandos del zf.sh (Zend_Tool):
zf.sh show version  

Referencias:

domingo, 16 de diciembre de 2012

Primer acercamiento php - xajax

Recientemente me puse a probar xajax para unas cosas que deseamos realizar en la empresa. Este es mi primera prueba. Lo primero que realice fue descargar de la pagina oficial de xajax la versión estándar. Luego en coloque dentro de una carpeta de pruebas la carpeta descomprimida de xajax. Ahora si algo de codigo. 1   xajax_prueba.php
2  
3  
4  
5  <?php
6  
7  
8  
9  
/*
10  
11    Funciones para el llamado desde la vista
12  
13  */
14  
15  

16  
17  
function myFunction($arg)
18  
19  {
20  
21  
 $newContent "Value of $arg: ".$arg;
22  
23  
 $objResponse = new xajaxResponse();
24  
25  
 $objResponse->assign("SomeElementId","innerHTML"$newContent);
26  
27  
 return $objResponse;
28  
29  }
30  
31  

32  
33  
function myFunction2()
34  
35  {
36  
37  
 $objResponse = new xajaxResponse();
38  
39  
 $objResponse->assign("SomeElementId","innerHTML""prueba");
40  
41  
 return $objResponse;
42  
43  }
44  
45  

46  
47  
48  
49  ?>
50  

51  Test2.php
52  
53  
54  
55  <?php
56  
57  
58  
59  
/*
60  
61  Recomendaciones:
62  
63  No dejar espacios en la parte inicial y final de las etiquetas <?php ? >
64  
65  En el llamado a la funcion ej. onclick=xajax_myFunction('Funciona'); no
66  
67  y no ej. onclick=myFunction('Funciona'); no
68  
69  */
70  
71  

72  
73  
//Incluimos la libreria del xajax
74  
75  
include "xajax/xajax_core/xajax.inc.php";
76  
77  

78  
79  
//Incluimos el archivo con las funciones a usar
80  
81  
include "xajax_prueba.php";
82  
83  

84  
85  
//Instanciamos un objeto ajax
86  
87  
$xajax = new xajax();
88  
89  

90  
91  
//Registrar el nombre de la funcion que deseamos usar
92  
93  //Se pueden registrar varias que tengan en el archivo que se incluyo previamente
94  
95  
$xajax->registerFunction("myFunction");
96  
97  

98  
99  
//Se maneja cualquiera request del xajax
100  
101  
$xajax->processRequest();
102  
103  

104  
105  
//Se escribe $xajax->printJavascript("xajax/"); en el head del html
106  
107  //para generar lo necesario del javascript
108  
109  

110  
111  
//En el div colocar el nombre del elemento al que le colocamos la respuesta del innerHTML
112  
113  //Call the function from a JavaScript event or function in your application
114  
115  

116  
117  ?>
118  

119  <head><?php  $xajax->printJavascript("xajax/"); ?></head>
120  
121  
122  
123  <div id="SomeElementId"></div>
124  
125  <button onclick="xajax_myFunction('Funciona');"></pre>
El archivo test2.php es el que llama al xajax_prueba.php .

domingo, 25 de noviembre de 2012

Faltan ingenieros y programadores bilingües - El Colombiano

Faltan ingenieros y programadores bilingües - El Colombiano


Una muy buena mirada al mundo de la programación en el país, solo una perqueña correción a la información suministrada: Steve Jobs nunca programó.

Como hacer web services con Zend

 
Zend es un Framework para el desarrollo en PHP, lo que permite el desarrollo de la estructura permítiendo el desarrollo de aplicaciones Modelo-Vista-Controlador. De una forma eficiente.

Lo primero que se debe hacer es instalar Zend Framework, se puede descargar de: http://www.zend.com/en/products/server/downloads hay varios blogs que muestran como hacer este proceso, algunos usan xampp o zend server. Los links los dejo al final.
  
Luego de tener instalado y probado el zend, pasamos a la creación de un web service y un consumidor. Para esto primero debemos entender un poco de que se trata esto. Los web services permiten de forma estandar la integración de aplicaciones web mediante el uso de SOAP, XML, WSDL, UDDI entre otros. Esto permite la interacción de diferentes tecnologias sin necesidad de que sean iguales. Los WSDL son usados como descripciones de los servicios de los servicios web, SOAP se ocupa de la transferencia de los datos y XML es usado para la descripcion de los datos.

Para este ejemplo no es necesario hacer toda la estructura MVC, solo tener la librerias necesarias.

Empecemos:

Vamos a utilizar el componente Zend_Soap que permite la creación de los web services. 
Nuestro ejemplo se divide en tres partes:
myws.php → Tiene la implementación de los métodos
ws.php → genera el wsdl
client.php → invoca el wsdl y llama a los métodos con parámetros válidos

Lo primero es crear en nuestro directorio htdocs una carpeta llamada testSOAP la cual contendrá nuestros tres archivos anteriores y nuestra carpeta Zend con las librerias.

Lo primero es crear los métodos del web services: myws.php

 
1    <?php
2       
3      
/**
4       * Web service methods
5       */
6      
class myws
7      
{  
8          
/**
9           * Get the add of two numbers
10           *
11           * @param   int  $one   The first number
12           * @param   int  $two   The second number
13           * @return  int
14           */
15          
public function sumita($one$two)
16          {
17              
$add $one+$two;
18       return 
$add;
19          }
20  
21          
/**
22           * Get the add of two numbers
23           *
24           * @param   int  $one   The first number
25           * @param   int  $two   The second number
26           * @return  string
27           */
28          
public function restica($one$two)
29          {
30              
$minus $one-$two;
31       return 
sprintf('%d - %d = %d',$one,$two,$minus);
32          }
33            
34          
/**
35           * Get the add of all the numbers of array
36           *
37           * @param   array  $numbers  Array with numbers
38           * @return  int
39           */
40          
public function vectoAdd($numbers)
41          {
42              foreach(
$numbers as $actual)
43       {     
44            
$val $val+$actual;               
45       }
46            return 
$val;
47          }               
48       }
49  
?>


 
Luego de tener listo esto, vamos a crear nuestro ws.php



1    <?php
2      require_once('myws.php');
3   
4      if (
$_SERVER['QUERY_STRING'] == 'wsdl'
5       {
6          require_once(
'/../Zend/Soap/AutoDiscover.php');
7   
8          
$auto = new Zend_Soap_AutoDiscover();
9          
$auto->setClass('myws');
10          
$auto->handle();
11      }
12      else 
13       {
14          require_once(
'Zend/Soap/Server.php');
15   
16          
$wsdl sprintf(
17              
'http://%s%s?wsdl',
18              
$_SERVER['HTTP_HOST'],
19              
$_SERVER['SCRIPT_NAME']
20          );
21   
22          
$soapServer = new Zend_Soap_Server($wsdl);
23          
$soapServer->setClass('myws');
24          
$soapServer->handle();
25      }     
26  
?>


Ahora por último creamos el cliente al que llamaremos en el navegador: localhost/testWS/client.php

1   <?php
2      
require_once('Zend/Soap/Client.php');
3   
4       
$url 'http://localhost/testSOAP/ws.php?wsdl';
5   
6              
$client = new Zend_Soap_Client($url);
7  
8       echo 
$client->sumita(3,27);
9       echo 
"<br />\n";
10       echo 
$client->restica(10,3);
11       echo 
"<br />\n";
12       
$vect = array(3,2,5,1,5);
13       echo 
$client->vectoAdd($vect);
14  
?>



Para comprobar que todo funcione de manera correcta, primeros lanzamos:
http://localhost/testSOAP/ws.php?wsdl el cual en el navagador nos debe mostrar el wsdl que tiene la descripción de los servicios del web services.





-->
Asi pues vemos como construir un web services y su consumidor.
Links:

 

JS -2: Tricks and tips

El objecto global de JS es el window. una varaible vive dependiendo de su scope.