Kamelot Blog

Aller au contenu | Aller au menu | Aller à la recherche

samedi 29 août 2009

sam
29
aoû '09

Quality Assurance in PHP Projects

Quality Assurance in PHP Projects
De sebastian_bergmann



SlideShare Link

jeudi 20 août 2009

jeu
20
aoû '09

mon checkout ne fonctionne pas via cron

J'ai mis en place un serveur de développement avec un script qui checkout le code.

Pour ce faire j'avais fait un script shell qui fait tout mes checkout générait quelques infos de logs.

Ce script appelé régulièrement par cron devait garder mon serveur de test synchrone.

Problème...

quand j'appelais ce script en direct tout fonctionnait correctement, mais le cron lui ne mettait jamais à jour.

Je me suis alors décidé de regarder les mails envoyés par cron et j'y ai vu ceci

 svn: Can't convert string from 'UTF-8' to native encoding

Une recherche sur le web m'a permi de trouver cet article et la lumière fut.

Ce qui se passe c'est que sur le svn il y avait dans un sous-répertoire des noms de fichier contenant des caractères utf8 !!!.

un set en console m'indiquait LC_CTYPE=en_US.UTF-8 mais pas en cron.

Solution

Dans mon script appelé par le cron, J'ai juste ajouté

export LC_CTYPE=en_US.UTF-8

à mon script et tout à fonctionné correctement

mardi 11 août 2009

mar
11
aoû '09

PHPBenelux meeting Houthalen (B) August 26 2009 | phpbenelux.eu

PHPBenelux meeting Houthalen (B) August 26 2009

PHPBenelux propose une nouvelle réunion prévue le 26 août 2009.

Cette fois, c'est dans l'Est de la Belgique, à Houthalen.

Au programme

  • 20:00 - accueil
  • 20:30 - à déterminer
  • 21:00 - break
  • 21:10 - Design Patterns par Andries Seutens
  • 22:00 - goodies, drinks & socializing

mercredi 5 août 2009

mer
05
aoû '09

PHP scan : array intersect

Il y bien bien longtemps (8-9 ans), j'écrivais un tuto sur les tableaux en php(3)... que d'eau passées sous les ponts depuis, avec surtout la révolutionnaire arrivée des itérateurs.

Pourquoi je parle de ceci ?

Une question au boulot hier  : j'ai une liste et un tableau. Je veux récuperer les valeurs du tableau en question pour lesquelles les clés sont dans la liste.
Et ce sans faire de boucle en php.

Première réponse qui me vient à l'esprit : filterIterator ou array_ intersect_???

Ca c'était pour la petite histoire et pour un post ulterieur, mais là je vais d'abord passer en revue la famille des array_intersect_*

Fonction                  |  PHP 4    | PHP 5
- - - - - - - - - - - - - | - - - - - | - - - - - 
array_intersect           | >= 4.0.1  |  oui   
array_intersect_assoc     | >= 4.3.0  |  oui
array_intersect_key       |   non     | >= 5.1.0
array_intersect_uassoc    |           |  oui
array_intersect_ukey      |   non     | >= 5.1.0
array_uintersect_assoc    |   non     |  oui
array_uintersect_uassoc   |   non     |  oui

Points communs

  • retournent toutes un tableau
  • les valeurs retournées sont toujours celle du premier tableau
  • les clés retournées sont toujours celle du premier tableau
  • le nombre de tableau supplémentaires est libre
  • pour les _intersect_u le nom de la fonction call back est à la fin.
  • pour les _uintersect_u le nom des 2 fonctions callback est à la fin.
  • toutes disponibles à partir de 5.1.0 (et vous n'utilisez pas une antiquité donc vous les avez toutes :)

array_intersect

  • array_intersect ( array $array1 , array $array2 [, array $ ... ] )
retourne un tableau contenant toutes les valeurs qui sont présentes dans tous les autres arguments array2 , ...

array_intersect_assoc

  • array_intersect_assoc ( array $array1 , array $array2 [, array $ ... ] )
retourne un tableau contenant toutes les valeurs qui sont aussi présentes dans tous les autres arguments array2 , ... 
Notez que les clés sont utilisées durant la comparaison, contrairement à array_intersect().

array_intersect_key

  • array_intersect_key ( array $array1 , array $array2 [, array $ ... ] )
array_intersect_key() retourne un tableau contenant toutes les valeurs du tableau array1 
qui contiennent des clés présentes dans tous les arguments.

array_intersect_uassoc

  • array_intersect_uassoc ( array $array1 , array $array2 [, array $ ... ] , callback $key_compare_func )
retourne un tableau contenant toutes les valeurs du tableau array1 
qui sont présentes dans tous les arguments. 
Notez que les clés sont utilisées dans la comparaison par opposition à la fonction array_intersect().
La comparaison d'index est effectuée en utilisant la fonction de rappel fournie. 
Elle doit retourner un entier, plus petit que, égal à ou plus grand que zéro 
si le premier argument est considéré comme étant, respectivement, plus petit que, égal à ou plus grand le second.

array array_intersect_ukey

  • array_intersect_ukey ( array $array1 , array $array2 [, array $ ... ] , callback $key_compare_func )
retourne un tableau contenant toutes les valeurs du tableau array1 
qui contiennent des clés présentes dans tous les arguments array2 , ... 
Cette comparaison est effectuée en utilisant une fonction de rappel fournie par l'utilisateur. 
La fonction de rappel doit retourner un entier plus petit que, égal à ou plus grand que 0 si la première clé est considérée, 
respectivement, comme plus petite que, égale à ou plus grande que la seconde.
exemples

Lire la suite...

Tags