Código del curso de PHP y MYSQL
Lenguaje de programación, también llamado de script que se ejecuta del lado servidor
Documento de texto donde colocamos instrucciones u órdenes que luego serán ejecutadas por un dispositivo inteligente
Un servidor o server, en el lenguaje informático, es un ordenador y sus programas, que están al servicio de otros ordenadores. El servidor atiende y responde a las peticiones que le hacen los otros ordenadores. Los otros ordenadores, que le hacen peticiones, serán los clientes del servidor.
<?php
// Forma recomenda de
?>
<?
// Admitido desde PHP 7 siempre y cuando la directiva short_open_tag se encuentre en on (fichero php.ini)
?>
Otras formas
<script language = “php”>
// Tu código aquí
</script>
<%
Tu código aquí
%>
# Comentario de una línea
// Otra forma de comentar en una línea
/*
Comentario
en más de una línea
*/
phpinfo()
PHP igual que JavaScript es un lenguaje débilmente y dinámicamente tipado, por lo tanto no suele utilizar palabras reservadas para indicar el tipo de dato.
Esto no quiere decir que no existan los tipos de datos:
- String: Cadena de texto
- Integer: Numeros enteros
- Double: Numeros con decimales
- Boolean: Verdadero o Falso (true / false)
- Array: Arreglo
- Object: Objeto
- Class: Clase
- Null: Cuando a una variable aun no se le ha asignado ningun valor
Para saber el tipo de dato disponemos de la función gettype($variable)
print_r(true); // 1
var_dump(true); // bool(true)
gettype('Xurxo'); // string
$semana = array('Lunes','Martes','Miércoles','Jueves','Viernes','Sábado');
// Otra manera
$diasSemana = ['Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'];
// Array asociativo
$notas = ['Antonio' => 5, 'Juanjo' => 8, 'Teresa' => 9];
(PHP 4, PHP 5, PHP 7, PHP 8). php.net
extract — Importar variables a la tabla de símbolos actual desde un array
$notas = ['Antonio' => 5, 'Juanjo' => 8, 'Teresa' => 9];
extract($notas);
echo $Antonio; // 5
Arrays asociativos que permiten acceso a las variables pasadas a través de un formulario dependiendo del método del envío
# trim() limpiamos los espacios en blanco por la izquierda y la derecha
# strlen() longitud de un string
# substr() extraemos texto
# strtoupper() pasamos a mayúsculas
# strtolower() pasamos a minúsculas
# strpos() posición / índice de una parte de la cadena
- Comprobar si un formulario fue envíado
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Gestionamos formulario con método POST
}
- Otra marera de comprobar si un formulario fue envíado
Se pulsó un botón con el atributo "name" y el método de envío es "post"
if (isset($_POST['enviar'])) { // isset() es un función que comprueba si una variable fue definida
// Gestionamos formulario
}
Expecialmente útil para evitar inyección de código malicioso en nuestras páginas.
$texto = '<script>alert("Toma virus")<script>'
htmlspecialchars($texto);
<form action="<?=htmlspecialchars($_SERVER['PHP_SELF'])?>">
<textarea name="comentarios" cols="30" rows="10" placeholder="Sus comentarios aquí"><?=$comentarios??''?></textarea>
<br>
<button>Enviar</button>
</form>
<?php
$number_string = '12.34';
echo filter_var( $number_string, FILTER_SANITIZE_NUMBER_FLOAT ); // 1234
echo filter_var( $number_string, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ); // 12.34
?>
<?php
$para = 'nobody@example.com';
$titulo = 'El título';
$mensaje = 'Hola';
$cabeceras = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($para, $titulo, $mensaje, $cabeceras);
?>
Una clase no es más que una plantilla o un abstracción de una entidad del mundo real que pretendemos modelizar.
class Contador {
private int $cuenta = 0;
public int $intervalo = 1;
function __construct (int $number) {
$this->cuenta = (int) $number;
}
}
En el ejemplo anterior hemos visto una clase llamada Contador del que podemos obtener o instanciar varios objetos contadores.
El método contructor nos permite crear un objeto con un estado inicial. En el ejemplo de abajo creamos dos contadores. Uno con la propiedad $cuenta con valor 0 y el otro con 1.
$contador1 = new Contador(0);
$contador2 = new Contador(1);
Tanto las propiedades (variables de una clase) como los métodos (funciones de una clase) pueden ser públicos o privados.
Una propiedad o método público pueden ser accedidos desde fuera del objeto:
echo $contador->intervalo; // 1
En cambio una propiedad o método privado sólo pueden ser accesibles desde el interior de la clase
echo $contador->cuenta; // Undefined property '$cuenta'.
Decimos que el encapsulamiento en la programación orientada a objetos es cuando limitamos el acceso o damos un acceso restringido de una propiedad a los elementos que necesita un miembro y no a ninguno más.
Ejemplos:
- Clases
- Modificadores de acceso (public, private, protected)
- getters/setters
Una clase abstracta es el mayor rango de abstracción que se puede dar una clase. Esto es, sudodicha clase sólo puede ser utilizado como plantilla y nunca puede ser instanciado.
abstract class Persona {
public function saludo(){
return 'Hola!';
}
}
class Estudiante extends Persona {
}
$carlos = new Estudiante;
echo $carlos->saludo();
$_SESSION Se trata de una array asociativo que contiene variables de sesión del actual script. Es una variable superglobal lo que quiere decir que su scope es accesible desde cualquier parte del script. Un sesión durá lo que esté abierto el navegador
<?php
// Creating New Session
session_start();
/*Si tu no abres previamente la sesión la variable glogal $_Session no se podrá utilizar*/
$_SESSION["xurxo"]='logged';
?>
<?php
define('HOST', $_SERVER["HTTP_HOST"]); //ej --> localhost
define('RUTA_DOCUMENTO',$_SERVER['DOCUMENT_ROOT']) ;//C:/Users/xurxo/Desktop/CURSO_MF0492_3/php/PROYECTOS/CUSTOMER
define('PROTOCOL',(stripos($_SERVER['SERVER_PROTOCOL'],'https') === 0) ? 'https://' : 'http://'); // ej --> http://
define('PAGINA_ACTUAL', PROTOCOL.HOST.$_SERVER["PHP_SELF"]); //ejemplo --> http://localhost/contacto.php
define('CSS',PROTOCOL.HOST.'/css/');
define('JS',PROTOCOL.HOST.'/js/');
define('PAGINA_PUBLICA',PROTOCOL.HOST);
define('ENLACE_ACTUAL', PROTOCOL.HOST.$_SERVER["REQUEST_URI"]); //ejemplo --> http://localhost/contacto.php?nombre=Xurxo
?>
- PHP Server
- PHP Intelephense
- PHP Debug
- Ejercicios básicos 1
- Ejercicios básicos 2
- POO - Contador, Password
- POO - Cancion, CD
- POO - Abstract, Static
- POO - Refuerzo Clases: herencia, clases y métodos abstractos, static, datetime
Suponiendo un fichero acceso.php en la ruta raíz de la instalación de wordpress
<?php
require_once('wp-config.php');
require_once('wp-includes/user.php');
$user = wp_authenticate_username_password(null, 'xurxo', 'Tq0xuxvBMs');
// print_r($userData->user_pass);
print_r($user);