|
Site Web : Pnambique Directeur du Pôle Experts de la société @position http://www.aposition.com Articles de l'auteur : La détection du Link Spam : un challenge pour les moteurs [3/4] La détection du Link Spam : un challenge pour les moteurs [2/4] La détection du Link Spam : un challenge pour les moteurs [Bibl.] La détection du Link Spam : un challenge pour les moteurs [1/4] Cuill veut surpasser Google grâce à l’analyse de données sémantiques 2007 : l’année des moteurs furtifs L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.4] L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.3] L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.2] L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.1] Joachim Kreibich (Seekport) : pour nous, un moteur de recherche de qualité doit tenir compte des particularismes linguistiques nationaux, voire régionaux Une tentative de définition du spamdexing Google Base dévoilé ! Les concepts de la POO La programmation objet : qu’est-ce que c’est ? à quoi ça sert ? Gregory Olivier "MSN Search cherche à établir un véritable dialogue avec les webmasters et les référenceurs" Direct Answers from Encarta MSN Search utilise-t’il l’analyse au niveau des blocs ? Spyware : les méthodes pour s’en débarasser Michael James, de la société Mirago "Nous misons sur nos partenaires pour développer notre visibilité" La sémantique appliquée et les outils de recherche [2/6] Linguistique statistique et sémantique appliquée : outil de pertinence pour les moteurs, de KM et de référencement ANALYSE THEMATIQUE (4/4) par le Pr E. Garcia ANALYSE THEMATIQUE (3/4) par le Pr E. Garcia Applications des outils sémantiques au référencement et aux moteurs de recherche Sémantique appliquée : Liens et références bibliographiques ANALYSE THEMATIQUE (2/4) par le Pr E. Garcia ANALYSE THEMATIQUE (1/4) par le Pr E. Garcia CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [3] Mon premier programme en PHP (3e Partie) CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [2] CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [1] Quelques pistes pour comprendre le nouvel algorithme de Google (suite et fin) Quelques pistes pour comprendre le nouvel algorithme de Google FOOXX, le moteur futé venu d’Allemagne Le futur moteur que prépare Microsoft pour MSN sera-t’il Brilliant ? Mooter, un moteur de recherche innovant venu d’Australie Les techniques évoluées d’indexation dans les moteurs de recherche (2e partie) Visibilité et stratégies de développement d’audience sur le Web Les techniques évoluées d’indexation dans les moteurs de recherche L’algorithme HITS et le projet CLEVER (deuxième partie) L’algorithme HITS et le projet CLEVER La structure du web est en forme de "noeud papillon" Webfountain d’IBM Vers un moteur de recherche sensible au contexte (1ère partie) Vers un moteur de recherche sensible au contexte (2ème partie) Vers un moteur de recherche sensible au contexte (3ème partie) Droit d’auteur et site web Droit d’auteur et site web (2e Partie) Droit des producteurs de bases de données (législation française) Tester correctement variables et valeurs en php Mon premier programme en PHP (2e Partie) Les nouveautés de la version 5 de PHP Les origines du PHP Mon premier programme en PHP Pourquoi choisir le PHP pour réaliser des pages dynamiques ? |
Tester correctement variables et valeurs en php
[niveau : confirmé/expert]Tester correctement variables et valeurs en phpLes problèmes de typage et de transtypage7 septembre 2003, par CaribooCertains avantages du php, comme sa gestion très relâchée des types de variables, ont aussi quelques inconvénients. Mais une fois que l’on sait éviter et détecter ces problèmes, il est possible d’utiliser à son profit certaines particularités du langage pour écrire des scripts très puissants... Comment prévenir les bogues dues aux problèmes de typage ?En php, chaque variable peut changer de type en cours de route. Ce qui a pour conséquence de rendre le résultat de certains tests d’égalité imprévisibles Bogues de comparaison entre types différents
Si $var contient la chaine ’123’ au lieu du nombre 0, cette expression est considérée comme toujours vraie...
Bogues de typage des valeurs retournées par une fonction Il arrive fréquemment que des fonctions renvoient une valeur numérique ou une chaine lorsque tout va bien, et le booléen "false" en cas d’échec : le résultat peut être ambigu... Exemple : Ce code fonctionne à peu près bien en php3. Sauf quand la chaine renvoyée se trouve être "false" (bogue subtile). En php4, si on écrit A l’inverse, le code : Un exemple plus spectaculaire
Attention : de plus, plusieurs fonctions, qui renvoyaient une chaine "false" en cas de problème en php3, envoient un booléen Comportement atypique des valeurs booléennes Par ailleurs, pour des raisons obscures (au moins pour moi), le booleen "false/true" est stocké sous la forme d’un entier égal à 1 si la valeur est Dans la pratique, cela n’a pas d’incidence notable dans les calculs, compte tenu de la conversion automatique des types en php. Ce qui fait que dans la pratique, si $exp1 est Mais il est intéressant de connaître cette particularité, car dans certains cas, le transtypage donne des résultats qui peuvent sembler étonnants, où les fonctions de conversion de type renvoyer des messages difficiles à comprendre sinon. Par ailleurs, pour les transtypages, il est interessant de savoir comment s’évaluent différentes valeurs si elles sont converties en type booléen :
Donc 2 s’évalue comme true, et -1 aussi !
Utilisation de la valeur NULL NULL est apparue avec le PHP4 NULL est une constante particulière. Affectée à une variable elle permet de "vider" celle-ci de sa (ses) valeurs. Elle reste déclarée, mais ne contient rien. Elle n’a plus son ancien type non plus (le type devient NULL). Attention là aussi aux comparaisons entre valeurs dans le cas où une variable peut contenir la (non)valeur NULL
Cette valeur NULL n’a rien à voir avec le NULL du langage SQL donc attention aux intuitions. Par ailleurs, il est difficile de distinguer les variables de type NULL et les variables non déclarées ou supprimées avec unset() Il faut utiliser le bon test La fonction unset($var) permet de supprimer la variable de l’environnement. La variable $var n’est plus déclarée après cela. C’est utile par exemple pour supprimer d’un seul coup toutes les valeurs d’un tablo, avant de le redéfinir avec des indices différents... unset() était une fonction en php3. Ce n’est plus le cas en php4, c’est devenu une structure du langage. Donc le test suivant ne marche pas en php4
Philippe YONNET
|
|
||
|