Ses derniers messages sur les forums
Non. Quand c'est bien fait, ce n'est pas la peine de cacher la méthode permettant de limiter les abus. Et puis, communiquer sur l'architecture est souvent un bon argument marketing, alors pourquoi s'en priver ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
(Cart) Non.
Je vais préciser ce qu'à dit La Globule. Une variable en PHP est typée.
$var = 3 ;
echo '$var ' (is_int($var) ? 'est' : 'n\'est pas') un nombre ;
echo '$var ' (is_int($var) ? 'est' : 'n\'est pas') un nombre ;
$var = '3'
echo '$var ' (is_int($var) ? 'est' : 'n\'est pas') un nombre ;
Dans mon exemple, $var est tantôt un entier, tantôt une chaine...
représentant un entier. C'est ce qu'il faut comprendre ici : faire la distinction entre un nombre et une chaine représentant un nombre.
Or, comme le disait La Globule, le tableau $_POST ne contient que des chaines (comment saurait-il qu'il lui faut préparer un entier plutôt qu'une chaîne ?).
Donc il faut utiliser une fonction qui détermine si le contenu de la chaine est un nombre.
Il y a alors plusieurs tests possibles :
preg_match('^\d+$', $var) > 0
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Je m'aime beaucoup aussi :-D
Alors, premièrement, changer l'extension d'un fichier ne change rien au fichier... ça change juste son nom. L'extension n'ai pas un élément fiable pour vérifier le type d'un fichier.
La méthode que j'utilise, lorsque je développe un code qui utilise du XML est la suivante :
- écriture d'un fichier XML d'exemple
- écriture de sa DTD (bientôt XSchema)
- écriture d'une classe chargeant et lisant cette classe
- écriture des tests de la classe
Si tu as besoin de générer le XML :
- modification de la classe poru qu'elle soit capable de générer le document XML
- écriture d'un test de génération du XML
Maintenant, si tu veux charger le XML généré par ton document PHP, il faut le charger à travers le réseau. Par exemple :
$xml = file('http://.../games.php') ;
// Code pour traiter la chaine $xml contenant tes données.
J'ai peur de ne pas avoir été assez clair, ou encore de t'avoir fait peur :) Ça ira ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Non, en général ils ne sont pas aussi fermés que ça. D'ailleurs, j'avais une fois vu un article sur les architectures des succès du Web 2.0, et ils expliquaient comment ils avaient fait pour monter en charge. Mais je ne le retrouve plus. C'était passé par Nexen.
Cependant, je ne vois pas en quoi conserver l'architecture secrète permet d'empêcher de contourner quoi que ce soit. Que veux-tu protéger en fait ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Il y a une solution simple : leur poser la question ;)
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
(sprah) Tu vois que tu n'as pas complètement compris ce qu'était un fichier XML ;) Mais vu que tu fais des efforts, et que je suis magnanime (en tant que souverain détenteur de la vérité suprême de... bon, j'arrête), bah j'vais t'expliquer.
Un document XML, c'est une représentation textuelle d'un arbre, la représentation d'une hiérarchie. L'arbre est composé de nœuds (nodes) qui se déclinent en racine (root), éléments (elements) et en feuilles (leafs). Les éléments peuvent posséder des attributs.
Un élément est un nœud pouvant avoir un élément parent, des éléments enfants et des attributs.
La racine est le seul élément qui n'a pas de parent.
Un nœud est un élément ayant des éléments enfants.
Une feuille est un élément n'ayant pas d'éléments enfants.
Un attribut est un nœud ne pouvant avoir d'enfant, et n'a pas de parent, mais appartient à un élément.
Ce ci étant posé, prenons un exemple :
<?xml version='1.0' encoding='utf-8' sandalone='yes' ?>
<collection>
<game id='first'>
<titre>Premier jeu.</titre>
<lien>/games/first.php</lien>
<description>Un jeu qui déchire sa mère !</description>
<image>/games/art/first.svg</image>
</game>
<game>
<titre id='second'>Dernier jeu !</titre>
<lien>/games/second.php</lien>
<description>Un autre jeu qui déchire, mais pas ta mère.</description>
<image>/games/art/second.svg</image>
</game>
</collection>
Dans cet exemple, la racine est <collection>, et chaque nœud <game> a pour père cet élément unique <collection>, et possèdent chacun quatre éléments. À noter que ces huit éléments ne sont pas des feuilles, masi que ce sont leurs enfant (les TextNodes ) qui sont les feuilles.
En ce qui concerne le dernier problème que tu as levé. Réfléchit un peu. Que charges-tu donc dans ton DOMDocument ? Es-tu vraiment certain que c'est ton fichier XML ? Non, bien sûr que non, c'est ton fichier PHP qui n'est pas interprété. C'est pour ça que tu as directement un message d'erreur.
En espérant t'avoir aidé.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
À première vue ta requête est mal formée (manque des espaces). Regarde la documentation de MySQL sur la clause Update.
Mais « ça marche pas » ça veut rien dire. Il faut le message d'erreur, au miniumu, pour commencer à voir d'où vient le problème.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Bonjour la communauté,
Aujourd'hui c'est moi qui ai besoin de vous :-D
J'utilise xDebug depuis quelques temps maintenant, pour faciliter le déboguage. Cependant, je souhaite améliorer la qualité de mon code en le testant, et de manière efficace et systématique. C'est pourquoi je m'astreint à écrire des tests unitaires, pour chacun de mes modules. J'ai choisi PHPUnit pour faire le boulot.
Cependant, j'ai un gros problème : les traces de xdebug n'apparaissent plus car PHPUnit attrape les erreurs. Ce qui fait que, lorsqu'une erreur survient dans mon code, je dois dupliquer le test pour bénéficier des fonctionnalités de xdebug. Vous conviendrez que c'est une perte de temps ignoble, alors que les tests sont là pour en gagner.
Et je n'arrive pas à trouver l'option qui me permettrait de visualiser la pile d'appel et les variables locales utilisées.
Si vous avez déjà utilisé les deux outils en symbiose, ce serait sympa de me filer un coup de main.
Merci !
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
L'exemple de mojorisin ne comporte aucune fonction. que ne comprends-tu pas ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
i M@n a donné la solution à ton problème. Mais pour répondre à ton interrogations, non, il n'y a pas de risque de perte de données.
Mais c serait plus élégant ainsi :
<?php
function caracteres($chaine){
$chaine = str_replace
( array('à','é','è','ê','ç','ï','î','Î','ô','ù','û')
, array
( 'à'
, 'é'
, 'è'
, 'ê'
, 'ç'
, 'ï'
, 'î'
, 'Î'
, 'ô'
, 'ù'
, 'û'
)
, $chaine
) ;
return $chaine;
}
?>
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.