[spip-dev] $source indéfini dans inc-login lign 109

Bonjour,

Meme histoire que l'autre jour: il y a consultation d'une variable non déclaré globale.
Toutefois, j'ai l'impression que ce coup-ci c'est plutot row["source"] non ?

      Emmanuel

Meme histoire que l'autre jour: il y a consultation d'une variable non
déclaré globale.

ligne 117

Toutefois, j'ai l'impression que ce coup-ci c'est plutot row["source"]
non ?

Oui.

-- Fil

> Meme histoire que l'autre jour: il y a consultation d'une variable non
> déclaré globale.

PS: quelle méthode appliques-tu pour ces vérifications ?

-- Fil

Le fait que je les donne au compte-gouttes est malheureusement le signe
que ce n'est pas totalement automatique: j'insère mon compilateur dans votre code
et quand ça ne marche pas, je l'inspecte. Quand j'ai un doute, je fais un grep
et c'est vite vu.

Cela dit tu pointes le doigt sur un vrai pb: PHP est à l'origine un langage fait
pour de petits programmes, pas un langage de développement.
Un langage de développement a des outils de mise au point qui, au minimum, dénonce
des variables et éléments de tableau indéfinis, prévient des conversions de types implicites, voire calcule le domaine de variation des variables et des résultats de fonctions.
PHP a la meilleure interface qui soit avec HTTP, c'est vrai. Pour le reste, comparé à tout ce qu'on sait en sémantique des langages de programmation, il est, au mieux moyen, au pire d'une ignorance consternante.

      Emmanuel

Hello,

Cela dit tu pointes le doigt sur un vrai pb: PHP est à l'origine un
langage fait pour de petits programmes, pas un langage de
développement.

A l'origine, oui ... :wink:

Un langage de développement a des outils de mise au point qui, au
minimum, dénonce des variables et éléments de tableau indéfinis,
prévient des conversions de types implicites, voire calcule le
domaine de variation des variables et des résultats de fonctions.

Il y a des outils de debugage pour PHP, mais la moindre des choses
serait déjà de coder en mettant le niveau d'error_reporting au maximum
pour déterminer par exemple l'usage de variables non initialisées ...

PHP a la meilleure interface qui soit avec HTTP, c'est vrai. Pour le
reste, comparé à tout ce qu'on sait en sémantique des langages de
programmation, il est, au mieux moyen, au pire d'une ignorance
consternante.

Il reste pourtant la meilleure plate-forme pour un projet comme SPIP,
selon moi.

-Nicolas

Un langage de développement a des outils de mise au point qui, au minimum,
dénonce des variables et éléments de tableau indéfinis, prévient des
conversions de types implicites

En plus on n'a pas hésité (moi le premier) à utiliser des variables mal
définies, qui de temps en temps sont des tableaux, à d'autres endroits des
chaînes, etc.

Si on regarde l'âge du code et sa propreté, je crois quand même que ça
va en s'améliorant un peu :slight_smile:

-- Fil

Il y a des outils de debugage pour PHP, mais la moindre des choses
serait déjà de coder en mettant le niveau d'error_reporting au maximum
pour déterminer par exemple l'usage de variables non initialisées ...

Oui, si on était des professionnels c'est ce qu'on ferait.

-- Fil

Il y a des outils de debugage pour PHP, mais la moindre des choses
serait déjà de coder en mettant le niveau d'error_reporting au
maximum pour déterminer par exemple l'usage de variables non
initialisées ...

Oui, si on était des professionnels c'est ce qu'on ferait.

En quoi le fait de développer SPIP en dehors d'un cadre professionnel
devrait-il forcément conduire à se mettre soi-même des batons dans les
roues ??? :wink:

Sérieusement, un code qui passe bien l'épreuve de l'error_reporting au
maximum, c'est un code beaucoup plus facile à débugguer, je ne vois
pas ce qui gêne ...

-Nicolas

Oui, mais le pb avec Spip c'est qu'il est parti sur d'autres bases au départ,
et donc mettre le error_reporting au maximum maintenant générerait des tonnes
d'avertissements non significatifs.

Mais, Fil, c'est vrai le code s'améliore.

      Emmanuel

le pb avec Spip c'est qu'il est parti sur d'autres bases au départ,
et donc mettre le error_reporting au maximum maintenant générerait
des tonnes d'avertissements non significatifs.

Le mettre de temps en temps pour faire un peu de ménage ne ferait pas
de mal, c'est tout ce que je voulais dire ...

Mais, Fil, c'est vrai le code s'améliore.

C'est très clair !

-Nicolas