Diferencia entre revisiones de «Supuestos PHP»

De MediaWiki
Ir a la navegación Ir a la búsqueda
(Página creada con «= Implementación de patrones = == Singleton == :::<syntaxhighlight lang="php" line enclose="div" highlight="" > <?php class Singleton { private static $instancia =…»)
 
 
(No se muestran 4 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
−
= Implementación de patrones =
+
* [[Programar alta e listaxe contra base de datos]]. EXERCICIO 1.1 de A1 Xuño 2022
 +
* [[Programar login para comprobar credenciais contra baase de datos]]. EXERCICIO 1.2 de A1 Xuño 2022
 +
* [[Programar empregando array asociativo]]. EXERCICIO 1.3 de A1 Xuño 2022
 +
 
 +
= Expresións regulares =
 +
{| class="wikitable"
 +
! 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
 +
| ^([12]?\d)|(3[01])$
 +
|-
 +
| Hora
 +
| ^(1?\d)|(2[0-3])$
 +
|-
 +
| Minutos (ou segundos)
 +
| ^[1-5]?\d$
 +
|-
 +
| Ficheiro con extensión de imaxe
 +
| .\.(gif|png|jpe?g)$
 +
|-
 +
| IP
 +
| ^([01]?\d?\d|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
 +
:::<syntaxhighlight lang="php" line enclose="div" highlight="" >
 +
// index.php login
 +
 
 +
// agregar.php script que incrementa/decrementa as cantidades dun produto
 +
 
 +
// eliminar.php elimina un produto da cesta (da sesión)
 +
 
 +
// mercar.php inserta o pedido na BD
 +
 
 +
// productos.php selección categoría/productos con posibilidade de enviar unidades á cesta
 +
 
 +
// cesta.php visualización da cesta con posibilidade de cambiar unidades e eliminar
 +
 
 +
// autentificación.php se non é un usuario autenticado destrue a sesión e redirixe á pantalla de login
 +
 
 +
// conexión.php conecta coa BD
 +
 
 +
// cerrarSesion.php destrue a sesión e volve á pantalla de login
 +
 
 +
= Implementación de patróns =
 
== Singleton ==
 
== Singleton ==
 
:::<syntaxhighlight lang="php" line enclose="div" highlight="" >
 
:::<syntaxhighlight lang="php" line enclose="div" highlight="" >
Línea 6: Línea 85:
 
  {
 
  {
 
     private static $instancia = null;
 
     private static $instancia = null;
−
     // Constructor privado, no accesible desde fuera y tb. anulamos el constructor por d
+
     // Constructor privado: non accesible desde fóra e tamén anulamos o constructor por defecto
 
     private function __construct() {}
 
     private function __construct() {}
  
Línea 18: Línea 97:
 
  }
 
  }
 
  $singleton=Singleton::getInstance();
 
  $singleton=Singleton::getInstance();
−
  //$singleton=new Singleton();  daría error ya que el constructor es privado
+
  //$singleton=new Singleton();  daría erro xa que o constructor é privado
 
</syntaxhighlight>
 
</syntaxhighlight>

Revisión actual del 19:05 30 jul 2022

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