Supuestos PHP

De MediaWiki
Ir a la navegación Ir a la búsqueda

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}$ deixando todo opcional encaixarí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