• [^] # Re: Ruby On Rails

    Posté par (site web personnel) . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 3.

    PHP est un langage à typage faible (certains disent qu'il n'est pas typé même). Autrement dit, ta variable n'est pas d'un type bien définie.
    Quand tu écris $a = "3 maisons" on lui a assigné une valeur de type chaîne de caractères. Mais lorsque tu fais $a + 1, si ta variable était de type fort, alors une erreur aurait été levée parce que l'on ne peut pas additionner une chaîne avec un entier. Au lieu de cela, le runtime a considéré juste la variable $a comme un entier et a donc appliqué un transtypage horrible (horrible car même le transtypage dans ce cas aurait dû aboutir à une erreur) ; c'est la raison aussi pour laquelle PHP est considéré comme non typé.
    Si par contre, on avait $a = $a + 1 => "3 maisons1" alors on aurait pu dire qu'effectivement $a pourrait être de typage fort avec un transtypage implicite correcte qui est de convertir l'entier 1 en sa représentation chaîne de caractères avant de la passer à l'opération de concaténation '+' (si '+' est l'opérateur de concaténation bien sûr)