Etiqueta: array

Array a Directorios en PHP

En esta ocasión les vengo a compartir una función en PHP que desarrollé para un proyecto propio, en el cual surgió la necesidad de crear una estructura de directorios a partir de un arreglo que representa la estructura deseada.

Verán supongamos que tenemos el siguiente arreglo:

Como podrán ver se supone que este arreglo representa la siguiente estructura de directorios:

  • libs
  • inc
  • img
    • full
    • thumbs

Bien, la razón de ser de esta función, es crear algo que se pueda reutilizar para crear aplicaciones web con PHP de manera flexible y sencilla, en la cual podamos indicar los directorios que vamos a utilizar y nos ayude a crear la estructura de directorios.

Esta función es recursiva, por lo que cabe destacar que no importa cuantos sub-niveles tenga el arreglo que utilicemos, va a funcionar. Para que la función realice su trabajo necesita dos datos:

  1. El directorio base a partir del cual se creara la estructura de directorios (por lo general sera el directorio donde esta nuestro proyecto)
  2. El arreglo que contiene la estructura deseada

Sin más rodeos paso a mostrarles el código de la función:

NOTA: Esta función no la he probado en Linux, pero no veo ningún inconveniente para que no funcione, en cualquier caso no creo que necesite un cambio significativo para funcionar en Linux, en caso de que no funcione.

Web Service en PHP con nuSOAP

En esta ocasión veremos como crear un web service utilizando una librería en PHP llamada nuSOAP y cual quier editor de texto plano que tengamos a nuestro alcance. Así que empecemos.

Primero descargamos la librería y la descomprimimos en la carpeta de nuestro proyecto y creamos un archivo llamado index.php en el cual escribiremos nuestro código PHP.

El código de nuestro web service de ejemplo es el siguiente:

Explicación

  1. Primero incluimos nuSOAP a nuestro script
  2. Creamos el servidor SOAP
  3. Después lo configuramos indicando el nombre del Web Service y el namespace al que pertenece
  4. Registramos la función Saludar() para que aparezca en nuestro Web Service, es importante recordar que tanto PHP como XML son sensibles a mayúsculas, así que respetemos este criterio tanto en el nombre de las funciones como en los parámetros de ellas.
  5. Indicamos los parámetros de entrada de la función Saludar que en este caso es un string cuyo nombre será $nombre
  6. Indicamos lo que devolverá la función Saludar, que en este caso es un string
  7. Indicamos el namespace al que pertenece la función Saludar (el mismo al que pertenece el Web Service)
  8. Indicamos el soapAction, que seria la acción SOAP, noten el formato:
    <namespace>#<funcion> en realidad pudiera ser cualquier cosa en lugar del nombre de la función, pero recomiendo poner el nombre de la función.
  9. Los dos siguientes parámetros ‘rpc’ y ‘encoded’ los de momento no nos interesan asi que los dejamos así.
  10. Escribimos una pequeña descripción de la función Saludar, esto se mostrará en el Web Service

Tipos de Dato

Como se puede observar para indicar un string se antepone el prefijo xsd, eso es para indicar que este tipo de dato es un tipo base, existen varios tipos de datos base y podemos encontrar más información sobre ellos en la w3Schools:

Arrays con nuSOAP

Además de estos tipos también existen los arrays, que al igual que en cualquier lenguaje de programación pueden ser tanto parámetros de entrada como salida de la función; la forma de expresarlo seria la siguiente:

NOTA: Observen que la primera letra ‘A’ es mayúscula, debemos cuidar esto, ya que de lo contrario tendremos problemas, ya que como mencioné XML y PHP son sensibles a mayúsculas y lo correcto es Array y no array