Plataforma PHP

Desenvolupament corporatiu amb Drupal

Bones pràctiques

Com a bones pràctiques i de forma general per qualsevol propjecte web: 

1

LAMP 3 - Configuració de paràmetres clau

Configuracions clau​ per rendiment i funcionals:

  • max_input_vars = 10000
  • upload_max_filesize = 512M
  • post_max_size = 512M
  • memory_limit = 512M
  • opcache.enable = 1
  • opcache.max_accelerated_files = 20000
  • opcache.memory_consumption = 256
  • realpath_cache_size = 4096K
  • expose_php = 0

Projecte Symfony correctament desplegat

Per configurar correctament un projecte Symfony a la Diputació de Barcelona cal seguir el estàndard de Symfony i tenir en compte que tindrem dos entorns amb configuracions diferents però un codi únic.

Versió

Treballarem amb versions LTS (Long Term Suport), actualment Symfony 2.8 LTS amb suport fins al Novembre del 2018.

La propera versió LTS serà Symfony 3.4 planificada per a mitjans del 2017.

Com llegir un fitxer BLOB via PDO

Seguint la documentació de Com connectar-se a l'Oracle corporatiu via PDO

si volguessim llegir un fitxer de l'Oracle que fos una imatge o document executariem la següent sentència:

$stmt = conn->prepare('SELECT campBLOB FROM taula1');
$stmt->execute();
$res = $stmt->fetch(\PDO::PARAM_LOB);

Definint el head del document segons el tipus de document, per exemple,

Com connectar-se a l'Oracle corporatiu via OCI (No recomanat)

En casos molt determinats la capa PDO no ens permetrà fer determinades accions, és en aquest casos, on ens pot interessar anar directament contra del driver OCI.

El codi de connexió serà el següent:

Recuperar recursos de servidors externs des de la LAMP

L'entramat de xarxes i sistemes de la corporació fa que la recuperació de recursos externs no sigui evident perquè segons la naturalesa del recurs cal fer-ho a través del  proxy o amb una crida directe, a més, a vegades hi ha problemes amb els certificats HTTPS (per exemple, int-saj no disposa de certificat, etc.)

Així que el següent codi us resultarà útil si necesiteu recuperar des de la LAMP2 (DVOL2 o PRD2) un recurs d'un altre servidor (imatge, xml, json, etc.).

Consultes preparades amb PDO

PDO permet preparar les consultes que llençarem contra la base de dades abans de ser executades i definir els paràmetres o variables que utilitzarem a la sentència, són les anomenades "bind variables".

Això ens permet escapar correctament les variables de forma segura i alhora llençar la mateixa consulta "precompilada" varies vegades modificant només els valor de les "bind variables" sense haver de construir la consulta de nou, i aconseguint una notable millora en el rendiment respecte a la situació en que construíssim una consulta nova cada cop.

Utilització de variables static per millorar el rendiment

Hi ha casos on l'ús de variables static en PHP pot ajudar a millorar enormement el rendiment d'una funció o mètode. És altament convenient utilitzar-ho, per exemple, quan tenim una funció que pot ser cridada varies vegades durant la generació d'una pàgina, i aquesta necessita fer alguna consulta a la base de dades o algun procés de càlcul relativament costós.