b3t8 - Scripting Back Flashcards
De PHP indica gestor de paquetes y frameworks web
Gestor de paquetes -> Composer
Framerworks:
Laravel
Symfony
cake PHP
codeigniter
Yii
Zend
Slim
Cómo se llama el motor de php, como sería V8 para node?
Motor Zend Engine
Productos ecommerce, foros, CMS, … importantes php
phpBB
Magento
Prestashop
Moodle
Wordpress
Joomla
Drupal
phpBB -> foros en internet
Magento -> e-commerce
Prestashop -> e-commerce
Moodle -> formación
Wordpress -> CMS noticias
Joomla -> CMS noticias
Drupal -> CMS noticias
Qué fichero maneja composer en php para dejar las dependencias?
De qué web descarga las librerías?
En qué carpeta se guardan las librerías de terceros?
composer.json
http://packagist.org
se derscargan en la carpeta /vendor
Qué son en el mundo php los siguientes productos?
WAMP
LAMP
MAMP
XAMPP
Es un software que incluye los productos necesarios para hacer aplicaciones web
W/L/M/X -> windows, linux, mac, multiplataforma
A -> Apache
M -> MySql / MariaDB
P -> Perl / PhP / Python
Se llama LEMP por ejemplo, cuando se usa Nginx en lugar de Apache (porque se pronuncia enginx)
en XAMPP por ejemplo, la doble PP es porque es capaz de usar Pearl y PHP
En Ruby, cómo se llama el gestor de dependencias
En qué fichero se configuran las dependencias?
Cómo es el comando para usarlo?
De qué URL se las descarga?
Gestor -> Gems
fichero de dependencias -> gemfile
comando -> gem
http://rubygems.org
Frameworks web de Ruby
Ruby on Rails
Roda
Cuba
Sinatra
Padrino
En Phyton, cómo se llama el gestor de dependencias
En qué fichero se
De qué URL se las descarga?
Gestor -> Pip
fichero -> setup.py
https://pypi.org
Frameworks web en Phyton
Django
Flask -> microservicios
Pyramid
TurboGears
web2py
Cuál es el framework web de javascript que se ejecuta sobre node como scripting back?
Express
Comparativa gestores de dependencias y frameworks
labs a mirar más en detalle de php
basico
cadenas
arrays
Cuáles son las variables superglobal en php y para qué sirven?
Sirven para acceder a datos globales, parecido al httpRequest en los jsp de jee
* $_POST
* $_GET
* $_SERVER
* $_FILES
* $_COOKIE
* $_SESSION
* $_REQUEST
…
Qué herramientas se usan en la arquitectura MEAN?
Cuándo se le llama MERN?
M -> MongoDB
E -> Express
A -> Angular
N -> Node
Se le llama MERN cuando en lugar de Angular se usa React
Es una arquitectura javascript end to end, porque se maneja la información en formato json entre todos los sistemas
Qué son los siguientes componentes principales del framework web de php Laravel?
FACTORY
SEEDER
MODEL
MIGRATION
CONTROLLER
GATES Y POLICIES
Qué herramieta de linea de comandos se usa?
SEEDER -> Sirve para llenar la bbdd de datos de prueba. Son una clase que lo gestiona, lo pude hacer de uno en uno, o automáticamente apoyándose en factorías
FACTORY -> Con el factory se crean objetos con datos de prueba de forma más automatizada. Con la librería FAKER se le dice el tipo de cada dato y genera datos aleatorios de ese tipo, por ejemplo, nombres, apellidos, palabras, numero aleatorio, etc…
MODEL -> Clases de negocio del modelo
MIGRATION -> Para programar cambios en BBDD y deshacerlos. Así se puede gestionar el versionado de la bbdd
CONTROLLER -> el que recibe las peticiones http, como un servlet. No hay fichero de configuración, sino que hay una convención por la cual todos los controladores deben tener Controller en el nombre, por ejemplo, UserController, y se accede a los métodos con la convención de poner en la url /user/[metodo]
GATES Y POLICIES -> Para controlar el acceso a recursos
La herramienta de comandos es artisan. Los comandos empiezan por php artisan
Cómo son los comandos básicos artisan?
php artisan make:model
php artisan make:migration
php artisan make:factory
php artisan migrate
php artisan db:seed
Sintáxis básica php
Cómo abrir y cerrar bloque php
Cómo definir una función
Cómo hacer un bucle
Cómo referirse a un atributo o método de un objeto? Lo que en java sería un punto
Cómo referirse a algo estático de la clase, en lugar de algo del objeto. O también a métodos sobreescritos.
Cómo se terminan las sentencias
Operador para concatenar strings
Cómo empiezan las variables
Diferencia de las comillas simples y dobles en las cadenas
Operador Igualdad
Operador Identico
Operador nave espacial
Fusión de null
Cómo abrir y cerrar bloque php -> <?php ………….>
Cómo definir una función -> function suma(){..}
Cómo hacer un bucle -> foreach($arr as $value) {
Cómo referirse a un atributo o método de un objeto? -> con flecha: objeto->atributo o objeto->metodo()
Cómo referirse a algo estático de la clase, en lugar de algo del objeto -> con :: -> Clase::atributo o Clase::metodo()
Cómo se terminan las sentencias -> con punto y coma ;
Operador para concatenar strings -> con un punto cadena.cadena
Cómo empiezan las variables -> con $
Diferencia de las comillas simples y dobles en las cadenas -> con las dobles interpreta las variables que haya dentro con $
Operador Igualdad (igual valor) -> ==
Operador Identico (igual tipo y valor) -> ===
Operador nave espacial -> $a< ==>$b -> Devuelve -1,0 o 1 si a es menor, igual o mayor que b
Fusión de null -> ?? -> Se pone después de una variable. Si la variable es null, se coge lo que se ponga después de las ?? -> $variableConNull ?? ‘nadie’
En la arquitectura para usar php, para poder ejecutar una página php, qué tenemos que instalar en el servidor web (como Apache)?
Un módulo php -> o mod_php o mod_proxy_fcgi. Este último es más eficiente porque que llaman a un proceso FPM que descarga al Apache de trabajo
Arrays en PHP
Qué es un array asociativo en php?
Cómo se construye un array?
Funciones de los array
- print_r
- rsort
- sort
- arsort
- asort
- ksort
- krsort
- explode
Un array que permite, como una hashtable en java, que el índice no sea un número sino una cadena
$miArray[‘elemento1’]
Se construye con $miArray = array(‘uno’, 2, ‘3’), pueden tener distintos tipos de datos
o $miArray = [‘name’ => ‘foo’, ‘age’ => 20];
Funciones de los array -> ver en laboratorios
- print_r -> pinta mas información a parte del valor, se usa para depurar
- sort y rsort -> para arrays no asociativos, ordena ascendentemente e inversamente respectivamente
- asort -> ordena ascendentemente por el valor, mantiene correspondencia entre clave y valor, útil en asociativos
- arsort -> ordena al revés, descendentemente por el valor, mantiene correspondencia entre clave y valor, útil en asociativos
- ksort -> ordena ascendentemente por clave, también mantiene correspondencia entre clave y valor, útil en asociativos
- krsort -> ordena descendentemente por clave, también mantiene correspondencia entre clave y valor, útil en asociativos
- explode -> en base a un separador y una cadena con elementos separados por ese separador, te construye un array con los elementos
- implode -> al revés explode, te genera una cadena a partir de un array un separador
En PHP
Cómo se referencia al padre? (como super. en java)
Cómo se referencia al objeto actual? (como this. en java)
Hacer un constructor
Equivalente al finalize() de java
Equivalente al final de java
Equivalente al implements de java
Similar al import en java
Qué es un magic method?
cómo se comprueba si una variable está inicializada o no?
Padre -> parent::
Actual -> $this para lo del propio objeto y self:: para las cosas estáticas de la clase
Nomeclatura constructores -> ** __construct()**
Como el finalize() -> ** __destruct()**
Equivalente al final de java -> igual, final
Equivalente al implements de java -> igual, implements
Similar al import -> require o include
Magic method -> los métodos especiales que empiezan por dos guiones bajos, como el __construct() o el __get() y __set()
cómo se comprueba si una variable está inicializada o no? -> isset(variable)
Qué son los traits en php?
Es una forma de reutilización de métodos
Un trato es como una clase que empieza por la palabra trait en lugar de class, que tiene métodos que queremos reutilizar
El la clase que quiere reutilizar esos métodos, para usarlos, se pone un bloque
use Trato1, Trato2..{
Trato1::metodo
}
Cuando hay tratos y herencia, ante métodos con el mismo nombre, tiene preferencia primero el metodo de la propia clase, luego el del trato y luego el de la clase padre
class member > trait method > inherited method
Cómo se pasa en php por referencia una variable?
Con el &
function foo(&$var)
{
$var++;
}
Algunos ejemplos de cachés para php
b) OpCache
c) WinCache Extension for PHP
d) Alternative PHP Cache
Qué significa PHP?
PHP: Hypertext Pre-Processor