Está en la página 1de 13

Tutorial de iniciación en PHP

www.phpnight.com
Índice de contenidos

Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Conceptos básicos I – Variables . . . . . . . . . . . . . . . . . . 4
Conceptos básicos II - Expresiones y operadores . . . . . . 5
Conceptos básicos III - Estructuras de control . . . . . . . . 8
Conceptos básicos IV - Funciones y parámetros . . . . . . . 10
Sintaxis en PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Buenas prácticas a la hora de programar . . . . . . . . . . . 12
Notas finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Introducción

Este tutorial en formato PDF recopila las primeras lecciones de


iniciación a la programación en PHP, de la web phpnight.com.

Obviamente los conceptos aquí explicados son extremadamente


básicos, puesto que su enfoque es hacia personas que nunca
manejaron PHP u otro lenguaje de programación. En phpnight.com
podrás encontrar desde las lecciones más básicas a las más
complejas publicadas hasta el momento.

Un saludo y espero que este manual te sea de ayuda.

Marcelo Ferreiro.
Conceptos básicos I – Variables

Las variables son elementos a los que podemos dar un nombre y


asignar un valor, en PHP las variables se distinguen por comenzar su
nombre con el símbolo: $
Luego estas variables podrán interactuar entre sí, creando
expresiones y combinándose con operadores, como veremos más
adelante.

Pongamos un ejemplo, podríamos dar a la variable nombre el valor


‘juan‘, y a la variable edad el valor ‘25‘, esto en la sintaxis de php,
se hace de la siguiente manera:

Si has observado bien, de seguro notaste que la palabra juan esta


entre comillas, mientras el número 25 no lo estaba. Esto nos da paso
a diferenciar tipos de datos:

PHP cuenta con 8 tipos de datos, a continuación desarrollaremos los


5 más básicos:

• Enteros {integer] - Son números enteros, tales como: 10, -


8 ó 25498
• Flotantes {float ó double} - También son números, pero no
se limitan a los enteros, sino que puede ser cualquier número
perteneciente a los reales, entre otros: 17,4 ó 1.2e3
• Booleanos {boolean} - Son la respuesta a una pregunta
lógica, demuestran verdad o falsedad como resultado de una
premisa u operación lógica, pueden ser solamente TRUE o
FALSE (siendo TRUE para verdadero y FALSE para falso).
• Cadenas {string} - Una cadena, es una serie de caracteres,
por ejemplo un nombre (’paco‘), un mes (’febrero‘) o tu frase
favorita (’vayamos a por una taza de café…‘), no tienen un
límite de caracteres ni tampoco limita qué caracteres
ponemos dentro.
Las cadenas o strings, siempre van delimitadas por comillas
simples (’) o dobles (”).
Para obtener más información sobre las cadenas puedes
referirte al manual oficial.
• NULL {null} - Este tipo de variables es un tipo especial, y
una variable del tipo null, solamente puede contener el valor
NULL.
Una variable obtiene el valor NULL sólo si:

1. se ha asignado la constante NULL a la variable


2. la variable no ha sido definida con ningún valor

la variable ha sido eliminada con unset() (unset() es una función que


remueve una variable)
Conceptos básicos II - Expresiones y operadores

Una expresión es “cualquier cosa que contenga un valor”, por lo que


casi cualquier cosa es una expresión.

Por lo tanto asignar el valor a una variable es una expresión:

Y también lo es una función más compleja:

Pero no nos vayamos por las ramas, las funciones las veremos más
adelante…

Un operador es ‘algo’ a lo que le entregamos una o más expresiones


y nos devuelve otra expresión (que puede ser igual o distinta a las
entregadas).
Pongamos un ejemplo sencillo, el operador +, si le entregamos los
valores 3 y 5, nos devolverá el valor 8.

Hagamos una lista de los operadores básicos más utilizados:

Primero los operadores de aritmética, estos son los operadores


más conocidos por la mayoría de nosotros ya que son los mismos
que utilizamos en matemáticas desde que éramos pequeños:
Luego tenemos los operadores lógicos:

También están los operadores de Incremento y Decremento,


que son un poco particulares para quién los ve por primera vez, pero
ya verás como con un ejemplo quedan bien claros ;)

Aquí te preguntarás cuál es la diferencia entre ++$a que incrementa


y luego devuelve y $a++ que devuelve y luego incrementa, veamos
un ejemplo para el que previamente debo hacer 2 aclaraciones que
sólo por ahora serán “sacadas de la manga” y las explicaremos más
adelante:

1. cuando ponemos // (doble barra) en php, significa que desde


ahí en adelante esa linea de código es un comentario del
programador y no se interpretan ni se muestran al
usuario.
2. echo es una sentencia de php que muestra por pantalla una
expresión o variable.

Ahora es tiempo de los Operadores de comparación, veamos el


cuadro:
Por último y para terminar con los las expresiones y operadores
tenemos el operador de cadena.

Este es el ‘.’ (el punto), y lo que hace es concatenar o unir, dos


cadenas de texto.

Así por ejemplo si tenemos “Hola “.”Mundo”, nos da como resultado


una única cadena que dice “Hola Mundo”.
Conceptos básicos III - Estructuras de control

Las estructuras de control nos permiten realizar comprobaciónes y


ejecutar códigos dependiendo la ocasión o iterar (repetir) un proceso
desde un par hasta miles de veces. A continuación explicaremos cada
una en particular:

IF- ejecuta una acción si se cumple una condición dada, si se


cumple la condición, ejecuta lo que está entre corchetes ({})

En este ejemplo, si $a es mayor que $b, crea la variable $c a la que


asigna el valor 5. En el caso de que $a no fuera mayor a $b la
variable $c nunca se crea y no valdría 5.

IF … ELSE- se da una condición y si la misma se cumple ejecuta un


código X, en caso de que no se cumpla, ejecuta otro código Y
(distinto), veamos su sintaxis:

Si $a fuera mayor que $b, $c pasaría a valer 5, en cambio si se diera


lo contrario $c valdría 10.

WHILE- repite un conjunto de sentencias indefinidamente mientras


se cumplala condición.

Esto mostraría por pantalla 123456789, puesto que luego cuando $i


valga 10 no entrará al while y simplemente terminará.
DO … WHILE- Los bucles do..whileson similares a los bucles while,
salvo que la condición se comprueban al final de cada iteración, en
vez de al principio.

Si $i comenzara valiendo 11, en el caso anterior no nunca hubiera


entrado al while, en cambio en este caso, al comprobarse al final, SI
entrará al do, pero al llegar al while saldrá y no volverá a repetirlo (si
repetiría si se cumpliera la condición).

FOR- La estructura fores el bucle más complejo. La sintaxis de esta


estructura es la siguiente y paso a explicarla:

• exp1 se ejecuta una única vez al comienzo del bucle.


• exp2 se evalua al comienzo de cada iteración, de ser TRUE se
continúa ejecutando, si fuera FALSE sale del bucle.
• exp3 se ejecuta al final de cada iteración
• las sentenciasson el código que se ejecuta en cada iteración

Pongamos algunos ejemplos (todos estos ejemplos muestran


números del 1 al 10 por pantalla):
Conceptos básicos IV - Funciones y parámetros

Las funciones son un conjunto de sentencias o instrucciones, que


nos permiten pasarles variables (o parámetros) y recibir un
resultado de vuelta.

Todas las funciones se definen con la palabra function delante del


nombre de la función, luego parentesis (), que pueden o no contener
parámetros dentro, y por último las instrucciones de la función que
van entre llaves {}
Pongamos un ejemplo:

De esta forma, cada vez que yo llame a mifuncion() esta procesará


las instrucciones que haya indicado dentro y me devolverá un
resultado.

Las funciones en general son usadas para resumir procesos que son
utilizados muchas veces en nuestros scripts, por lo que es
conveniente tenerlos resueltos una sola vez en una función y luego
simplemente llamar a dicha función.

Hay dos cosas importantes que debemos saber sobre las funciones,
para pasarle datos a una función, esta función debe aceptarlos entre
los paréntesis, y para que una función nos devuelva un resultado
debemos usar la sentencia return.
Pongamos un ejemplo de una función que acepte dos parámetros, los
multiplique entre si y nos devuelva el resultado:

$num1 y $num2 son variables internas de la función que tomarán el


valor que pasemos al llamar la función, así al llamar la función con 2
y 3 nos devolverá 6 y con 5 y 4, 20. Veamos el código:

Para obtener información complementaria y ver más ejemplos


puedes referirte al manual oficial de PHP, en el apartado Funciones.
Sintaxis en PHP

PHP puede escribirse en un archivo exlusivo para el código PHP o


también ‘embebido’ en el código HTML de una web, en cualquier
caso, debemos delimitar el inicio y el final de un bloque de código
PHP.

La forma principal de delimitarlo es utilizando <?php para abrir el


bloque y ?> para cerrarlo:

Hay otras formas de delimitar el código que son:

• <? [codigo_php] ?> Sólo si se activa la función short_tags() o


la bandera de configuración short_open_tag.
• <% [codigo_php] %> Sólo si se activan los tags para ficheros
‘asp‘ con la bandera de configuración asp_tags.
• <script languaje=”php”> [codigo_php] </script>

Comentarios en PHP

Un comentario es una frase o palabra que incluimos en el código


para su más fácil comprensión por parte de otro programador o
nosotros mismos y que es ignorado por el ordenador.
Ya hemos visto comentarios en algunos ejemplos anteriores, los
comentarios en PHP pueden delimitarse de dos formas:

// al poner 2 barras comentamos toda la línea desde la aparición de las mismas.


# el numeral (o paralelas) funciona de igual forma que las 2 barras
/* con la barra+asterisco,
creamos un comentario multilínea
que terminará cuando pongamos
otra barra+asterisco */

Separación de instrucciones

En PHP entre una instrucción y otra siempre debe aparecer un ;


(punto y coma).
Además de esto, se suele realizar un salto de línea que ayuda a la
legibilidad del código.
Buenas prácticas a la hora de programar

Este post quizá sea algo personal, pero soy una persona bastante
estructurada en general en mi vida, y eso no varía a la hora de
programar. Creo que el orden y la claridad son realmente aspectos
esenciales en el área de programación o desarrollo.
Es por eso que os voy a plantear un decálogo de buenas prácticas a
la hora de programar.

1. A la hora de comenzar un desarrollo plantéate y organízate un


esquema de trabajo, por donde comenzarás, y como dividirás
las tareas, asigna prioridades y mantén tus ideas lo más
ordenadas posible, que para desordenarse ya habrá tiempo!
2. Si lo que estás sentándote a programar es más que un
pequeño script, planea y cumple cuidadosamente un árbol de
carpetas y archivos, y piensa donde se guardará cada archivo
(que luego a todos nos pasa de tener 2 carpetas de imágenes,
o 2 archivos de funciones).
3. Haz tu código lo más limpio y ordenado posible, guarda las
funciones en un archivo funciones.php que puedes incluir (con
include o require).
4. Organiza bien tu código, no dudes en utilizar indentados,
saltos de línea y espacios en blanco.
5. Utiliza nombres de variables representativos, no llames a todo
$var1, $a, $b, si es la fecha de alta, pues ponle $fechaAlta o
$fecha_alta o como te guste, pero se claro, será más facil
entenderte y que te entiendan.
6. Comenta el código, es altamente recomendable que comentes
el código, ya que siempre será muchísimo más facil
entenderlo, incluso para ti mismo si lo retomas pasados
algunos meses.
7. Respalda la información, nada peor que llevar días
desarrollando y que por un corte de luz, una rotura del disco
duro o el motivo que fuere perder la totalidad o parte del
proyecto. No cuesta nada y de seguro que os ahorra unos
dolores de cabeza.
8. Quizá no es lo más útil, pero a veces es lindo tener al
comienzo de un script o proyecto que nos llevará meses, la
fecha en que lo comenzamos.
9. Reutilizar código, utilizar bucles y funciones para tareas que
se realizan varias veces, ahorra código, tiempo y espacio ;)
10. Y por último: no tomes mucho café, recuerda que no eres un
periférico de la PC, no olvides alimentar al perro y recuerda
que lo que empieza por una línea de código ... nadie sabe
donde terminará!
Notas Finales

PHPnight, es un proyecto personal de Marcelo Ferreiro, por medio del cual pretendo aprender y
compartir aprendizaje, sobre temas relacionados a Programación PHP, Aplicaciones Web y
Desarrollo Web en general.
En esta web iré posteando lecciones de PHP (comenzando desde lo más básico, e incrementando
en profundidad y complejidad), además postearé tutoriales de php (míos y de otros autores),
recursos de desarrollo web, ejemplos de códigos, trucos y tips de programación, y artículos
relacionados, entre otras cosas...

El nombre PHPnight sale de mis noches de programación en las que siempre solía poner de
nick en mi programa de mensajería <?phpnight?> (acompañado de un icono de una tacita de
café), refiriendome a aquellas largas y dulces noches de programación, experimentación y
aprendizaje, acompañadas de chill-out y café, o heavy metal y coca-cola!

Sindicación y Feed
El RSS es un sencillo formato de datos, el cual a través de un archivo XML, permite redifundir
contenidos a suscriptores de un sitio web. Hay varias formas de sindicar un feed RSS, entre ellas
vía e-mail (para que cada nuevo contenido llegue directamente a tu dirección de e-mail), a
través de un lector de RSS de escritorio (sin necesidad de un navegador web), o a través de
otros sitios web o las muy usadas “páginas de inicio” (de google, yahoo, entre otras)…
Aprovechando todas estas opciones de sindicación, desde PHPnight, te ofrecemos suscribirte en:
• Google Reader
• My Yahoo
• Technorati
• Bloglines
• Ookos
• Vía e-mail (RSSFWD)

Condiciones de Uso
PHPnight.com se rige por una licencia Creative Commons que permite la utilización de sus
contenidos con fines no comerciales, exigiendo sólo la atribución al autor.
Esto significa que todos los contenidos aquí publicados pueden ser usados libremente, cualquiera
puede copiarlos, reproducirlos, distribuirlos y modificarlos, las únicas condiciones que se
imponen son que sea con un fin no comercial y que se mantenga la atribución original a su autor
(PHPnight.com).