IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Type hinting en PHP ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Tableaux] Type hinting en PHP ?
    Bonjour,

    PHP 5 intègre le type hint au niveau objet, ce n'est pas grand chose, mais c'est déjà un premier pas..., pensez-vous que PHP intègrera un jour nativement le type hint pour les types de bases ? (int, foat, string, array) ?

    Certains considéreront que c'est un retour aux âges sombres de l'info, mais perso j'estime que ça apporterait une certaine rigoureusité syntaxique, par la même, un peu plus de crédibilité au langage.
    Dernière modification par Invité ; 15/08/2006 à 13h38.

  2. #2
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    Excuse moi de poser cette question mais c'est quoi ce type 'hint' ?!

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Le Type Hinting (littéralement "masque de type, typage de données ou typage implicite") permet d'imposer un type de variables dans les paramètres de tes fonctions ou méthodes (Pour ce qui concerne PHP, ceci n'est pas valable pour la déclaration de variables).

    Si les paramètres transmis ne correspondent pas au masque de type imposé, cela génère une erreur fatale.

    Cette fonctionnalité fait partie de la structure des grands langages de programmation comme C, C++, Java, etc.

    PHP 5 intègre nouvellement ce type de contrôle, mais uniquement pour les objets.

    Ce n'est pas compliqué en soit comme principe, mais c'est difficile à expliquer, jette un coup d'oeil sur Wikipédia et le page de PHP.net sur le sujet.

    Bye

  4. #4
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    ouias ça va j'ai compris c'est pareille qu'en C lol mais je savais pas que ça s'appelait comme ça

  5. #5
    Invité
    Invité(e)
    Par défaut
    J'utilise les termes anglophones seulement lorsque les termes francisés sont obscures, ridicules ou inadaptés !

    Mes excuses !

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    De mon point de vue, ce serait une erreur d'implémenter cela pour toutes les variables. Je ne m'en sers pas tous les jours mais c'est pratique. Bien sûr, le programmeur a la responsabilité de savoir ce qu'il fait, ce qui n'est malheureusement pas toujours le cas.
    Si une future version de PHP implémente le type hinting, j'ai peur que ce langage devienne très très peu accessible pour les débutants et que sa notoriété en prenne un coup, ou bien que personne ne mette sa version à jour (comme c'est le cas à chaque version majeure).

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Yogui
    De mon point de vue, ce serait une erreur d'implémenter cela pour toutes les variables. Je ne m'en sers pas tous les jours mais c'est pratique. Bien sûr, le programmeur a la responsabilité de savoir ce qu'il fait, ce qui n'est malheureusement pas toujours le cas.
    Si une future version de PHP implémente le type hinting, j'ai peur que ce langage devienne très très peu accessible pour les débutants et que sa notoriété en prenne un coup, ou bien que personne ne mette sa version à jour (comme c'est le cas à chaque version majeure).
    Effectivement cela peut repousser les débutants, mais de la même manière, ça ne pourrait que les aider si plus tard ils programment dans d'autres langages (de bas niveau comme le C) ou même en Java.

    D'un autre coté, ceux qui commencent par des langages à typage fort ont (auront) plus de facilité à faire du PHP.

    Si type hinting il y'a dans les versions ultérieures, cela ne devrait concerner que les paramètres de fonctions et méthodes puisque les déclarations et initialisations de variables sont affinées par PHP.

    Evidemment on peut effectuer ces contrôles de type manuellement, et parfois c'est plus adéquat, exemple : l'operateur instanceof qui permet de lever une exception personalisée avec PHP 5.

    Ou pourquoi pas, faire du transtypage...

    Je pense que le type hinting complet et optionnel serait idéal...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/10/2006, 16h55
  2. [Tableaux] Fichier LUA et PHP
    Par kyuketsuki dans le forum Langage
    Réponses: 9
    Dernier message: 29/05/2006, 11h25
  3. [Tableaux] Message d'erreur PHP
    Par carmen256 dans le forum Langage
    Réponses: 9
    Dernier message: 15/05/2006, 13h09
  4. [Tableaux] lien automatique en php
    Par e-m.guillaume dans le forum Langage
    Réponses: 9
    Dernier message: 30/01/2006, 23h44
  5. [Tableaux] cases à cocher et PHP
    Par tjoce dans le forum Langage
    Réponses: 5
    Dernier message: 20/10/2005, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo