Le point que tu soulèves ici concerne n'importe quel langage dynamique : certains problèmes n'apparaissent qu'à l'exécution.
Non ça n'a rien à voir. On parle ici de typage fort, d'absence de conversions implicites délirantes, d'interdiction d'utiliser une variable non-initialisée, etc.
Quelques comparaisons bien senties...
Python :
>>> 1 + "a"
Traceback (most recent call last):
File "", line 1, in
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>> x + 1
Traceback (most recent call last):
File "", line 1, in
NameError: name 'x' is not defined
>>> x = 0; print x[1]
Traceback (most recent call last):
File "", line 1, in
TypeError: 'int' object is unsubscriptable
[^] # Re: PHP
Posté par Antoine . En réponse à la dépêche PhpMyObject 0.10 : nouvelle version. Évalué à 4.
Non ça n'a rien à voir. On parle ici de typage fort, d'absence de conversions implicites délirantes, d'interdiction d'utiliser une variable non-initialisée, etc.
Quelques comparaisons bien senties...
Python :
>>> 1 + "a"
Traceback (most recent call last):
File "", line 1, in
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>> x + 1
Traceback (most recent call last):
File "", line 1, in
NameError: name 'x' is not defined
>>> x = 0; print x[1]
Traceback (most recent call last):
File "", line 1, in
TypeError: 'int' object is unsubscriptable
PHP :
<?php echo 1 + "a"; ?>
1
<?php echo $x + 1; ?>
1
<?php $x = 0; echo $x[1]; ?>