Supuestos PHP
Expresións regulares
| Expresión | Patrón | ||
|---|---|---|---|
| Código Postal | ^\d{5}$ | ||
| NIF | ^\d{8}[TRWAGMYFPDXBNJZSQVHLCKE]$ | ||
| Matrículas (novas) | ^\d{4}[BCDFGHJKLMNPRSTVWXYZ]{3}$ | ||
| N.º entero positivo | ^\d+$ | ||
| N.º entero con signo | ^[+\-]?\d+$ | ||
| Nº real con ata 4 decimais | ^\d*[\.,]?\d{0,4}$ dejando todo opcional encajaría “” ! | ||
| Nº do día da semana | ^[1-7]$ | ||
| Nº do mes | (3[01])$ | ||
| Hora | (2[0-3])$ | ||
| Minutos (ou segundos) | ^[1-5]?\d$ | Ficheiro con extensión de imaxe | png|jpe?g)$ |
| IP | 2[0-4]\d|25[0-5])(\.[01]?\d?\d|2[0-4]\d|25[0-5]){3}$ | ||
| Correo electrónico | ^.+@.+\.([\da-zA-Z]){2,}$ |
Servizos web
Con SOAP
Con REST
Cesta da compra
Aplicación web con con autenticación de usuarios e cesta da compra onde se poden mercar produtos agrupados por categorías. A información da cesta almacénasa en sesión (pares codProducto / cantidad) Pódese seleccionar a opción Mercar ó finalizar a compra: insertaranse os rexistros adecuados nas taboas pedidos e lineaspedido.
NOTA: produtos, cesta e mercar están repartidos nos cartafois M (modelos), V(vistas) e no controlador
1 // index.php login 2 3 // agregar.php script que incrementa/decrementa as cantidades dun produto 4 5 // eliminar.php elimina un produto da cesta (da sesión) 6 7 // mercar.php inserta o pedido na BD 8 9 // productos.php selección categoría/productos con posibilidade de enviar unidades á cesta 10 11 // cesta.php visualización da cesta con posibilidade de cambiar unidades e eliminar 12 13 // autentificación.php se non é un usuario autenticado destrue a sesión e redirixe á pantalla de login 14 15 // conexión.php conecta coa BD 16 17 // cerrarSesion.php destrue a sesión e volve á pantalla de login 18 19 = Implementación de patróns = 20 == Singleton == 21 :::<syntaxhighlight lang="php" line enclose="div" highlight="" > 22 <?php 23 class Singleton 24 { 25 private static $instancia = null; 26 // Constructor privado: non accesible desde fóra e tamén anulamos o constructor por defecto 27 private function __construct() {} 28 29 private function __clone() {} // evitamos clonados 30 31 public static function getInstance() { 32 if (is_null(self::$instancia)) 33 self::$instancia = new Singleton(); 34 return self::$instancia; 35 } 36 } 37 $singleton=Singleton::getInstance(); 38 //$singleton=new Singleton(); daría erro xa que o constructor é privado