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 :

utilisation abrégée de PhpEcho en cas d'affichage de code PHP [POO]


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut utilisation abrégée de PhpEcho en cas d'affichage de code PHP
    Bonjour,

    je voudrais savoir si on peut étendre la forme courte d'utilisation de PhpEcho,
    comme ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $body = new PhpEcho();
            $body->setCode('<p>This file is not a .csv file</p>');
            echo new PhpEcho([DIR_ROOT, 'view Layout.php'], ['body' => $body]);

    au cas où l'on doit insérer du code PHP dans le texte à afficher, du genre :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $body = new PhpEcho();
            $body->setCode('<p>The file '.$file_name.' is not a .csv file</p>');
            echo new PhpEcho([DIR_ROOT, 'view Layout.php'], ['body' => $body]);
    ou bien est-on obligé de passer par un deuxième fichier ?

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

    as-tu (au moins) testé ??

    Sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            $code = '<p>The file '.$file_name.' is not a .csv file</p>';
            $body->setCode($code);

  3. #3
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut Laurent,

    quelle version de PhpEcho tu utilises ?
    sinon tu peux aussi faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $body = new PhpEcho();
    $body['file'] = 'nom_de_fichier.csv';
    // {$body['file']} : l'échappement est automatique, tu n'as pas a t'en préoccuper
    $body->setCode("<p>The file {$body['file']} is not a .csv file</p>");
     
    echo new PhpEcho([DIR_ROOT, 'view Layout.php'], ['body' => $body]);

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    avec la version PhpEcho 2.3.2, tu peux aussi coder ton rendu ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $page = new PhpEcho([DIR_ROOT, 'view Layout.php']);
    $body = $page->addChild('body', '', ['file' => 'nom_de_fichier.csv']);
    $body->setCode("<p>The file {$body['file']} is not a .csv file</p>");
    echo $page;

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Merci pour les réponses.
    Si je mets du temps à répondre, c'est que j'ai essayé de m'en servir, mais pas encore réussi car en fait, j'avais simplifié mon explication de besoin pour faire un post compréhensible, mais en réalité, le besoin est plus complexe. Comme j'y arrive pas, il faut que je le précise.

    Comme je ne sais pas écrire un code correct, je vais en écrire un pas bon mais qui montre le besoin.

    En gros ce que je compte afficher, c'est un lien html comme ça : <a href="http://localhost/www/ticket2/model/analyse($data_CSV)">to analyze</a>En fait, appeler un fichier PHP qui va exécuter une méthode de classe à laquelle, on passe une variable PHP (un tableau). Ma difficulté est de transmettre ce tableau en faisant le lien. Comment puis-je faire ?

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    euh, tu veux vraiment transmettre un tableau gigantesque dans l'url ? Tu sais la longueur d'une URL est limitée aux alentours de 2000 caractères.
    Laurent, je suppose que l'utilisateur bénéficie d'une session une fois connecté, donc une fois le fichier téléchargé, tu gardes en session le chemin vers le fichier et dans ton lien, tu ne passes que l'action : <a href="http://localhost/www/ticket2/model/analyse">to analyze</a>. Dans le contrôleur en charge de traiter cette action, tu vérifie qu'un chemin vers un fichier CSV est présent en session et si oui, tu lances l'analyse sinon tu renvoies vers le formulaire d'upload.

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Il est clair qu'il ne faut pas transmettre le fichier dans l'URL. On ne pourrait pas le sérialiser, puis le mettre en section ?

    Par contre, si je ne transmets que l'adresse du fichier (déjà mise en section), la méthode qui va faire l'analyse va aussi parser le fichier pour générer le tableau à analyser. C'est bien ça ?

    L'idée initiale était d'avoir une classe qui fait le parsage et génère le tableau, puis une seconde classe qui récupère le tableau et analyse (pour générer des requêtes SQL). Mais si on se tient à l'idée ci-dessus, y aurait une seule classe pour faire les 2 et ça va à l'encontre du principe de découper au maximum. Je suis un peu paumé...

  8. #8
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    je ne comprends pas ta logique.

    Voici comment je vois le déroulé :

    Identification -> Utilisateur (démarrage session) -> Redirection vers le formulaire d'upload -> Soumission du fichier (un contrôleur vérifie, traite le fichier soumis, stocke en session son chemin complet) -> Retour vers l'interface : Fichier OK -> Bouton Analyser qui apparaît -> Utilisateur clique dessus -> Demande de l'analyse (un autre contrôleur vérifie qu'un chemin vers un fichier est présent en session) et démarre CSVAnalyze -> Retour vers l'interface : Analyse OK.

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    OK, moi, je voyais plus de découpage que ça :
    - classe 1 : upload ;
    - classe 2 : vérification du fichier ;
    - si OK, classe 3 parsage du fichier et génération du tableau gigantesque
    - classe 4 : à partir ce tableau, génération des requêtes SQL

    Si je comprends ton analyse, tu regroupes classe 3 et 4 en une seule CSVAnalyze. C'est ça ?

  10. #10
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Cette discussion étant en fait liée à celle-ci : https://www.developpez.net/forums/d2...-csv-mise-bdd/, je la clos et continuerai sur l'autre.

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

Discussions similaires

  1. [PHP 5.6] Affichage du code PHP suite à un appel Ajax
    Par FredPsy dans le forum Langage
    Réponses: 8
    Dernier message: 22/11/2016, 16h10
  2. [PHP 5.3] Affichage du code php dans la page
    Par Alex-L dans le forum Langage
    Réponses: 6
    Dernier message: 28/07/2011, 16h56
  3. [EasyPHP] Site en local : affichage du code PHP :(
    Par ricou69 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 12/10/2010, 23h38
  4. [Tableaux] Comment utiliser un tableau dans ce cas
    Par Equinoxe5 dans le forum Langage
    Réponses: 1
    Dernier message: 19/08/2007, 23h13
  5. fonction d'affichage de code php en couleur
    Par winnie82 dans le forum Langage
    Réponses: 3
    Dernier message: 14/06/2006, 12h14

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