El objetivo
Vamos a intentar aprender PHP desde el principio, pero de una forma un poco diferente… Lo normal, cuando te interesas por PHP, es que tengas una web con un CMS montado (seguramente un precioso blog en WordPress) y quieres empezar a personalizarlo más allá de lo que tus nulos conocimientos de programación te permiten.
Para alcanzar este objetivo, iré publicando una serie de artículos destinados a intentar explicar el lenguaje de una forma sencilla.
Por qué PHP paso a paso
Afortunadamente, PHP es un lenguaje muy sencillo de aprender, aunque gracias a su sencillez, existen muchos malos vicios. Encontrarás múltiples tutoriales sobre PHP por la red; desafortunadamente la mayoría están muy obsoletos o se centran exclusivamente en PHP, cuando no debería ser así.
Suponiendo que se quiere aprender PHP para aplicarlo en sitios web, no sólo vas a utilizar PHP, sino que lo harás de forma conjunta con HTML/CSS/JavaScript y seguramente con MySQL como motor de base de datos. Necesitas saber todos estos lenguajes, sólo con PHP no te llega…
Otra de las «deficiencias» que en mi opinión tienen los manuales de PHP es que no le dan importancia a los modelos de abstracción de desarrollo de software, por lo que el programador de PHP acaba organizando y pensando su código según su criterio o lo que ha podido ver por ahí… Es más, cuando por fin te entra en tu cabecita que es necesario adoptar uno de los modelos existentes el esfuerzo que vas a tener que dedicar para asimilar estos nuevos conceptos va a ser muy superior al necesario que si desde el principio se tienen en cuenta.
Y por si fuera poco, en PHP puedes programar, básicamente, de dos formas:
- Programación estructurada.
- Programación Orientada a Objetos.
Los manuales se centran en la estructurada y, llegado un punto, te hacen el salto a Orientada a Objetos y suponen que tienes que entenderlo. Mucha gente interesada en PHP no conoce qué es la Orientación a Objetos y hay que familiarizarse con ello.
Bueno, vamos allá!
Herramientas y requisitos para empezar a trabajar en PHP
Lo primero que necesitamos es, o bien un alojamiento web con soporte PHP o bien transformar nuestro equipo en un servidor web local. Si es lo primero, tu empresa de alojamiento ya te debería haber dicho todo lo necesario, si es lo segundo aquí dejo enlaces interesantes para montar su servidor local:
Importante: A la hora de instalar XAMPP, se debe marcar para que instale Apache y MySQL; no instalemos el Filezilla ya que no vamos a permitir que desde internet se pueda acceder a nuestro equipo por PHP. También es importante que en el PHP NO se ponga con safe mode ON, en el tutorial de instalación en windows pone que se haga… va a ser que no. En PHP 5.4.0 el safe mode se ha eliminado (al fin!!!!!), es como si estuviese en OFF y si los que crean PHP lo dejan así tú, como buena gente que eres, les haces caso… bueno si estás con PHP 5.4+ (esto es 5.4 o superior) ya no te queda más remedio 😉
Ya tenemos nuestro servidor local montado!, si estás en Windows será en C:\xampp\htdocs dónde colocarás los archivos que querrás ver desde el navegador, o sea, el contenido de C:\xampp\htdocs se verá cuando entres en localhost, para MAC debería haber un htdocs dentro de la carpeta del xampp y para linux, si estás con una distro derivada de Debian (como Ubuntu) pues en /var/www/ si estás con otra googlea un poco que lo encontrarás en seguida.
Vamos pues a escribir nuestro primer código en PHP. Como somos muy originales, lo que normalmente se enseña primero en un lenguaje es a imprimir por pantalla un precioso «Hola Mundo!»
Podemos escribir nuestro PHP en cualquier editor de texto, sin embargo es bueno utilizar un editor medianamente avanzado, si estás en windows el notepad++ es un programa muy habitual, aunque para gestionar proyectos web, lo ideal es utilizar un IDE (Netbeans, Eclipse, etc)… un IDE es un entorno de desarrollo integrado… como un editor super-avanzado, tiene autocompletado de código, avisos cuando algo está mal escrito, ayuda de código incorporada y un sinfín de cosillas que nos hacen la vida mucho más sencilla. Yo utilizo Netbeans para PHP, aunque también tengo Eclipse para otro tipo de proyectos.
Nuestro primer código PHP
Vamos al directorio raíz de nuestro espacio web (c:\xampp\htdocs\ /var/www/ …), si vemos un index.html lo renombramos a index2.html (por eso de no borrarlo). Creamos un fichero llamado index.php que abrimos con nuestro editor/IDE favorito y escribimos lo que en todas partes nos dicen que escribamos:
<?php echo 'hola mundo'; ?>
Lo guardamos, entramos en localhost con nuestro navegador favorito y ouuu yeah
Bien, explicamos un poquito el código.
En nuestra primera línea escribimos <?php y en la última ?> esto nos sirve para informar que todo lo escrito en su interior es código PHP. No podemos escribir código PHP si no está dentro de <?php y ?>, de hacerlo no se interpretará el PHP y se mostrará en el navegador el código tal cual, o sea, esto:
echo 'hola mundo'; <?php ?>
Nos mostrará por pantalla lo siguiente:
Bien, ya sabemos que el código PHP va siempre dentro de <?php ?>. OJO, por ahí encontraréis que en vez de abrir el PHP con <?php lo hacen con <?, es algo que está en desuso y NO se debería hacer… son los llamados short tags… van a desaparecer tarde o temprano así que si veis un <? vuestra reacción debe ser «Quita bicho!» y como os hablen de otras formas de ponerlo mucho más arcaicas possssss, en serio <?php y nada más.
Bueno, luego tenemos nuestro genial echo ‘hola mundo’; echo es un constructor del lenguaje cuya finalidad es, exclusivamente, mostrar contenido. Como estamos accediendo a nuestro PHP desde un navegador, el contenido se muestra en la pantalla de nuestro navegador.
El contenido a mostrar en nuestro caso es una cadena de texto. PHP es capaz de reconocer una cadena de texto cuando la encerramos entre comillas; lo que hará será ver dónde está la comilla de apertura, encontrar la de cierre y todo lo que esté en su interior lo va a interpretar como un solo elemento, en nuestro caso como una cadena de texto. Las comillas pueden ser dobles o simples, el uso de un tipo u otro tiene sus peculiaridades, pero lo importante a estas alturas es saber que si yo inicio la cadena de texto con una comilla simple (‘) tengo que cerrarla con la misma (‘).
Importante: Vemos que nuestro echo termina con un ; En PHP las «instrucciones» las finalizamos con un ; En nuestro ejemplo PHP va a interpretar que el echo termina no donde está la ‘ de cierre (eso es el final de la cadena de texto), sino que el echo acaba donde está el ; Por ejemplo, yo podría haber escrito lo siguiente:
<?php echo 'hola ' . 'mundo'; ?>
Y el resultado será el mismo, ya que en PHP se utiliza el . para concatenar variables o cadenas de texto, en nuestro primer ejemplo PHP interpretaría (por así decirlo) «tengo que mostrar por pantalla el texto hola mundo» y en este último ejemplo interpreta «tengo que mostrar por pantalla el texto hola seguido del mundo».
Más importante aún: Cuando escribimos cadenas de texto encerradas entre comillas, se puede dar el caso de que el propio texto incluye una comilla del mismo tipo; en ese caso necesitamos «escapar» la comilla que forma parte del texto, ya que de no hacerlo PHP interpretará que ahí finaliza la cadena de texto cuando no es así y tendremos un maravilloso error fatal. O sea, si escribo:
<?php echo 'hola ' mundo'; ?>
Cuando vea el resultado tendré algo así:
Si al probarlo simplemente sale la pantalla en blanco, es porque la configuración de PHP tiene activada la opción de no mostrar errores por pantalla, cuando estás desarrollando es importante que se muestren (o que los recojas de alguna forma) ya que puede ser complicado detectar el problema sin información 😉
Bueno, tenemos que arreglar este error fatal… se hacía escapando la comilla y escapar la comilla significa, simplemente, ponerle una \ antes, o sea:
<?php echo 'hola \' mundo'; ?>
Y ya iría sin problemas. Esto que hacemos es aplicable a todo, cuando utilizamos un caracter para encerrar contenido o en nuestra cadena de texto existen caracteres que el lenguaje interpreta (como el $), necesitaremos escapar estos caracteres poniendo el \ delante del caracter.
GitHub: PHP paso a paso – Primera toma de contacto
En la próxima entrega
Tenemos nuestro Hola mundo realizado, pero esto no es realmente lo que tenemos que hacer. Estamos viendo nuestro PHP desde un navegador web, por lo que nuestro PHP tiene que enviar al navegador web un documento HTML que muestre el hola mundo.
Lo que vamos a hacer en la próxima entrada será transformar nuestro hola mundo en un documento en HTML5 para que nuestro PHP envíe al navegador web lo que realmente tiene que recibir: Una página web que tiene por contenido un hola mundo.
Está muy bueno este blog y lo que más me copa(como dicen los chicos ahora) es que integras todo, he encontrado tutoriales de php pero como descolgados de html y yo que poco se de esto no lo puedo integrar a lo que quiero hacer en internet, te muestro ademas mi página, que en este momento está en vias de cambio, porque me la han jaqueado y yo sin saberlo, pero bueno el motivo es tu blog y está MUY BUEEEEEEENO!!!
Muchas gracias! Espero que, con un poco de suerte, en una semana o dos publique la nueva entrada sobre php paso a paso y poder empezar, por fin, a plantear una web real e ir creándola poco a poco.
saludos!
Interesante tu pagina, creo que me ayudara a enlazar todos los conocimientos adquiridos hasta aquí para poner en marcha el proyecto que tengo.