Diferencia entre revisiones de «Usuario:ManuelRomero/composer»
De WikiEducator
Línea 318: | Línea 318: | ||
</source> | </source> | ||
</div><div class="slide"> | </div><div class="slide"> | ||
+ | ;Index.php | ||
+ | <source lang=php> | ||
+ | //Primero cargaremos todos los ficheros | ||
+ | <?php | ||
+ | require "./librerias/A.php"; | ||
+ | require "./librerias/B.php"; | ||
+ | require "./librerias/C.php"; | ||
+ | require "./librerias/comunes/A.php"; | ||
+ | require "./librerias/comunes/E.php"; | ||
+ | require "./librerias/privadas/A.php"; | ||
+ | require "./librerias/privadas/E.php"; | ||
+ | require "./controlador/comunes/CA.php"; | ||
+ | require "./controlador/comunes/CD.php"; | ||
+ | require "./controlador/C.php"; | ||
+ | require "./controlador/CA.php"; | ||
+ | require "./controlador/CB.php"; | ||
+ | ?> | ||
+ | </source> | ||
+ | </div><div class="slide"> | ||
+ | ;Index.php | ||
+ | <source lang=php> | ||
+ | //Ahora instanciamos los objetos | ||
+ | $a = new \Librerias\A(); | ||
+ | $b = new \Librerias\B(); | ||
+ | $c = new \Librerias\C(); | ||
+ | $a_comun = new \Librerias\Comunes\A(); | ||
+ | $e_comun = new \Librerias\Comunes\E(); | ||
+ | $a_p = new mi_A(); | ||
+ | $e_p = new \Librerias\Privadas\E(); | ||
+ | $c_c=new \Controlador\C(); | ||
+ | $c_a=new \Controlador\CA(); | ||
+ | $c_b=new \Controlador\CB(); | ||
+ | $c_a_comun=new \Controlador\Comunes\CA(); | ||
+ | $c_b_comun=new \Controlador\Comunes\CD(); | ||
+ | </source> | ||
+ | </div><div class="slide"> | ||
+ | ;Index.php | ||
+ | <source lang=php> | ||
+ | //Y procedemos a visualizarlos | ||
+ | </source> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | *Vemos como hemos conseguido solventar el tema de clases con el mismo nombre | ||
+ | *Podemos evitar tener que referenciar toda la estructura de namespace al instanciar una clase | ||
+ | *Para ello usaremos la palabra reservada '''''use''''' | ||
+ | https://www.php.net/manual/es/language.namespaces.importing.php | ||
+ | *En el ejemplo anterior | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | require "./librerias/A.php"; | ||
+ | //.... | ||
+ | use Librerias\Comunes\A; | ||
+ | $a = new A(); | ||
+ | </source> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | *También podríamos cambiar crear un alias | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | require "./librerias/A.php"; | ||
+ | //.... | ||
+ | use Librerias\Comunes\A as mi_A; | ||
+ | |||
+ | $a = new mi_A(); | ||
+ | |||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
{MRM_Resumen|Title=Algunos comentarios| | {MRM_Resumen|Title=Algunos comentarios| | ||
*Cada namespace referencia a una ubicación en un directorio | *Cada namespace referencia a una ubicación en un directorio | ||
Línea 326: | Línea 394: | ||
*Podemos crear un alias con la palabra reservada Use | *Podemos crear un alias con la palabra reservada Use | ||
</div> | </div> | ||
− | |||
− | |||
− | |||
*Con ella no vamos a tener que regenerar el composer cada vez que añadamos una clase | *Con ella no vamos a tener que regenerar el composer cada vez que añadamos una clase |
Revisión de 05:41 30 abr 2020
https://medium.com/swlh/composer-everything-i-should-have-known-794225cde691