Declaration et typage de variables

Le
(¯`·..Yttrium ...·´¯)
Bjr,
Existe t il un moyen de contraindre l'interpreteur (par le biais d'un
fichier de conf par exemple) à exiger une declaration explicite et un typage
des variables ?
Ce qui permettrait d'afficher une erreur (une erreur, pas un notice..)
lors d'une utilisation de variable non déclarée ,ou bien lors d'un cast non
explicite..

Je sais qu ' un des avantages de Php est le faible typage du langage, pas d
epolémique donc, juste une question.
Merci d'avance.
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
loufoque
Le #753976
(¯`·..Yttrium ...·´¯) a dit le 20/04/2005 à 16:09:

Existe t il un moyen de contraindre l'interpreteur (par le biais d'un
fichier de conf par exemple) à exiger une declaration explicite et un typage
des variables ?


Non.
La déclaration se fait pas assignation, c'est tout (à part pour les
variables membres d'une classe).


Je sais qu ' un des avantages de Php est le faible typage du langage, pas d
epolémique donc, juste une question.


C'est un langage faiblement typé, avec les avantages mais aussi les
inconvénients que ça apporte.

loufoque
Le #753974
loufoque a dit le 20/04/2005 à 20:36:

La déclaration se fait pas assignation


Errata :

s/pas/par
La déclaration se fait par assignation

Marc
Le #753687
Existe t il un moyen de contraindre l'interpreteur (par le biais d'un
fichier de conf par exemple) à exiger une declaration explicite et un typage
des variables ?


j'utilise : error_reporting(E_ALL);
ca me suffit amplement pour parrer a des betises en tout genre.

ca n'empeche pas le typage mou, mais ca detecte bien des erreurs
sur variables non initialisées.

John GALLET
Le #753973
Bonsoir,

Existe t il un moyen de contraindre l'interpreteur (par le biais d'un
fichier de conf par exemple) à exiger une declaration explicite et un typage
des variables ?


Par un paramètre ou une option de compilation magique qui transforme php
en java, non, en tous cas, pas à ma connaissance.

Ce qui permettrait d'afficher une erreur (une erreur, pas un notice..)
lors d'une utilisation de variable non déclarée ,ou bien lors d'un cast non
explicite..


A part réimplémenter des vérifications de types à des points
"stratégiques" (entrée de toutes fonctions et méthode ayant des
paramètres, au moins) à grand coups de is_bidule( ) de :
http://fr2.php.net/manual/en/ref.var.php
(sachant que http://fr2.php.net/manual/en/language.types.php déconseille
de bidouiller avec gettype().)
Il y a aussi les triples opérateurs de comparaison avec type (bof).

Mais tout ça sent la bidouille du plus pur style "usine à charbon
radioactif".

Je sais qu ' un des avantages de Php est le faible typage du langage,


Je ne dirais pas que c'est un avantage, notion elle aussi "polymorphe et
subjective" que "l'intérêt" de la poo. C'est une "caractéristique", une
"souplesse" avec ses avantages et ses inconvénients. M'enfin c'est pas
pire que de mettre des void* partout.

<HS>
Tiens ça me fait penser à la pub de micromou en ce moment dans le métro
parisien, qui est scandaleusement irrespectueuse des Dinos au sens Usenet
du terme, mais qui me fait beaucoup rigoler. Le slogan est "MSOffice a
évolué, et vous ?". Evoluer!=améliorer :-))
</HS>
JG
--
C'est quoi les dinos ?
J'ai compris que c'était des vieux cons, mais à part ça ??
-+- CL in GNU : Je ne voudrais pas passer pour un con... Loupé. -+-

cleo
Le #753686
"(¯`·..Yttrium ...·´¯)" message de news: 42665c91$0$7212$
Bjr,
Existe t il un moyen de contraindre l'interpreteur (par le biais d'un
fichier de conf par exemple) à exiger une declaration explicite et un
typage
des variables ?
Ce qui permettrait d'afficher une erreur (une erreur, pas un notice..)
lors d'une utilisation de variable non déclarée ,ou bien lors d'un cast
non
explicite..

Je sais qu ' un des avantages de Php est le faible typage du langage, pas
d
epolémique donc, juste une question.
Merci d'avance.


Salut,
Tu as la possibilité de typer les "paramètres objet" des fonctions ou
méthodes en php5.
C'est utile mais pas suffisant, car les types primitifs (string, int ...) ne
sont pas gérables.
http://www.php.net/manual/fr/language.oop5.typehinting.php


--
Cléo

portix1
Le #756209
Il est aussi possible de caster les variables (si mes souvenir sont
bons):
$string="hello world";
echo (int) $string;
devrait logiquement provoquer une erreur. Par contre un cast dans
l'autre sens ne devrait pas avoir d'effet (a verifier).
loufoque
Le #755918
a dit le 26/04/2005 à 09:55:

$string="hello world";
echo (int) $string;
devrait logiquement provoquer une erreur.


ben non, ça affiche 0.

Poster une réponse
Anonyme