PHP

Feliz Día, #programadores

programadorComo todos bien sabemos (bueno y el que no lo sabe, pues como que se va enterando XD), el día 13 de setiembre celebramos el día del programador, gracias a una iniciativa de Valentin Balt … y como no podía ser de otra manera, esta celebración tiene su explicación informática:

El día 13 de septiembre es el día 256 de un año normal, y para los programadores, esto va más allá de un simple número porque se trata de una potencia de dos (2^8) y el número de valores que se pueden representar en un byte.

Pues bien, con este post queremos desearle un ¡¡FELIZ DIA!! a todos aquellos quienes día a día sentimos esa pasión por resolver problemas y encontrar soluciones que requieren de un pensamiento abstracto y lógico. Seguir leyendo …

Facebook: Fijando la barra superior

Sticky Top Nav Bar es un script que nos permite convertir la barra superior en “siempre visible” además de agregarle otros efectos a Facebook como la forma en la que nos presenta los popups, menos, y demás notificaciones como el chat y nuestros mensajes. Seguir leyendo …

Instalar XAMPP en Ubuntu

Desde hace algún tiempito corto acá he retomado el uso del sistema operativo Ubuntu, en su versión 10.10, y una de las cosas que no pude migrar así de facil fue mi trabajo con el PHP que siempre en Windows había realizado con el servidor típico WampServer, el cual como ya muchos sabrán, lo que hacía era juntar el servidor Apache y el servidor MySQL en un fácil instalador que no pasaba los 20MB, por lo que me evitaba de estar bajando paquetes y así. El problema es que sólo existe una versión para Windows y al momento de estar operando en Ubuntu necesitaba algo que al menos se asemeje a eso. Obviamente no iba a instalar Apache y MySQL por separado y andar levantando servicios y eso , que más que desconocimiento, resulta un fastidio. Para esos casos, me vino como anillo al dedo XAMPP.

¿Qué es XAMPP? … Pues si vamos a Wikipedia encontraremos esto

XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.

Y bueno, cabe resaltar que es un proyecto de Apache Friends, subido a Sourceforge y que cada cierto tiempo es actualizado a una nueva versión (contra la versión de WampServer que se actualiza cada ciertos meses, XAMPP se actualiza mas rápido).

Entre otras características que me gusto de XAMPP es la posibilidad de montar un servidor con SSL y el uso de Perl (Que yo de Perl no se nada, pero quien te dice si no aprendo de la manera como aprendí PHP, instalandome un servidor y probando) un poco más que ofrecer que el WampServer. Pero no os preocupeis, que también existe una versión para Windows mucho mas intuitiva y con más posibilidades que muchos otros servidores.

Cómo Instalo XAMPP en mi PC con Ubuntu?.

Bueno, primero que nada hay que descargarse el paquete, actualmente la versión estable es la 1.7.3a, pero por si las moscas yo colocaré aquí el link de descarga general, para que puedan descargar la última versión en cualquier momento que vean este post.

XAMPP, proyecto en SourceForge -> http://sourceforge.net/projects/xampp/

Como podrán ver, el archivo principal a descargar, es un archivo tar.gz el cual es un archivo de compresión clásica en UNIX, vamos que una versión clásica equivalente al RAR que usamos en Windows, pero entonces, como lo instalo desde un archivo compreso que sólamente tiene archivos… pues aquí viene la parte buena.

Primero, tienes que descomprimir el archivo y copiarlo automáticamente a la carpeta /opt del sistema. Para eso simplemente lo que haremos es escribir esto en la terminal (recomiendo hacerlo con permisos de root para evitar problemas):

tar zxvf /<ruta-donde-esta-ubicado-el-archivo>/xampp-linux-x.x.x.tar.gz -C/opt

Donde x.x.x es la versión actual del XAMPP. Con esa línea lo que haces es descomprimir automáticamente el archivo en dicha carpeta y prácticamente ya tendrías instalado XAMPP en tu sistema. Si, así de fácil.

Ahora, como ustedes sabrán, esto es un servicio que no siempre queremos que esté activo, porque consumirá recursos en el sistema y queremos que actue como un programa que se active cuando querramos y desactive cuando terminemos de trabajar. Pues bien, el proceso de activación y desactivación de XAMPP server es sencillo:

Para activarlo. Deben ejecutar esta linea en terminal

/opt/lampp/lampp start

Entonces nos deberá salir algo como esto:

Starting XAMPP for Linux x.x.x…
XAMPP: Starting Apache with SSL (and PHP5)…
XAMPP: Starting MySQL…
XAMPP: Starting ProFTPD…
XAMPP for Linux started.

Para desactivarlo, es el mismo proceso, pero escribiendo esto:

/opt/lampp/lampp stop

Y entonces el sistema detendrá el servicio

Stopping XAMPP for Linux x.x.x…
XAMPP: Stopping Apache with SSL…
XAMPP: Stopping MySQL…
XAMPP: Stopping ProFTPD…
XAMPP stopped.

Bueno, mientras tengas activado tu servidor XAMPP puedes acceder a él mediante el link clásico http://localhost/ automáticamente y subir tus proyectos mediante el FTP con el usuario “nobody” en localhost, además de usar el phpmyadmin con http://localhost/phpmyadmin

Adicionalmente recomiendo agregarle la seguridad respectiva al servidor, entonces tendrás passwords en todos tus servicios y tus conexiones serán seguras (ya que, en un entorno de red por ejemplo, cualquiera podría entrar mediante tu IP a tus servicios web). Deberán escribir esto en la terminal:

/opt/lampp/lampp security

Automáticamente en la terminal se iniciará un Wizard para colocar la seguridad respectiva en todos los servicios de tu instalación de XAMPP, como los passwords en tu usuario de MySQL, de FTP, y de acceso a la web.

Pueden encontrar información al detalle acerca de XAMPP, sus comandos, sus archivos (osea, los que podreis editar a tu conveniencia para, por ejemplo ampliar el límite de subida de archivo en tamaño) entre otras especificaciones en el siguiente link:

http://www.apachefriends.org/en/xampp-linux.html

Espero este sea el comienzo de una serie de post dedicada al servidor XAMPP y como operar y hacer más facil la vida de quienes llegan a estos posts, si hay alguna duda, quizás pueden comentarla acá, podremos debatir y aportar, ya que yo también estoy empezando a usarlo.

Saludos!

WAMPServer Para tus proyectos PHP (II)

Mientras estuve de vacaciones (hoy volví al trabajo), surgieron algunas dudas para con el post de los proyectos PHP con WAMPServer del otro día, y bueno, supongo que no me expliqué bien o no lo expliqué detalladamente -y para todos los casos- cómo es que funciona esto del servidor web en la propia máquina. Y ahora voy con el post detallando un poco más, pero básicamente es lo mismo.

Para entender cómo funciona el PHP, tenemos que saber previamente que PHP es un lenguaje interpretado y no compilado, simplemente tu escribes tu código y el intérprete PHP lo transforma en una salida HTML, y con esto del intérprete quiero decir que tampoco funcionará el que tengas tu proyecto en una carpeta (osea tus archivos PHP) y los corras directo al navegador Web que tengas (que es por donde se muestra la salida, es decir, que otro sentido tendría la palabra ‘web’ si no es que se ejecuta desde un navegador?) por lo que el esquema para el correcto funcionamiento de PHP es el siguiente:

Seguir leyendo …

Algunas curiosidades -o tips- en el lenguaje PHP

No sé si definirlas como curiosidades, en realidad vendría a ser algo así como datos interesantes o por el estilo, pero bueno, así los encontré en internet y hoy los comparto aquí por si a alguien le sirva. La mayoría de ‘curiosidades’ se evocan a cómo es que haciendo tal o cual cosa se mejora el rendimiento del servidor, que es más rápido en ejecutarse, y algunos que otros en que se puede aprovechar un poco más este muy buen lenguaje.

Nota: Aparte del post en donde saque estas curiosidades, estoy linkeando algunas funciones al manual PHP online para despejar cualquier duda.

1.- Muchas veces cuando queremos pasar variables de un formulario a otro para procesar información ingresada por el cliente, usamos las variables $_POST y $_GET, la diferencia de ambas es que en $_GET se ven en el link las variables que se envían, mientras que en $_POST no. Por lo que en PHP tendríamos que recibir una variable así:

//Suponiendo que enviamos desde un formulario HTML a un control PHP
$MiVariableRecibida = $_POST["txtParaEnviar"]; //Asumiendo que'txtParaEnviar' es un control de formulario.
$MiVariableRecibida = $_GET["txtParaenviar"]; 

Dependiendo claro como se define en el formulario con el atributo method (ejm. method=”GET”). La curiosidad aquí es que si no sabemos cómo recibirla, o nos da lo mismo cualquiera de las dos formas, podríamos recibirla como  $_REQUEST. Asi:

$MiVariableRecibida = $_REQUEST["txtParaEnviar"]; 

Nota del tip: Sirve también para $_COOKIE.

Seguir leyendo …

El cuerpo humano expresado en HTML y PHP [humor]

Siempre me preguntaba si alguien algún día y delante mío haría un chiste sobre ciertas etiquetas HTML y funciones PHP… y bueno… el día llegó!

No tengo más que decir… luego de las carcajadas, soy feliz :)

Originalmente visto en Punto Geek

Creando un sistema de blogs [PHP] [III]

Bueno, como diría Clayder en cuanto a la programación, a veces es mejor compartir para ayudarnos todos o nos podemos ir a la basura con nuestros programas con bugs por todos lados y solitarios, creo que no lo dijo pero estoy seguro que lo pensó. El hecho es que en este post que espero sea meramente didáctico quiero mostrarles la segunda versión de mi aplicación web que me ha consumido en los últimos días de programador amateur por si alguien quiere probarlo, reestructurarlo, editarlo, y/o escupirlo o que se yo (no me ofende, el compartir abarca eso también :D ), cosa que, desde las primeras versiones que mostré en los dos anteriores post, hasta la versión que tengo en mi poder actualmente y que ya utilizo en la dirección de mi blog personal (http://willmedina.co.cc) han habido ciertos cambios significativos siendo el principal el que reestructuré tal código desde un enfoque de programación  orientada a objetos que está tan de moda. También hubo algunos que otros cambios como el que ya los usuarios no dependían de sólo sesiones para mantenerse conectados y en el panel de control (cosa que podría ocasionar que se acabe la sesión cuando estés editando un post, y crash!), para eso introduje algunas operaciones con cookies.

También cambié la estructura de las tablas en la base de datos de manera más ordenada y con notaciones más acorde con una base de datos, valgan redundancias. Tanto que eliminé la de Feedback, porque bien la operación se podría mandar al correo electrónico con la función Mail() directamente, eliminé la tabla de Widgets de la sidebar, y esto si fue personal, porque según yo, a cada vez que quería modificar el sidebar simplemente modificaba el <archivo del sidebar>.php porque al fin y al cabo eso se traduce en HTML puro, y estar sobrecargándolo con funciones y llamadas a bases de datos era un poco estúpido (desde el punto de vista de la simpleza de mi aplicación).

Seguir leyendo …

Programación Orientada a Objetos [PHP5]

A diferencia de lo que muchos de los que me conocen creen, yo no he programado mucho en este campo de la orientación a objetos por falta de costumbre, pero esta semana me he querido meter de lleno porque es mucho mejor programar con clases, que con archivos sus funciones y cosas estructuradas. Es una forma de programación avanzada y hace de tus aplicaciones muy fáciles de extender a más funciones sin el mayor daño al resto de código.

El funcionamiento no es tan diferente del que me/nos hayan enseñado en Java, en PHP existen clases, dentro de éstas variables y funciones; luego pueden instanciar tales clases con objetos y éstos, llamar a sus propias funciones y variablesfácil no?… Bueno, y aunque no entiendas, puedes aprender de eso aquí.

Seguir leyendo …