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 :

Comment bien programmer en PHP ? [Débat]


Sujet :

Langage PHP

  1. #241
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 040
    Points
    2 040
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    Il existe des solutions de ce genre pour PHP. Je crois me souvenir que Sonar et Hudson peuvent s'occuper du PHP également. J'ai pas mes notes sur moi mais il y a effectivement pas mal de projets QA qui s'appliquent notre cas...

    On notera également l'utilité de Xdebug pour le débug, PHPUnit pour les tests unitaires (automatisés, c'est bon ça), Selenium pour les tests graphiques (et son plugin pour la description des tests en UML dans Eclipse )


    Zend Studio peut être "émulé" à 100% avec des plugins Eclipse gratuits:
    - Eclipse PDT
    - Aptana Studio 2.0
    - MyLyn
    - Subersive (ou Subclipse)
    - Eclipse Data Tools Plateform (pour les BDD)
    - Eclipse RSE (pour la gestion des plateformes distantes)

    Correctement configuré, on s'approche nettement d'un niveau de fonctionnalités équivalent à Zend Studio.

    En revanche, c'est vrai que je peux pas voir en peinture PHPEdit...
    Dans le cas d'Hudson, c'est "tordre" une PIC Java pour qu'elle fasse son boulot en PHP.

    L'émulation de Zend Studio avec Eclipse PDT + une série de plugin n'est pas vraiment d'une maintenabilité et facilité de déploiement exemplaire.
    Enfin l'intégration Xdebug+PDT peut s'avérer être un cauchemar.
    Un outil additionnée d'une ribambelle de surcouche ne donne pas forcément un bon outil.

    Pour moi, en PHP, le seul IDE stable et out-of-the-box (hors Zend Studio) est Netbeans.
    Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
    Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.

  2. #242
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Citation Envoyé par zeyr2mejetrem Voir le message
    Dans le cas d'Hudson, c'est "tordre" une PIC Java pour qu'elle fasse son boulot en PHP.

    L'émulation de Zend Studio avec Eclipse PDT + une série de plugin n'est pas vraiment d'une maintenabilité et facilité de déploiement exemplaire.
    Enfin l'intégration Xdebug+PDT peut s'avérer être un cauchemar.
    Un outil additionnée d'une ribambelle de surcouche ne donne pas forcément un bon outil.

    Pour moi, en PHP, le seul IDE stable et out-of-the-box (hors Zend Studio) est Netbeans.
    Pour Hudson, on ne l'a pas encore installé, j'en ai juste entendu parler. Mais c'est vrai que de tels outils natifs pour PHP sont une lacune.

    Si on s'en tiens à Eclipse PDT, qui est d'ailleurs créé et maintenu par Zend, la stabilité et les fonctionnalités sont au rendez-vous. Pour ce qui est de l'intégration avec XDebug, je n'ai à ce jour rencontré des problème qu'en remote-debugging qui est, c'est vrai, pas bien pratique... En local, ça fonctionne parfaitement.

    Mais je préfère pas pourrir le thread avec une querelle de clocher "Eclipse VS Netbeans" L'essentiel, c'est de maitriser son outil (hum...)

  3. #243
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 040
    Points
    2 040
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    Pour Hudson, on ne l'a pas encore installé, j'en ai juste entendu parler. Mais c'est vrai que de tels outils natifs pour PHP sont une lacune.

    Si on s'en tiens à Eclipse PDT, qui est d'ailleurs créé et maintenu par Zend, la stabilité et les fonctionnalités sont au rendez-vous. Pour ce qui est de l'intégration avec XDebug, je n'ai à ce jour rencontré des problème qu'en remote-debugging qui est, c'est vrai, pas bien pratique... En local, ça fonctionne parfaitement.

    Mais je préfère pas pourrir le thread avec une querelle de clocher "Eclipse VS Netbeans" L'essentiel, c'est de maitriser son outil (hum...)
    Loin de moi l'idée de dire que Netbeans est mieux qu'Eclipse où vice-versa. Je suis même plutôt pro-eclipse que j'utilise de façon quotidienne pour mes dévs Java.

    Cependant parfois je me demande si le fait que PDT soit justement maintenu par l'éditeur de la première solution payante ne provoque pas un certain conflit d'intérêt (après je suis peut être paranoïaque) et si Zend n'a pas intérêt à laisser PDT "en dessous" en terme de perfs.

    De même, être obligé d'assembler son IDE de toute pièce est parfois gavant.
    Exemple: j'ai eu un problème de Xdebug il y a 3 mois. Tout fonctionnait puis d'un coup plus rien. Le debug fonctionnait depuis le navigateur et le client Xdebug de Wamp mais sous Eclipse, plus rien. Sur ce: un coup de Google et je vois que je ne suis pas le seul à avoir le problème (loin de là). J'ai passé toutes les procédures possibles et imaginables et au bout d'un moment j'en ai eu marre.
    Les seules réponses que j'ai eu étaient "Passez à Zend_Debugger, et pour éviter de vous coltiner la conf passez à Zend Studio, c'est inclus." ou "Réinstallez la dernière version d'Eclipse + PDT + Subclipse + tous les autres plugins que vous avez + ..." ...
    Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
    Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.

  4. #244
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    La solution que j'ai trouvé à ce problème est de désactiver les updates des modules qui marchent parfaitement

    Et ce pour 2 raisons:
    - C'est vrai, la gestion des plugins et des dépendances dans Eclipse peut devenir une vraie galère
    - Une fois qu'on à un environement stable et correctement configuré, on n'a pas forcément envie de se prendre 5 updates par semaine dans les dents.

    ça fait deux ans que j'ai pas updaté PDT et je touche du bois

  5. #245
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 040
    Points
    2 040
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    La solution que j'ai trouvé à ce problème est de désactiver les updates des modules qui marchent parfaitement

    Et ce pour 2 raisons:
    - C'est vrai, la gestion des plugins et des dépendances dans Eclipse peut devenir une vraie galère
    - Une fois qu'on à un environement stable et correctement configuré, on n'a pas forcément envie de se prendre 5 updates par semaine dans les dents.

    ça fait deux ans que j'ai pas updaté PDT et je touche du bois
    Effectivement. J'aurai dû faire cela
    Sauf qu'au bout d'un moment tu entends toujours via internet la doucereuse petite voix de la nouvelle fonctionnalité qui te murmure à l'oreille "télécharge moi, tu gagneras en productivité et tu respecteras tes deadlines !". Alors tu ne te méfies pas..., tu ouvres la porte et BAM !! gros bug et pas moyen de retourner en arrière sauf à réinitialiser ton workspace
    Mais bon, on s'est tous fait avoir au moins une fois et ça sera pas la dernière
    Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
    Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.

  6. #246
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Citation Envoyé par zeyr2mejetrem Voir le message
    Sauf qu'au bout d'un moment tu entends toujours via internet la doucereuse petite voix de la nouvelle fonctionnalité qui te murmure à l'oreille "télécharge moi, tu gagneras en productivité et tu respecteras tes deadlines !". Alors tu ne te méfies pas..., tu ouvres la porte et BAM !! gros bug et pas moyen de retourner en arrière sauf à réinitialiser ton workspace
    Je me suis fait avoir 2/3 fois au début mais on m'y reprendra plus. Maitenant, une fois toutes les saint-glinglin, je fais un update massif: dernière version d'Eclipse, mise à jour des plugins, nettoyage du workspace, bref le ménage de printemps. Mais en temps normal, j'applique la règle "tant que ça marche, on touche pas."

  7. #247
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Benjamin Delespierre
    Il existe des solutions de ce genre pour PHP. Je crois me souvenir que Sonar et Hudson peuvent s'occuper du PHP également. J'ai pas mes notes sur moi mais il y a effectivement pas mal de projets QA qui s'appliquent notre cas...
    Sonar peut aider effectivement à mieux coder, le fait qu'il analyse à l'aveugle la totalité du code permet de souligner des erreurs, des variables inutilisées, méthodes trop complexe...

    J'avais fait un article/tutorial sur sonar pour php du mon blog: http://dupot.org/post-10.html
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  8. #248
    Membre éprouvé Avatar de Shuty
    Homme Profil pro
    Ingénieur en développement
    Inscrit en
    Octobre 2012
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 630
    Points : 1 174
    Points
    1 174
    Par défaut
    De manière quotidienne, j'essaie de minimiser et d'optimiser au maximum mon code.

    Je suis un grand amoureux de l'optimisation, des opérateurs ternaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return = (empty($val)) ? true : false;
    J'évite au maximum les accolade dans mes structure de contrôle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_GET['mdp'])
                  echo 'mdp existe';
    Un de mes autres péché mignon c'est les ":"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(isset($value)):
       // code
    else:
       // code
    endif;
    L'optimisation c'est bien mais c'est à accompagner par des commentaires
    Agence web Dim'Solution, créateur de solutions numériques
    Sites internet, ecommerce, logiciels, applications mobiles, référencement (SEO), plugin Prestashop, Magento, WordPress, Joomla!...

    Cours de trading gratuit | Envoyer des sms gratuitement | Envoyer des fax gratuitement | Plateforme de Fax à l'international

  9. #249
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    ça n'optimise rien du tout un if avec ou sans accolade c'est le même temp de traitement. les différentes syntaxe de if sont toute identique le compilateur php va générer le même code exécutable.

    de façon générale la présence d'accolade ne change pas le temps d'éxécution
    en fait la seule différence que peut introduire la présence d'accolades dans du code est la création d'un contexte de portée des variables. soit quelque chose de l'ordre de la micro seconde.



    le pire dans tes exemples c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return = (empty($val)) ? true : false;
    la tu n'optimise absolument rien pire tu introduit du code inutile
    Dans ce code tu appelle la fonction empty en lui passant un variable. cette fonction var retourner true ou false.
    l'opérateur ternaire va alors évaluer cette valeur et si elle vaut true va retourner la première valeur sion la seconde. celle-ci sera placé dans return.

    Alors que la fonction est évaluée et returne true ou false qui est directement placé dans return pas d'évaluation du résulta pas de branchement dans le code généré.


    il ne faut pas confondre le code concis et optimisation. souvent un code compact n'est pas le plus optimal.

    A+JYT

  10. #250
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par sekaijin Voir le message
    il ne faut pas confondre le code concis et optimisation. souvent un code compact n'est pas le plus optimal.
    A+JYT
    C'est pas faux, d'ailleurs j'avais des bench avec opérateurs ternaire vs accolades et bien souvent les accolades étaient plus rapides bien que plus verbeuses à écrire.

    Mais bon la différence est infime et cela ne m'empêche pas d'utiliser abondamment les opérateurs ternaires parce que pour moi optimisation du code veut dire aussi facilité de lecture et ce n'est pas à ce niveau là qu'on optimise réellement la rapidité d'exécution

  11. #251
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    La seule optimisation qui vaille, c'est OpCache ou APC.

    Le reste, c'est gagner des microsecondes (c'est-à-dire rien par rapport au temps de traitement d'une requête web et au chargement d'une page) en échange d'une illisibilité qui va faire perdre un temps précieux lorsque quelqu'un d'autre va reprendre le code plus tard pour le modifier. Un code clair et facile à maintenir + une cache d'opcode est bien mieux que toute tentative par d'optimisation par le développeur.

  12. #252
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    La seule optimisation qui vaille, c'est OpCache ou APC.
    ...Un code clair et facile à maintenir + une cache d'opcode est bien mieux que toute tentative d'optimisation par le développeur.
    C'est quand même trop vite dit. On peut faire aussi un code clair mais non optimisé qui peut s'avérer catastrophique dans certains cas (par exemple la manipulation de grands tableaux) en termes d'occupation mémoire même si c'est moins visible en termes de rapidité. Et cela n'est pas sans incidence sur les performances du serveur... Je passe sur l'optimisation du schéma et des indexes des tables de bdd etc. Bref je dirais plutôt que le système de cache est le dernier étage de l'optimisation - qui effectivement donne de très bons résultats - mais cela ne permet pas pour autant de négliger les étages précédents (pas toujours)

  13. #253
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Exact, mais ma remarque ne portait évidemment que sur les optimisations concernant l'écriture du code lui-même. Bien évidemment, un schema MYSQL bien pensé, un code profilé si nécessaire, un reverse proxy, etc... tout cela améliorera considérablement la performance de l'ensemble.

    Ce que je veux dire, c'est qu'il faut éviter les micro-optimisations qui conduisent à des codes illisibles.

    Les trucs du genre micro-framework en un tweet, comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <? $g=$GET;$c=@$g['c']?:'Home';
    if(!@include"c/$c.php")die('fail');
    $m=methodexists($c,$m=@$g['m'])?$m:'index';
    $o=new$c;$o->$m($g);
    c'est formidable pour le fun et pour la beauté du geste, mais sur un code en production, j'estime que la lisibilité du code l'emporte sur tout gain que cela peut rapporter.

  14. #254
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Ca me fait penser au concours perl "juste another perl hacker" qui consiste à faire les codes les plus concis possible
    Code perl : Sélectionner tout - Visualiser dans une fenêtre à part
    $_='987;s/^(d+)/$1-1/e;$1?eval:print"Just another Perl hacker,"';eval;


    http://en.m.wikipedia.org/wiki/Just_another_Perl_hacker
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  15. #255
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    Ce que je veux dire, c'est qu'il faut éviter les micro-optimisations qui conduisent à des codes illisibles.
    Ah ok, on est tout à fait d'accord

    Et l'exemple que tu donne est très concluant. Si en plus c'est pour utiliser inconsidérément l'opérateur de suppression des erreurs qu'il est recommandé de n'utiliser qu'en dernier recours, l'auteur de ce genre d'exploit perd sur tous les tableaux : lisibilité et performances.

    Je crois que ce type d'attitude qui consiste à avoir un code le plus concis possible au détriment de la lisibilité relève le plus souvent de débutants qui faute d'expérience n'ont pas encore le sens des priorités.

  16. #256
    Membre éprouvé Avatar de Shuty
    Homme Profil pro
    Ingénieur en développement
    Inscrit en
    Octobre 2012
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 630
    Points : 1 174
    Points
    1 174
    Par défaut
    Citation Envoyé par sekaijin Voir le message
    ça n'optimise rien du tout un if avec ou sans accolade c'est le même temp de traitement. les différentes syntaxe de if sont toute identique le compilateur php va générer le même code exécutable.

    de façon générale la présence d'accolade ne change pas le temps d'éxécution
    en fait la seule différence que peut introduire la présence d'accolades dans du code est la création d'un contexte de portée des variables. soit quelque chose de l'ordre de la micro seconde.



    le pire dans tes exemples c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return = (empty($val)) ? true : false;
    la tu n'optimise absolument rien pire tu introduit du code inutile
    Dans ce code tu appelle la fonction empty en lui passant un variable. cette fonction var retourner true ou false.
    l'opérateur ternaire va alors évaluer cette valeur et si elle vaut true va retourner la première valeur sion la seconde. celle-ci sera placé dans return.

    Alors que la fonction est évaluée et returne true ou false qui est directement placé dans return pas d'évaluation du résulta pas de branchement dans le code généré.


    il ne faut pas confondre le code concis et optimisation. souvent un code compact n'est pas le plus optimal.

    A+JYT

    L'exemple n'étais pas le meilleur certes, j'avais écris avant de partir en meeting. Autrement, par optimisation j'entends aussi le coté lecture du code pas forcément rapidité d’exécutions.

    APC est un très bon accélérateur en effet. Il faudrait d'ailleurs que je vois comment ca fonctionne "programmement" parlant.
    Agence web Dim'Solution, créateur de solutions numériques
    Sites internet, ecommerce, logiciels, applications mobiles, référencement (SEO), plugin Prestashop, Magento, WordPress, Joomla!...

    Cours de trading gratuit | Envoyer des sms gratuitement | Envoyer des fax gratuitement | Plateforme de Fax à l'international

  17. #257
    Membre régulier Avatar de Yvan L
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2014
    Messages : 80
    Points : 109
    Points
    109
    Par défaut
    Bonjour tout le monde,

    Je vois beaucoup de mélange html et php dans les demandes d'aide. (exemple : Problème d'affichage de variable ).
    Étant donné que php est utilisé pour produire des pages webs dynamiques, ne serait-il pas plus judicieux de n'utiliser que du php sur une page ?

    Dans le lien ci-dessus, le premier "form" en html serait remplacé par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function formulaire_pour_commentaires_html_make () {
      $html  = '<form action="avis.php" method="post" name="avis">' . "\n";
      $html .= '<label for="pseudo">Pseudo</label>' . "\n";
      $html .= '<input type="text" name="pseudo" size="106" maxlength="30"><br>' . "\n";
      // Et ainsi de suite
     
     print $html;
    }
     
    //Affichage du formulaire
    formulaire_pour_commentaires_html_make ();
    En ce qui concerne ma programmation :
    - Je met toujours des noms de fonctions pour savoir ce que cette fonction fait rien qu'en lisant son nom, même si c'est un nom long.
    - Je fais la même chose pour les variables.
    - Quand c'est un array, je rajoute "_a" au bout du nom de la variable ou du nom de la fonction.
    - Je rajoute des "\n" dans les fonctions d'affichage, afin que le code source de la page soit plus lisible.

    D'autre part, j'utilise la méthode IRP (valable pour tous les langages) : Implicit Reference to Parameters . "Un moyen de réduire le couplage inter-modules".
    Donc, gain de temps à l'exécution, et limitation des paramètres de la liste d'appel dans les fonctions.

  18. #258
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Étant donné que php est utilisé pour produire des pages webs dynamiques, ne serait-il pas plus judicieux de n'utiliser que du php sur une page ?
    Non, il y a plein d'inconvénients à cette méthode, la première étant que tu perds la coloration syntaxique, l'indentation, difficile de savoir si ton HTML est bien formé en un clin d'oeil. Bref, beaucoup plus difficile de décoder ton HTML. Il convient de réserver le php aux zones qui sont vraiment dynamiques.

    - Quand c'est un array, je rajoute "_a" au bout du nom de la variable ou du nom de la fonction.
    Je préfère privilégier le castage et l’initialisation des variables (qui n'est pourtant pas obligatoire en php) afin de savoir ce que contient ma variable.

    Je rajoute des "\n" dans les fonctions d'affichage, afin que le code source de la page soit plus lisible.
    Moi je dirais le contraire, ça rend le code source totalement illisible. Je préfère quand même ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $html = '<form action="avis.php" method="post" name="avis">
        <label for="pseudo">Pseudo</label>
        <input type="text" name="pseudo" size="106" maxlength="30"><br></form>';
    Même si bon comme dis plus haut, c'est loin d'être la meilleure méthode.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

Discussions similaires

  1. Comment commencer à programmer avec PHP, SQL-Server 2000
    Par DevLib dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/05/2012, 11h51
  2. Comment bien programmer web en java?
    Par lovelace dans le forum Développement Web en Java
    Réponses: 11
    Dernier message: 19/10/2008, 00h40
  3. Comment bien commencer la Programmation
    Par Le_Faya dans le forum Débuter
    Réponses: 6
    Dernier message: 01/12/2006, 18h39
  4. Comment bien programmer en C ?
    Par lastrecrue dans le forum C
    Réponses: 14
    Dernier message: 12/07/2006, 12h44

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