PHP

in_array et true sont dans un bateau

in_array tombe à l'eau. Laissez le se noyer.

Etiquettes:

Astuce Doctrine ORM / MS SQL

Tiens en passant une petite astuce pour Doctrine ORM. Si vous utilisez MS SQL Serveur, vous vous rendrez bien vite compte que ce dernier est beaucoup plus exigeant pour les changements de schéma. Si par exemple vous voulez ajouter une colonne, il faut impérativement fournir une valeur par défaut. Pour cela vous pouvez utiliser l'option options de l'attribut Column :

Etiquettes:

Un type énumération pour PHP

Un truc qui me manque énormément avec PHP : les énumérations. C'est tellement pratique en .NET.

J'ai mis au point une petite classe pour pallier ce manque :

Etiquettes:

Installer PEAR sur Windows

Petit aide-mémoire.

En supposant que PHP soit installé sur votre système Windows, vous pouvez installer PEAR en 3 étapes :

  1. Téléchargez l'archive PHAR depuis l'URL : http://pear.php.net/go-pear.phar ;
  2. Placez le fichier .phar dans le répertoire où se trouve l'exécutable PHP ;
  3. Tapez php go-pear.phar et laissez vous guider.

Si vous voulez ensuite installer PHPUnit, enchaînez avec : Installation de PHPUnit

Zend_Translate, gettext et les pluriels

Zend_Translate gère les pluriels, mais la documentation officielle donne peu de détails sur la manière de procéder avec l'adaptateur gettext. Pour vous faire gagner un peu de temps, voici ce que vous devez savoir pour une traduction Française.

Dans votre fichier .po, vous devez ajouter dans l'entête :

"Plural-Forms: nplurals=2; plural=n>1;\n"

Ensuite, sur les termes où vous avez besoin du pluriel, vous devez utiliser la syntaxe suivante :

Zend_Test : expressions assertQuery

Zend_Test fournit une série de méthodes commençant par assertQuery qui permettent d'examiner le DOM de la réponse. La syntaxe des requêtes est identique à celle utilisée pour les sélecteurs CSS. Voici quelques exemples d'utilisation.

Doctrine2 : récupérer le nom d'une entité

Avec Doctrine2, pour retrouver une entité, on a plusieurs méthodes qui prennent en argument un nom d'entité. Par exemple :

<?php
$post 
$em->find('Entities\\Post'1);
?>

Etiquettes:

L'opérateur ternaire en PHP 5.3

Depuis la version 5.3 de PHP, on peut omettre la partie centrale de l'opérateur ternaire. C'est bien pratique pour définir une valeur par défaut :

<?php
$a 
false;
$a $a ?: 'default';
var_dump($a); // Affiche "default"

$b 'Foo';
$b $b ?: 'default';
var_dump($b); // Affiche "Foo"
?>

Etiquettes:

strpos avec une expression régulière

Vous le savez certainement, strpos ne supporte pas les expressions régulières. Pourtant il y a des situations où il peut être utile de trouver une position dans une chaîne en profitant de la souplesse offerte par les expressions régulières. PHP ne propose pas de fonction preg_pos, mais il y a une option de preg_match qui nous permets d'avoir un équivalent de strpos : PREG_OFFSET_CAPTURE. Quand ce drapeau est positionné, preg_match renvoie en plus des chaînes qui correspondent au motif la position où elles ont été trouvées :

<?php
$str 
"The quick brown fox jumps over the lazy dog";
if (
preg_match('/(fox|dog)/'$str$matchesPREG_OFFSET_CAPTURE)) {
    
// Affiche First animal at 16 
    
echo 'First animal at '.$matches[1][1];
}
?>

Etiquettes:

Script PHP pour conversion CP850 (DOS) en ANSI

J'ai récupéré un paquet de petit programmes encodés en CP850 (DOS) que je voulais convertir en ANSI (Windows). N'ayant pas trouvé d'utilitaires pour faire ça (sur Windows), j'ai écrit ce petit script PHP :

Etiquettes:

Pages

Subscribe to RSS - PHP