Anda di halaman 1dari 22

INTRODUCCIÓN A PHP

¿Qué es PHP?
PHP es un lenguaje de programación (un lenguaje de script) ejecutado
por un servidor como los scripts CGI (Common Gateway Interface:
interfaz de entrada común) y los ASP (Active Server Pages) y no por
un cliente (un script escrito en Javascript o en applet Java ejecutado
en el ordenador).

La sintaxis del lenguaje proviene del lenguaje de programación C,


del lenguaje de programación Perl (Practical Extraction and Report
Language) y del lenguaje de programación Java. Sus principales
ventajas son:

 Una gran comunidad de desarrolladores que comparte centenas de


miles de ejemplos de script PHP.

 La gratuidad y la disponibilidad del código fuente (PHP es


distribuido bajo licencia GNU GLP).

 La sencillez de escritura de scripts.

 La posibilidad de incluir el script PHP en una página HTML.

 La simplicidad de la interfaz con bases de datos. Numerosos SGBD


(sistemas de gestión de bases de datos) son soportados, pero el
más utilizado con este lenguaje es MySQL, un SGBD gratuito
disponible en numerosas plataformas: Unix, Linux, Windows, MacOs
X, Solaris, etc.

 La integración en numerosos servidores web (Apache, Microsoft IIS,


etc.).

Orígenes de PHP
El lenguaje PHP fue desarrollado en 1994 por Rasmus Lerdorf. Este
lenguaje de script le permite conservar el rastro de los usuarios
que consultaban su CV en su sitio, gracias al acceso a una base de
datos a través del lenguaje de consulta estructurado SQL. Dado que
numerosos internautas le pidieron este programa, Rasmus Lerdorf lo
puso en línea en 1995, la primera versión de este programa se llamó
Personal Sommaire Page Tools, luego Personal Home Page v1.0 (página
personal versión 1.0).
Dado el éxito de PHP 1.0, Rasmus Lerdorf decidió mejorar este lenguaje
integrando estructuras más avanzadas tales como bucles, estructuras
condicionales e integrar un paquete de programas que permitía
interpretar los formularios que había desarrollado (FI, Form
Interpreter) así como el soporte de mSQL.

Es de ese modo la versión 2 del lenguaje, bautizada para la ocasión


como PHP/FI versión 2, apareció en 1995. Fueron rápidamente
utilizados en numerosos sitios (15 000 a fines de 1996, luego 50 000
a mediados de 1997).

A partir de 1997, Zeev Suraski y Andi Gurmans se unieron a Rasmus


para formar a un equipo de programadores para desarrollar PHP 3. Stig
Bakken, Shane Caraveo y Jim Winstead se les unieron más tarde.

Es así como la versión 3.0 de PHP estuvo disponible el 6 de junio de


1998.

A fines del año 1999 la versión 4.0 de PHP, llamada PHP4, apareció.
PHP está actualmente en su séptima versión.

SGBD soportados por PHP


PHP permite un interfaz simple con numerosos sistemas de gestión de
bases de datos (SGBD), entre los cuales están por ejemplo:

 Adabas D
 dBase
 Empress
 FilePro
 Informix
 Interbase
 mSQL
 MySQL
 Oracle
 PostgreSQL
 Solid
 Sybase
 Velocis
 Unix dbm
Servidores para PHP
Un servidor web local (instalado en nuestro propio equipo) suele
ser una solución ideal para realizar pruebas y/o tareas de
administración, instalación o desarrollo. De esta forma, podemos
probar, configurar o programar nuestra aplicación web sin miedo a
estropear la aplicación web oficial o el servidor en producción.

Sin embargo, la configuración e instalación de cada uno de los


componentes necesarios para hacer funcionar una aplicación web en
todas sus capas (servidor web, servidor de bases de datos,
lenguaje de programación, etc.) suele ser costoso, tanto en tiempo
como en complejidad, para usuarios no familiarizados.

Existen packs de software llamados «stacks» que contienen todo lo


necesario para hacer funcionar una aplicación web.
Tradicionalmente, se suelen denominar WAMP (Windows + Apache +
MySQL + PHP) o LAMP (Linux + Apache + MySQL + PHP), por ejemplo,
e incorporan un panel para administrar o acceder a las operaciones
más comunes (iniciar o apagar servicios, configuración,
administración, gestión de logs, etc.).
1. XAMPP
URL | https://www.apachefriends.org/es/index.html
2. WAMPServer
URL | http://www.wampserver.com/en/
3. BitNami
URL | https://bitnami.com/stacks
4. MAMP
URL | https://www.mamp.info/en/
5. EasyPHP
URL | https://www.easyphp.org/
6. NMP Server
URL | https://code.google.com/archive/p/nmp-server/
7. Portable WebServer
URL | https://sourceforge.net/projects/portableserver/
8. UwAmp
URL | http://www.uwamp.com/en/
9. Microsoft WebMatrix
URL | https://go.microsoft.com/fwlink/?LinkID=286266
10. WPN-XM Server
URL | https://wpn-xm.org/
11. NAWS (Network Active Web Server)
URL | https://www.networkactiv.com/WebServer.html
12. Uniform Server
URL | http://www.uniformserver.com/
13. DroidPHP
URL | http://droidphp.github.io/
14. Softaculous AMPPS
URL | http://www.ampps.com/
15. MEAN
URL | http://mean.io/

INSTALACION DE XAMPP
URL | https://www.youtube.com/watch?v=hlzaA_GSA8U

SOLUCIÓN: Problema Servidor XMAPP


No conecta: Apache ni Mysql.
URL | https://www.youtube.com/watch?v=GKpmIIH5ifc
INCLUIR CÓDIGO PHP EN UNA PÁGINA WEB

A diferencia del lenguaje HTML que puede ser interpretado por el


navegador web simplemente haciendo doble clic sobre el archivo
que contiene el código fuente, para poder procesar archivos que
contienen PHP estos deben encontrarse en el directorio adecuado
del servidor web (en Internet, o bien instalado en nuestro propio
ordenador) e introducir la dirección URL en la barra de
direcciones de nuestro navegador web.

Los archivos que contengan código fuente en lenguaje PHP deben


tener extensión .php, y el código PHP se incluirá entre las
etiquetas <?php y ?>, y cada instrucción en código PHP debe
finalizar con punto y coma (al igual que en JavaScript y otros
lenguajes de programación).

Los archivos .php pueden contener código fuente en otros lenguajes


de programación web (HTML, CSS y JavaScript):
COMENTARIOS EN PHP
PHP admite comentarios al estilo de 'C', 'C++' y de consola de
Unix (estilo de Perl). Por ejemplo:

VARIABLES EN PHP
Las variables en PHP son representadas con un signo de dólar ($)
seguido por el nombre de la variable. El nombre de la variable es
sensible a minúsculas y mayúsculas. Es decir, las siguientes
declaraciones de variables son distintas entre ellas:

$variable, $Variable, $variAble, $VariAble


representan a distintas variables.

Recordar que una variable es un espacio de la memoria del ordenador


(en este caso del servidor) a la que asignamos un contenido que a
grandes rasgos puede ser un valor numérico (sólo números, con su
valor de cálculo) o alfanumérico (sólo texto o texto con números,
sin valor de cálculo).
Para declarar un nombre de variable válido, éste tiene que empezar
con una letra (o si no empieza con una letra, tendrá que hacerlo
con un carácter de subrayado), seguido de cualquier número de
letras, números y caracteres de subrayado, sin espacios. Veamos
algunos ejemplos:
Cuando el intérprete PHP detecta un error en la sintaxis al
declarar una variable, cuando tratamos de acceder a la página php
nos aparecerá un mensaje de error. Por ejemplo, si en un archivo
php incluimos una línea como $ A B C = 5; donde el nombre de
variable es inválido ya que tiene espacios intermedios, nos
aparecerá un mensaje de error:

Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE or '$' in


/home/miraiz/domains/midominio.com/public_html/prueba.php on line 3.

Este mensaje nos informa de que hay un problema en el archivo php


y nos indica la línea donde el intérprete considera que está el
problema.

ASIGNAR VALORES A VARIABLES EN PHP


A diferencia de otros lenguajes, PHP posee una gran flexibilidad
a la hora de operar con variables. En efecto, cuando definimos
una variable asignándole un valor, el ordenador le atribuye un
tipo. Si por ejemplo definimos una variable entre comillas, la
variable será considerada de tipo cadena:
TIPOS DE VARIABLES EN PHP
Los tipos de variables básicos son los siguientes:

 lógicas o booleanas (boolean)


Las variables de tipo lógico sólo pueden tener el
valor true (verdadero) o false (falso). Se suelen utilizar
en las estructuras de control.

 enteros (integer)
Las variables de tipo entero pueden guardar números enteros
(positivos o negativos).
 decimales (float)
Las variables de tipo decimal (float) pueden guardar números
decimales (positivos o negativos). Como en las calculadoras,
el separador de la parte entera y la parte decimal es el
punto (.), no la coma (,)

 cadenas (string)
Las variables de tipo cadena pueden guardar caracteres.
PHP no impone ningún límite al tamaño de las cadenas. Las
cadenas pueden ser todo lo largas que permita la memoria del
servidor.

 matrices (arrays)
Existen además los tipos:
 objetos (object)
 recursos (resource)
 nulo (null)
OPERADORES EN PHP

Operadores aritméticos

Son los más sencillos y proporcionan que podamos realizar


operaciones numéricas con las variables.
o + Suma
o – Resta
o * Multiplicación
o / División
o % Módulo (resto de la división)
o ** Exponenciación (4 **2, elevar 4 a la a segunda)

Operadores de asignación

Son los que traspasan valores en variables.


= Asignación
$valor = ‘aquí pondríamos lo que vamos a establecer en la
variable’;
Incluso podríamos asignar que el valor fuese el resultado de
realizar una operación.
$z = 56;
$h = 4;
$i = $z – $h;
Lo que tenemos a la derecha del operador se asigna a la variable
que está a la izquierda. Pero PHP también dispone de una serie de
operadores de asignación que permite realizar la operación en un
único paso.
+= Suma y asignación
-= Resta y asignación
*= Multiplicación y asignación
/= División y asignación
%= Módulo y asignación
.= Concatenación y asignación

Ejemplo:
$x = 7;
$x += 7;
$x valdrá 14
$cadena = “Gritando “;
$cadena .= “al mundo”;
$cadena ahora vale “Gritando al mundo”

Operadores de comparación
Las utilizaremos para comparar dos variables y demostrar si cumple
o no la propiedad del operador.
== Comprueba si son iguales
!= Comprueba si son distintos
=== Comprueba si son iguales y de exactamente el mismo
tipo
!== Comprueba si son distintos o de distinto tipo
<> Diferente (igual que !=)
< Menor que, comprueba si un valor es menor que otro
> Mayor que
<= Menor o igual
>= Mayor o igual
<=> Comparador de orden
?? uno o el otro

Vamos a comparar dos valores en una expresión y realizar algo


cuando se cumpla o no la condición que le asignemos.
$a = 15;
$b = 45;

if($a < $b) {


echo '$a es menor que $b';
}

Al ejecutar el código lo que obtendremos es que la variable a es


menor que la variable b ya que la comparación es afirmativa.
Vamos a añadir los operadores === y !== que además de realizar
una comprobación “igual que”, tienen en cuenta el tipo de variable
que son:
$a = 35;
$b = "35";
if($a == $b) {
echo '$a es igual que $b'; // (no tiene en cuenta el tipo de
variable)
}
Al ejecutarlo nos dice que “a” es igual que “b” porque hemos
utilizado el operador ==. Sin embargo, mira esto:
$a = 35;
$b = "35";

if($a === $b) {


echo '$a es igual que $b, y del mismo tipo';
} else {
echo '$a es distinto que $b, o de distinto tipo';
}
En esta ocasión, obtenemos que a es distinto tipo que b. Esto es
porque hemos usado el operador === y le indicamos a PHP que tenga
en cuenta los tipos de variable.

Operadores Lógicos
Son los que nos devuelven un sí o un no y pueden utilizarse
combinados con los operadores de comparación cuando la expresión
de la condición lo pide.
and Operación lógica “y”, verdadero si ambos son verdaderos.
or Operación lógica “o”, verdadero si uno de ellos es
verdadero
xor Operación lógica “xor”, verdadero si uno de ellos es
verdadero, pero no ambos.
! Operación de negación, si era verdadero pasa a falso y
viceversa.
&& Operación lógica “y”
|| Operación lógica “o”

También se utilizan estos operadores para determinar estructuras


de control. Valores boleanos (sí o no)
$c = true;
$d = false;
if($c && $d) {
echo '$c y $d los dos son verdaderos';
} else {
echo 'o uno de $a o $b son falsos, o los dos son falsos';
}
Ese código nos dirá que “o uno de $c o $d son falsos, o los dos
son falsos”.

Operadores de Incremento
Con ellos, tenemos el atajo, cuando aumentamos o disminuimos una
unidad el valor de una variable y además devuelven ellos mismos
como resultado del operador.
++$a Pre-incremento
$a++ Post-incremento
–$a Pre-decremento
$a– Post-decremento

Para ejemplo, este código:


$a = 7;
$b = ++$a;
echo "\$a vale $a y \$b vale $b";

$a vale 8 y $b vale 8
$a = 7;
$b = $a++;
echo "\$a vale $a y \$b vale $b";
$a vale 8 y $b vale 7

Operadores de cadenas
La concatenación es el operador por excelencia cuando trabajamos
con cadenas de caracteres y sirve para unir unas con otras.
. Concatenación
$saludo = "Bienvenido a ";
$nombre = "Arsys.es";
$La_Bienvenida = $saludo.$nombre;
Echo $La_Bienvenida;
Resultado: “Bienvenido a Arsys.es”
Operadores de precedencia de operadores
La precedencia es un conjunto de reglas y orden por el que se irán
evaluando los operadores.
Podemos obtener resultados diferentes dependiendo del orden en el
que se apliquen esos operadores.

Si tomamos la siguiente expresión: 3 * 4 + 11


Si realizamos la suma primero el resultado es 3 * 15 = 45.
Si hacemos la multiplicación de inicio, el resultado es 12
+ 11 = 23.

La duda que tenemos en este caso es qué operación realizará PHP y


dará por buena. Para eso sirve la precedencia de operadores, para
indicar qué es lo primero que tiene que resolver.

Para esto existen los paréntesis. Con ellos indicamos qué


operadores tienen que resolverse en primera instancia, por lo que
lo antes expuesto podríamos dejarlo de este modo, si queremos
realizar primero la multiplicación y después la suma: (3 * 4) +
11.

ESTRUCTURAS DE CONTROL
SENTENCIA CONDICIONAL IF ... ELSEIF ... ELSE ...

Las construcciones if, else y elseif permite condicionar la


ejecución de un bloque de sentencias al cumplimiento de una
condición.
La sintaxis de la construcción if más sencilla es la siguiente:

if (condición) {
bloque_de_sentencias;
}

La condición se evalúa siempre, si el resultado es true se ejecuta


el bloque de sentencias y si el resultado es false no se ejecuta
el bloque de sentencias.
La construcción if se puede complicar añadiendo la
instrucción else:

if (condición) {
bloque_de_sentencias_1
} else {
bloque_de_sentencias_2
}

La condición se evalúa siempre, si el resultado es true se ejecuta


solamente el bloque de sentencias 1 y si el resultado es false se
ejecuta solamente el bloque de sentencias 2.

La construcción if ... else se puede extender añadiendo la


instrucción elseif:

if (condición_1) {
bloque_de_sentencias_1
} elseif (condición_2) {
bloque_de_sentencias_2
} else {
bloque_de_sentencias_3
}

La condición 1 se evalúa siempre, si el resultado es true se


ejecuta solamente el bloque de sentencias 1 y solamente si el
resultado es false se evalúa la condición 2, si el resultado de
esta es true se ejecuta solamente el bloque de sentencias 2 y si
el resultado es false se ejecuta solamente el bloque de sentencias
3. En cualquier caso solamente se ejecuta uno de los tres bloques
de sentencias.

Se pueden añadir tantas instrucciones elseif como se desee,


teniendo en cuenta que en cualquier caso solamente se ejecuta uno
de los bloques de sentencias.

if (condición_1) {
bloque_de_sentencias_1
} elseif (condición_2) {
bloque_de_sentencias_2
} elseif (condición_3) {
bloque_de_sentencias_3
...
} elseif (condición_n) {
bloque_de_sentencias_n
} else {
bloque_de_sentencias_n+1
}

SENTENCIA CONDICIONAL SWITCH


La sentencia switch es equivalente a una construcción if ...
elseif ... en las que las expresiones son comparaciones de
igualdad de la misma condición con valores distintos.

La sintaxis de la sentencia switch es la siguiente:

switch (expresión_1) {
case valor_1:
bloque_de_sentencias_1;
break;
case valor_2:
bloque_de_sentencias_2;
break;
...
case valor_n:
bloque_de_sentencias_n;
break;
}
que es equivalente a:

if (expresión_1 == valor_1) {
bloque_de_sentencias_1
} elseif (expresión_1 == valor_2) {
bloque_de_sentencias_2
} elseif (expresión_1 == valor_3) {
bloque_de_sentencias_3
...
} elseif (expresión_1 == valor_n) {
bloque_de_sentencias_n
}
Ejemplos:

ESTRUCTURAS DE CONTROL: BUCLE FOR

La sintaxis del bucle for es la siguiente:

for (asignación_inicial; condición_continuación; cambio_variable) {


bloque_de_sentencias
}
La ejecución de esta estructura de control es la siguiente:
 Se establece el valor inicial de la variable de control
definida en la asignación inicial.
 Evalúa la condición de continuación:
o si el resultado es true se ejecuta el bloque de
sentencias, se efectúa el cambio de la variable de
control y se evalúa nuevamente la condición de
continuación;
o si el resultado es false el bucle se termina.
Ejemplo:

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>

La costumbre es que las variables que se utilizan en un bucle se


llamen $i, $j, $k, etc. pero cualquier nombre sería válido:

<?php
for ($contador = 0; $contador < 5; $contador++) {
print "<p>$contador</p>\n";
}
?>

Los bucles no tienen por qué ir contando de uno en uno, la


expresión de paso puede ser cualquiera:

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
La variable también puede tomar valores descendientes:

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
ESTRUCTURAS DE CONTROL: BUCLE WHILE

La sintaxis del bucle while es la siguiente:

while (condición) {
bloque_de_sentencias
}

Cuando se programa un bucle while hay que tener cuidado en que la


condición deje de cumplirse en algún momento, porque si no es así,
el bucle no terminaría nunca.

En los bucles while más sencillos, antes del bucle se inicializa


una variable que se evalúa en la condición y dentro del bucle se
modifica la variable, como muestra el ejemplo siguiente:

<?php
$i = 0;
while ($i < 5) {
print "<p>$i</p>\n";
$i++;
}
?>

ESTRUCTURAS DE CONTROL: BUCLE DO ... WHILE

La sintaxis del bucle do ... while es la siguiente:

do {
bloque_de_sentencias
} while (condición)

El bucle do ... while es muy similar al bucle while, la principal


diferencia es que en el bucle do ... while el bloque de sentencias
se ejecuta por lo menos una vez mientras que en el bucle while
depende de si la condición es cierta o no la primera vez que se
evalúa.

Cuando se programa un bucle do ... while hay que tener cuidado en


que la condición deje de cumplirse en algún momento, porque si no
es así, el bucle no terminaría nunca.
En los bucles do ... while más sencillos, antes del bucle se
inicializa una variable que se evalúa en la condición y dentro
del bucle se modifica la variable, como muestra el ejemplo
siguiente:

<?php
$i = 0;
do {
print "<p>$i</p>\n";
$i++;
} while ($i < 5)
?>

ESTRUCTURAS DE CONTROL: BUCLE FOREACH

El bucle foreach es muy útil para recorrer matrices cuyo tamaño


se desconoce o matrices cuyos índices no son correlativos o
numéricos (matrices asociativas).
La sintaxis del bucle foreach puede ser una de las siguientes:

foreach ($matriz as $valor) {


bloque_de_sentencias
}

foreach ($matriz as $indice => $valor) {


bloque_de_sentencias
}

La ejecución de esta estructura de control es la siguiente:


 Si la matriz no contiene elementos, el bucle no se ejecuta.
 Si la matriz contiene elementos:
o Se asigna el primer valor de la matriz a la variable
auxiliar (y en su caso, el primer índice a la otra
variable auxiliar)
o (*) Se ejecuta el bloque de sentencias
o Si la matriz no contiene más elementos, el bucle deja
de ejecutarse.
o Si la matriz todavía contiene más elementos:
 Se asigna el siguiente valor de la matriz a la
variable auxiliar (y en su caso, el siguiente
índice a la otra variable auxiliar)
 Se vuelve al punto (*) (es decir, se ejecuta de
nuevo el bloque de sentencias, etc.)

El bucle se ejecuta tantas veces como elementos tiene la matriz.


En cada iteración, las variables $indice y $valor van tomando los
valores de los índices y de la matriz para ese índice.
Si sólo se necesitan los valores almacenados en la matriz se puede
utilizar tanto la primera como la segunda forma. Si se necesitan
tanto los índices como los valores se debe utilizar la segunda
forma. Si sólo se necesitan los índices también se debe utilizar
la segunda forma.

En el ejemplo siguiente, el bucle recorre una matriz imprimiendo


sus valores

<?php
$matriz = ["a", "bb", "ccc"];
print "<pre>\n";
print_r($matriz);
print "</pre>\n";
foreach ($matriz as $valor) {
print "<p>$valor</p>\n";
}
print "<p>Final</p>\n";
?>

En el ejemplo siguiente, el bucle recorre una matriz imprimiendo


sus índices y valores:

<?php
$matriz = ["uno" => "a", 2 => "bb", "tres" => "ccc"];
print "<pre>\n";
print_r($matriz);
print "</pre>\n";
foreach ($matriz as $indice => $valor) {
print "<p>$indice - $valor</p>\n";
}
print "<p>Final</p>\n";
?>
Si la matriz es una matriz vacía, el bucle simplemente no se
ejecuta, como muestra el siguiente ejemplo:

<?php
$matriz = [];
print "<pre>\n";
print_r($matriz);
print "</pre>\n";
foreach ($matriz as $indice => $valor) {
print "<p>$indice - $valor</p>\n";
}
print "<p>Final</p>\n";
?>

<?php
$moneda=array("España"=> "Peseta","Francia" => "Franco","USA"
=> "Dolar");
foreach ($moneda as $clave=>$valor)
{
echo "Pais: $clave Moneda: $valor<br>";
}
?>

Anda mungkin juga menyukai