LupusMic

  • Signature
    Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
  • Site web
  • Nombre de sujets
    26
  • Nombre de messages
    1 684
  • Nombre de commentaires
    4
  • Nombre de news
    Aucune
  • Niveau en PHP
    Gourou

Ses derniers messages sur les forums

LupusMic
le 24/10/2007 à 10:20
Question sur les méthodes des sites de téléchargement
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.
LupusMic
le 24/10/2007 à 10:16
Utilisation de is_int ou is_intenger
(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 :
$var == (integer) $var

ereg('^\d+$', $var) > 0

preg_match('^\d+$', $var) > 0
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 23/10/2007 à 10:23
Récupérer les infos d'un fichier xml
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.
LupusMic
le 22/10/2007 à 18:07
Question sur les méthodes des sites de téléchargement
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.
LupusMic
le 21/10/2007 à 05:08
Récupérer les infos d'un fichier xml
(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 :

doc.xml
<?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.
LupusMic
le 20/10/2007 à 00:26
probleme avec update
À 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.
LupusMic
le 19/10/2007 à 07:34
xDebug et PHPUnit
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.
LupusMic
le 19/10/2007 à 01:11
Fonction str_replace
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
( '&agrave;'
, '&eacute;'
, '&egrave;'
, '&ecirc;'
, '&ccedil;'
, '&iuml;'
, '&icirc;'
, '&Icirc;'
, '&ocirc;'
, '&ugrave;'
, '&ucirc;'
)
, $chaine
) ;

return $chaine;
}

?>
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LoadingChargement en cours