PHP es un acrónimo recursivo de "PHP: Preprocesador de hipertexto". PHP es un lenguaje de programación del lado del servidor que está integrado en HTML. Se utiliza para administrar contenido dinámico, bases de datos, seguimiento de sesiones e incluso crear sitios completos de comercio electrónico.
Usos comunes de PHP -
PHP realiza funciones del sistema, es decir, a partir de archivos en un sistema que puede crear, abrir, leer, escribir y cerrar.
PHP puede manejar formularios, es decir, recopilar datos de archivos, guardar datos en un archivo, a través del correo electrónico puede enviar datos, devolver datos al usuario.
Agrega, elimina, modifica elementos dentro de su base de datos a través de PHP.
Accede a las variables de cookies y configura cookies.
Con PHP, puede restringir el acceso de los usuarios a algunas páginas de su sitio web.
Puede cifrar datos.
Todo el código PHP debe incluirse dentro de una de las tres etiquetas de marcado especiales que el analizador PHP reconoce.
<?php PHP code goes here ?>
<? PHP code goes here ?>
<script language="php"> PHP code goes here </script>
Most common tag is the <?php...?>
El archivo de configuración de PHP, php.ini, es la forma final y más inmediata de afectar la funcionalidad de PHP. El archivo php.ini se lee cada vez que se inicializa PHP, en otras palabras, siempre que se reinicia httpd para la versión del módulo o con cada ejecución de script para la versión CGI. Si su cambio no aparece, recuerde detener y reiniciar httpd. Si aún no aparece, use phpinfo () para verificar la ruta a php.ini.
El motor de análisis de PHP necesita una forma de diferenciar el código PHP de otros elementos de la página. El mecanismo para hacerlo se conoce como "escapar a PHP".
Los espacios en blanco son las cosas que escribe que suelen ser invisibles en la pantalla, incluidos los espacios, las tabulaciones y los retornos de carro (caracteres de final de línea). PHP insensible al espacio en blanco significa que casi nunca importa cuántos caracteres de espacio en blanco tiene en una fila. Un carácter de espacio en blanco es lo mismo que muchos de esos caracteres.
No, PHP distingue parcialmente entre mayúsculas y minúsculas.
Aquí están las cosas más importantes que debe saber sobre las variables en PHP.
Todas las variables en PHP se indican con un signo de dólar inicial ($).
El valor de una variable es el valor de su asignación más reciente.
Las variables se asignan con el operador =, con la variable a la izquierda y la expresión a evaluar a la derecha.
Las variables pueden, pero no es necesario, declararse antes de la asignación.
Las variables en PHP no tienen tipos intrínsecos: una variable no sabe de antemano si se utilizará para almacenar un número o una cadena de caracteres.
Las variables utilizadas antes de su asignación tienen valores predeterminados.
PHP hace un buen trabajo al convertir automáticamente tipos de uno a otro cuando es necesario.
Las variables de PHP son similares a las de Perl.
PHP tiene un total de ocho tipos de datos que usamos para construir nuestras variables:
Integers - son números enteros, sin punto decimal, como 4195.
Doubles - son números de punto flotante, como 3.14159 o 49.1.
Booleans - tener solo dos valores posibles, verdadero o falso.
NULL - es un tipo especial que solo tiene un valor: NULL.
Strings - son secuencias de caracteres, como "PHP admite operaciones de cadena".
Arrays - son colecciones nombradas e indexadas de otros valores.
Objects - son instancias de clases definidas por el programador, que pueden empaquetar otros tipos de valores y funciones que son específicos de la clase.
Resources - son variables especiales que contienen referencias a recursos externos a PHP (como conexiones de bases de datos).
Las reglas para nombrar una variable son las siguientes:
Los nombres de las variables deben comenzar con una letra o un carácter de subrayado.
Un nombre de variable puede constar de números, letras, guiones bajos, pero no puede usar caracteres como +, -,%, (,). &, etc
Aquí están las reglas para determinar la "verdad" de cualquier valor que aún no sea del tipo booleano:
Si el valor es un número, es falso si es exactamente igual a cero y verdadero en caso contrario.
Si el valor es una cadena, es falso si la cadena está vacía (tiene cero caracteres) o es la cadena "0", y es verdadero en caso contrario.
Los valores de tipo NULL siempre son falsos.
Si el valor es una matriz, es falso si no contiene otros valores y es verdadero en caso contrario. Para un objeto, contener un valor significa tener una variable miembro a la que se le ha asignado un valor.
Los recursos válidos son verdaderos (aunque algunas funciones que devuelven recursos cuando tienen éxito, devolverán FALSE cuando no lo sean).
No use el doble como booleanos.
NULL es un tipo especial que solo tiene un valor: NULL. Para darle a una variable el valor NULL, simplemente asígnelo así:
$my_var = NULL;
La constante especial NULL se escribe con mayúscula por convención, pero en realidad no distingue entre mayúsculas y minúsculas; también podrías haber escrito -
$my_var = null;
Una variable a la que se le ha asignado NULL tiene las siguientes propiedades:
Se evalúa como FALSO en un contexto booleano.
Devuelve FALSE cuando se prueba con la función IsSet ().
Para definir una constante, debe usar la función define () y para recuperar el valor de una constante, simplemente debe especificar su nombre. A diferencia de las variables, no es necesario tener una constante con $.
Como lo indica el nombre, esta función devolverá el valor de la constante. Esto es útil cuando desea recuperar el valor de una constante, pero no conoce su nombre, es decir, está almacenado en una variable o devuelto por una función.
<?php
define("MINSIZE", 50);
echo MINSIZE;
echo constant("MINSIZE"); // same thing as the previous line
?>
Solo los datos escalares (booleanos, enteros, flotantes y cadenas) pueden estar contenidos en constantes.
No es necesario escribir un signo de dólar ($) antes de una constante, mientras que en Variable uno tiene que escribir un signo de dólar.
Las constantes no se pueden definir mediante una asignación simple, solo se pueden definir mediante la función define ().
Las constantes se pueden definir y acceder a ellas en cualquier lugar sin tener en cuenta las reglas de alcance de las variables.
Una vez que se han establecido las constantes, no se pueden redefinir ni dejar de definir.
PHP proporciona una gran cantidad de constantes predefinidas a cualquier script que ejecute, conocidas como constantes mágicas.
_LINE_: el número de línea actual del archivo.
_FILE_: la ruta completa y el nombre de archivo del archivo. Si se usa dentro de una inclusión, se devuelve el nombre del archivo incluido. Desde PHP 4.0.2, _FILE_ siempre contiene una ruta absoluta, mientras que en versiones anteriores contenía una ruta relativa en algunas circunstancias.
_FUNCTION_: el nombre de la función. (Agregado en PHP 4.3.0) A partir de PHP 5, esta constante devuelve el nombre de la función tal como se declaró (distingue entre mayúsculas y minúsculas). En PHP 4, su valor siempre está en minúsculas.
_CLASS_: el nombre de la clase. (Agregado en PHP 4.3.0) A partir de PHP 5, esta constante devuelve el nombre de la clase tal como se declaró (distingue entre mayúsculas y minúsculas). En PHP 4, su valor siempre está en minúsculas.
_METHOD_: el nombre del método de la clase. (Agregado en PHP 5.0.0) El nombre del método se devuelve como se declaró (distingue entre mayúsculas y minúsculas).
break termina la instrucción for loop o switch y transfiere la ejecución a la instrucción que sigue inmediatamente al bucle for o switch.
continue hace que el bucle omita el resto de su cuerpo e inmediatamente vuelva a probar su condición antes de reiterar.
La instrucción foreach se utiliza para recorrer matrices. Para cada pasada, el valor del elemento de la matriz actual se asigna a $ value y el puntero de la matriz se mueve en uno y en la siguiente pasada se procesará el siguiente elemento.
foreach (array as value)
{
code to be executed;
}
Matriz numérica: una matriz con un índice numérico. Los valores se almacenan y se accede a ellos de forma lineal.
Matriz asociativa: una matriz con cadenas como índice. Esto almacena los valores de los elementos en asociación con los valores clave en lugar de en un orden de índice lineal estricto.
Matriz multidimensional: se accede a una matriz que contiene una o más matrices y valores mediante varios índices.
Para concatenar dos variables de cadena juntas, use el operador de punto (.) -
<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>
Esto producirá el siguiente resultado:
Hello World 1234
La función strlen () se usa para encontrar la longitud de una cadena. Encontremos la longitud de nuestra cadena "¡Hola mundo!" -
<?php
echo strlen("Hello world!");
?>
Esto producirá el siguiente resultado:
12
La función strpos () se usa para buscar una cadena o carácter dentro de una cadena. Si se encuentra una coincidencia en la cadena, esta función devolverá la posición de la primera coincidencia. Si no se encuentra ninguna coincidencia, devolverá FALSE. Veamos si podemos encontrar la cadena "mundo" en nuestra cadena -
<?php
echo strpos("Hello world!","world");
?>
Esto producirá el siguiente resultado:
6
PHP proporciona una función getenv () para acceder al valor de todas las variables de entorno.
Una de las variables ambientales establecidas por PHP es HTTP_USER_AGENT, que identifica el navegador y el sistema operativo del usuario.
La función PHP rand () se utiliza para generar un número aleatorio. Esta función puede generar números dentro de un rango determinado. El generador de números aleatorios se debe sembrar para evitar que se genere un patrón regular de números. Esto se logra usando la función srand () que especifica el número de semilla como argumento.
La variable predeterminada de PHP $ _PHP_SELF se usa para el nombre del script PHP y cuando hace clic en el botón "enviar", se llamará al mismo script PHP.
La función PHP header () proporciona encabezados HTTP sin procesar al navegador y se puede usar para redirigirlo a otra ubicación. El script de redirección debe estar en la parte superior de la página para evitar que se cargue cualquier otra parte de la página. El destino lo especifica el encabezado Location: como argumento de la función header (). Después de llamar a esta función, la función exit () se puede usar para detener el análisis del resto del código.
El encabezado HTTP será diferente del encabezado real donde enviamos el tipo de contenido como texto / html \ n \ n. En este caso, el tipo de contenido será application / octet-stream y el nombre del archivo real se concatenará junto con él. Por ejemplo, si desea que un archivo FileName se pueda descargar desde un enlace determinado, su sintaxis será la siguiente.
#!/usr/bin/perl
# HTTP Header
print "Content-Type:application/octet-stream; name=\"FileName\"\r\n";
print "Content-Disposition: attachment; filename=\"FileName\"\r\n\n";
# Actual File Content
open( FILE, "<FileName" );
while(read(FILE, $buffer, 100) )
{
print("$buffer");
}
PHP proporciona una matriz asociativa $ _GET para acceder a toda la información enviada utilizando el método GET.
PHP proporciona una matriz asociativa $ _POST para acceder a toda la información enviada utilizando el método POST.
La variable PHP $ _REQUEST contiene el contenido de $ _GET, $ _POST y $ _COOKIE. Discutiremos la variable $ _COOKIE cuando expliquemos sobre las cookies. La variable PHP $ _REQUEST se puede utilizar para obtener el resultado de los datos del formulario enviados con los métodos GET y POST.
array (): crea una matriz.
sort (): ordena una matriz.
Las cadenas entre comillas simples se tratan casi literalmente, mientras que las cadenas entre comillas dobles reemplazan las variables con sus valores e interpretan de manera especial ciertas secuencias de caracteres.
<?php
$variable = "name";
$literally = 'My $variable will not print!\\n';
print($literally);
print "<br />";
$literally = "My $variable will print!\\n";
print($literally);
?>
Esto producirá el siguiente resultado:
My $variable will not print!\n
My name will print
Para concatenar dos variables de cadena juntas, use el operador de punto (.).
<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>
Esto producirá el siguiente resultado:
Hello World 1234
La variable PHP $ _REQUEST contiene el contenido de $ _GET, $ _POST y $ _COOKIE. Discutiremos la variable $ _COOKIE cuando expliquemos sobre las cookies. La variable PHP $ _REQUEST se puede utilizar para obtener el resultado de los datos del formulario enviados con los métodos GET y POST.
Hay dos funciones PHP que se pueden utilizar para incluir un archivo PHP en otro archivo PHP.
La función include ()
La función require ()
Si hay algún problema al cargar un archivo, la función require () genera un error fatal y detiene la ejecución del script, mientras que la función include () genera una advertencia pero el script continuará la ejecución.
La función PHP fopen () se usa para abrir un archivo. Requiere dos argumentos que indiquen primero el nombre del archivo y luego el modo en el que operar. El modo "r" abre el archivo solo para lectura y coloca el puntero del archivo al principio del archivo.
Una vez que se abre un archivo usando la función fopen (), se puede leer con una función llamada fread (). Esta función requiere dos argumentos. Estos deben ser el puntero del archivo y la longitud del archivo expresada en bytes.
La longitud de los archivos se puede encontrar usando la función () que toma el nombre del archivo como argumento y devuelve el tamaño del archivo expresado en bytes.
La existencia del archivo se puede confirmar usando la función file_exist () que toma el nombre del archivo como argumento.
¡Si! Puede configurar un parámetro para que tenga un valor predeterminado si la persona que llama a la función no lo pasa.
PHP proporcionó la función setcookie () para configurar una cookie. Esta función requiere hasta seis argumentos y se debe llamar antes de la etiqueta <html>. Para cada cookie, esta función debe llamarse por separado.
setcookie(name, value, expire, path, domain, security);
PHP proporciona muchas formas de acceder a las cookies. La forma más sencilla es utilizar las variables $ _COOKIE o $ HTTP_COOKIE_VARS.
Puede usar la función isset () para verificar si una cookie está configurada o no.
Para eliminar una cookie, debe llamar a setcookie () solo con el argumento de nombre.
Una sesión PHP se inicia fácilmente haciendo una llamada a la función session_start (). Esta función primero verifica si una sesión ya se inició y si no se inició ninguna, entonces inicia una. Se recomienda poner la llamada a session_start () al principio de la página.
Las variables de sesión se almacenan en una matriz asociativa llamada $ _SESSION []. Se puede acceder a estas variables durante la vida útil de una sesión.
Utilice la función isset () para verificar si la variable de sesión ya está configurada o no.
Aquí está el ejemplo para desarmar una sola variable:
<?php
unset($_SESSION['counter']);
?>
Una sesión de PHP puede ser destruida por la función session_destroy ().
PHP utiliza la función mail () para enviar un correo electrónico. Esta función requiere tres argumentos obligatorios que especifican la dirección de correo electrónico del destinatario, el asunto del mensaje y el mensaje real, además, hay otros dos parámetros opcionales.
mail( to, subject, message, headers, parameters );
Esta es una variable PHP global. Esta variable es una matriz asociada de doble dimensión y mantiene toda la información relacionada con el archivo cargado.
Usando $ _FILES ['file'] ['tmp_name'] - proporciona acceso al archivo cargado en el directorio temporal en el servidor web.
Usando $ _FILES ['archivo'] ['nombre'] - proporciona el nombre real del archivo cargado.
Usando $ _FILES ['archivo'] ['tamaño'] - proporciona el tamaño en bytes del archivo cargado.
Usando $ _FILES ['archivo'] ['tipo'] - proporciona el tipo MIME del archivo cargado.
Usando $ _FILES ['archivo'] ['error'] - proporciona el código de error asociado con la carga de este archivo.
$ GLOBALS: contiene una referencia a cada variable que está disponible actualmente dentro del alcance global del script. Las claves de esta matriz son los nombres de las variables globales.
$ _SERVER: esta es una matriz que contiene información como encabezados, rutas y ubicaciones de scripts. Las entradas de esta matriz son creadas por el servidor web. No hay garantía de que todos los servidores web proporcionen alguno de estos. Consulte la siguiente sección para obtener una lista completa de todas las variables SERVER.
$ _COOKIE: una matriz asociativa de variables que se pasan al script actual a través de cookies HTTP.
$ _SESSION: una matriz asociativa que contiene variables de sesión disponibles para el script actual.
$ _PHP_SELF: una cadena que contiene el nombre del archivo de secuencia de comandos PHP en el que se llama.
$ php_errormsg - $ php_errormsg es una variable que contiene el texto del último mensaje de error generado por PHP.
ereg (): la función ereg () busca una cadena especificada por cadena para una cadena especificada por patrón, devolviendo verdadero si se encuentra el patrón y falso en caso contrario.
eregi (): la función eregi () busca en una cadena especificada por patrón una cadena especificada por cadena. La búsqueda no distingue entre mayúsculas y minúsculas.
La función split () dividirá una cadena en varios elementos, los límites de cada elemento se basan en la aparición del patrón en la cadena.
preg_match (): la función preg_match () busca un patrón en la cadena y devuelve verdadero si el patrón existe y falso en caso contrario.
La función preg_split () opera exactamente como split (), excepto que las expresiones regulares se aceptan como parámetros de entrada para el patrón.
Usando el método getMessage () de la clase Exception que devuelve el mensaje de excepción.
Usando el método getCode () de la clase Exception que devuelve el código de excepción.
Usando el método getFile () de la clase Exception que devuelve el nombre del archivo fuente.
Usando el método getLine () de la clase Exception que devuelve la línea fuente.
Usando el método getTrace () de la clase Exception que devuelve una matriz del backtrace.
Usando el método getTraceAsString () de la clase Exception que devuelve una cadena formateada de seguimiento.
La función time () de PHP le brinda toda la información que necesita sobre la fecha y hora actuales. No requiere argumentos pero devuelve un número entero.
La función getdate () acepta opcionalmente una marca de tiempo y devuelve una matriz asociativa que contiene información sobre la fecha. Si omite la marca de tiempo, funciona con la marca de tiempo actual devuelta por time ().
La función date () devuelve una cadena formateada que representa una fecha. Puede ejercer una enorme cantidad de control sobre el formato que devuelve date () con un argumento de cadena que debe pasarle.
PHP proporciona la función mysql_connect para abrir una conexión de base de datos.
connection mysql_connect(server,user,passwd,new_link,client_flag);
PHP usa la función mysql_query para crear una base de datos MySQL. Esta función toma dos parámetros y devuelve VERDADERO en caso de éxito o FALSO en caso de error.
bool mysql_query( sql, connection );
Su función más simple mysql_close PHP proporciona para cerrar una conexión de base de datos. Esta función toma el recurso de conexión devuelto por la función mysql_connect. Devuelve VERDADERO en caso de éxito o FALSO en caso de error.
bool mysql_close ( resource $link_identifier );
Si no se especifica un recurso, se cierra la última base de datos abierta.
El nuevo módulo SimpleXML de PHP 5 hace que analizar un documento XML sea simple. Convierte un documento XML en un objeto que proporciona acceso estructurado al XML. Para crear un objeto SimpleXML a partir de un documento XML almacenado en una cadena, pase la cadena a simplexml_load_string (). Devuelve un objeto SimpleXML.
¡Si!
PHP proporciona una función especial llamada __construct () para definir un constructor. Puede pasar tantos argumentos como desee a la función constructora.
Como una función constructora, puede definir una función destructora usando la función __destruct (). Puede liberar todos los recursos dentro de un destructor.
La variable $ this es una variable especial y se refiere al mismo objeto, es decir. sí mismo.
Una vez que haya definido su clase, podrá crear tantos objetos como desee de ese tipo de clase. A continuación se muestra un ejemplo de cómo crear un objeto usando un operador nuevo.
$physics = new Books;
$maths = new Books;
$chemistry = new Books;
Después de crear sus objetos, podrá llamar a funciones miembro relacionadas con ese objeto. Una función miembro solo podrá procesar la variable miembro del objeto relacionado. El siguiente ejemplo muestra cómo establecer el título y los precios de los tres libros llamando a funciones miembro.
$physics−>setTitle( "Physics for High School" );
$chemistry−>setTitle( "Advanced Chemistry" );
$maths−>setTitle( "Algebra" );
$physics−>setPrice( 10 );
$chemistry−>setPrice( 15 );
$maths−>setPrice( 7 );
Las definiciones de funciones en las clases secundarias anulan las definiciones con el mismo nombre en las clases principales. En una clase secundaria, podemos modificar la definición de una función heredada de la clase principal.
Las interfaces se definen para proporcionar nombres de funciones comunes a los implementadores. Diferentes implementadores pueden implementar esas interfaces de acuerdo con sus requisitos. Se puede decir que las interfaces son skeltons que implementan los desarrolladores.
PHP 5 introduce la palabra clave final, que evita que las clases secundarias anulen un método prefijando la definición con final. Si la clase en sí se define como definitiva, no se puede ampliar.