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

Symfony PHP Discussion :

Iinstallation du bundle KnpSnappyPdf


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 4
    Par défaut Iinstallation du bundle KnpSnappyPdf
    Bonjour à vous je galère depuis 2 jours sur l'installation du bundle knpsnappypdf sur symfony 4
    J'ai bien suivi la procédure decrite sur le depot github : https://github.com/KnpLabs/KnpSnappyBundle

    Le soucis est que j'ai toujours cette erreur et je desespere un peu !

    Service "knp_snappy.pdf" not found.

  2. #2
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Comment l'as-tu installé exactement ?
    Attention, la doc est complètement obsolète par rapport à Symfony 4 (et même Symfony 3.4), est-ce que tu as bien adapté la procédure ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 4
    Par défaut de la facon suivante :
    Bonjour merci de me répondre !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    composer require knplabs/knp-snappy-bundle
    ca m'a generé mon bundle,

    modifié mon fichier app/config/bundles.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
        Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
        Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true],
        Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
        Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle::class => ['all' => true],
        Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
        Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
        Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
        Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
        Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
        Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true],
        Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
        Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true],
        Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
        Artgris\Bundle\FileManagerBundle\ArtgrisFileManagerBundle::class => ['all' => true],
        Knp\Bundle\SnappyBundle\KnpSnappyBundle::class => ['all' => true],
    puis dans mon fichier app/config/framework.yaml, ajouté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    knp_snappy:
        pdf:
            enabled:    true
            binary:     "\"C:\\wkhtmltopdf\\bin\\wkhtmltopdf.exe\""
            options:    []
        image:
            enabled:    true
            binary:     "\"C:\\wkhtmltopdf\\bin\\wkhtmltoimage.exe\""
            options:    []
    et la fin de mon controlleur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $html=$this->render('Admin/resultpdfsimulationdesalaire.html.twig', $vars);
     
            return new PdfResponse(
                $this->get('knp_snappy.pdf')->getOutputFromHtml($html),
                'file.pdf'
            );

    ??? ou est-ce que ca plante a ton avis ???

  4. #4
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Ce n'est pas la bonne manière d'utiliser des services dans Symfony 4.
    Une fois que tu l'as installé, tu n'as plus besoin de toucher à ton fichier bundles.
    La configuration ne se met plus à cet endroit non plus, si je me souviens bien tu dois la mettre dans un fichier knp.yaml qui se trouve dans un dossier du style /config/vendors, je regarderai demain au boulot pour te dire le dossier exact si tu ne trouves pas.
    Ensuite tu dois charger le service par injection de dépendance dans ton controller comme expliqué ici : https://symfony.com/doc/current/serv...utowiring.html

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 4
    Par défaut Merci !
    Merci pour ton aide, je vais regarder le lien que tu m'as envoyé ...
    Si tu peux me fournir l'aide une fois que tu seras allé au boulot ... je dis pas non !
    P'tet que j'aurai trouvé ce truc pourtant sans doute tellement simple sur symfony 4 ... lol
    Bon dimanche

  6. #6
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Dans tous les cas la config ne devrait pas empêcher le bundle de fonctionner, c'est juste plus propre de les regrouper par vendor plutôt que d'avoir un seul énorme fichier avec tout entassé dedans.

    Par contre il faudra que tu adaptes tes utilisations de service car l'ancienne méthode est dépréciée dans Symfony 4. Les controllers ne doivent plus hériter de la classe Controller mais de AbstractController qui ne possède pas de méthode get pour charger un service, il faut passer par l'injection de dépendance qui est de toute façon beaucoup plus pratique.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 4
    Par défaut
    C'est tous simplement, parce que tes services sont mis en privé, c'est la nouvelle convention depuis la version 3.4 de symfony, et là tu es obligé et'injecter ton dépendance de knp snappy en argument. Autrement dis tu n'as pas le droit d'utiliser ce syntaxe pour récupérer une instance d'un tel service si seulement si le service est définit public. Donc ce que je te recommande de passer par l'injection de dépendance:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private $knpSnappy;
    public function __construct(\Knp\Snappy\Pdf $knpSnappy) {
      $this->knpSnappy = $knpSnappy;
    }
    et après tu fais finalement l'appelle de ton instance:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $html = $this->render('Admin/resultpdfsimulationdesalaire.html.twig', $vars);
     
            return new PdfResponse(
                $this->knpSnappy->getOutputFromHtml($html),
                'file.pdf'
            );

  8. #8
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 4
    Par défaut J'ai finalement opté pour MPDF
    en fait il me manque pas mal de notions dans symfony, je suis plutot content de ce j'arrive a faire mais un pro de symfony me dirait fait comme ca c'est plus simple.
    KNPSnappyPDF me semblait bien mais trop compliqué a mettre en oeuvre pour moi

    Et en fait j'ai finalement opté pour MPDF simple rapide.

    Merci à vous !

    Apres ca a l'avantage de marcher mais ca ne comble pas ma curiosité pour KNPSnappyPDF

  9. #9
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Tu n'iras pas très loin dans Symfony sans comprendre l'injection de dépendance de toute manière, mieux vaut te pencher sur la question dès maintenant

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Retraité webmaster bénévole
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité webmaster bénévole

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Par défaut Installation du bundle KnpSnappyPdf dans Symfony 4.24
    Bonjour
    avec Symfony 4.24 j'ai bien suivi le processus ci-dessus, y compris l'injection de dépendance, et me croyais enfin sorti d'affaire et je tombe sur un dernier obstacle:
    La fin de mon controller:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     return new PdfResponse( $this->$knpSnappy->getOutputFromHtml($aff), 'file.pdf' );
    génère l'erreur "Catchable Fatal Error: Object of class Knp\Snappy\Pdf could not be converted to string

    je sais traiter ce problème dans une entity par "public function __toString()"
    Mais pour un objet de la class Snappy\Pdf je n'ai aucune idée.
    Quelqu'un connait-il la solution?
    Merci d'avance

  11. #11
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Heu c'est normal le $ devant l'objet knpSnappy ?

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Retraité webmaster bénévole
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité webmaster bénévole

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Par défaut
    Citation Envoyé par Sodium Voir le message
    Heu c'est normal le $ devant l'objet knpSnappy ?
    Bonjour,
    non pas du tout, vous avez raison, mais cela fait 15 jours que je me bat pour essayer de greffer une sortie pdf sur mon application symfony et que je n'y arrive pas;
    En fais tout vient des changement opérés dans symfony 4.24 qui ne gère plus les bundles et les services comme avant.
    J'ai essayé de contourner la difficulté avec l'injection de dépendance et cela ne marche pas non plus, la classe KpnSnappy n'et pas chargée d'ou la syntaxe horrible que vous relevez. J'en était là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
      /**
         * @Route("/affpdf/{affaireId}", name="affpdf")
         * @param \Knp\Snappy\Pdf $knpSnappy
         * @param $affaireId
         * @param AffaireRepository $repo
         * @return PdfResponse
         */
        public function pdfAction(\Knp\Snappy\Pdf $knpSnappy, $affaireId, AffaireRepository $repo)
        {
            $aff = $repo->devisAffaire(['id' => $affaireId]);
            $document = $this->renderView(
                'default/mypdf.html.twig',
                [
                    'ligne_devis' => $aff,
                ]
     
            );
     
            $pdf = new \Knp\Snappy\Pdf(__DIR__.'/vendor/bin/wkhtmltopdf-amd64');
            $pdf->generateFromHtml('$document', '/tmp/out/test.pdf', ['header-html' => '', 'footer-html' => ''], true);
    De même en essayant HTML2PDF j'ai créé dans le dossier service HTML2PDF.php, et cela nepermet pas non plus de charger html2pdf:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
     
     
     
    namespace App\Service;
     
     
     
    use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
     
    class HTML2PDF  extends AbstractController
    {
        private $pdf;
     
        /**
         *
    
         * @return string
         */
        public function create(): string
        {
     
            $this->pdf = new \App\Service\HTML2PDF();
     
        }
     
        /**
         * @param Html2Pdf $html2Pdf
         * @param $template
         * @param $name
         * @return mixed
         */
        public function generatePdf( $html2Pdf,$template, $name)
        {
            $this->Html2Pdf = $html2Pdf;
            $this->pdf->Html2Pdf->writeHTML($template);
     
            return $this->pdf->$html2Pdf->output(($name.'.pdf'));
        }
    }
    Dans mon dossier vendor , j'ai bien :
    knplabs
    knp-snappy
    knp-snappy-bundle

    et

    spipu
    html2pdf

    mais je n'ai pas pu les charger dans les controllers ou j'en ai besoin pour éditer des factures et des devis dont les twigs qui les génèrent sont prêts et fonctionnent très bien.
    Comme symfony 4.42 est récent j'ai eu beau chercher, personne sur le net ne relève ce problème.
    Il est peut être simple à résoudre mais je ne suis pas encore assez costaud en POO pour m'en sortir
    Donc comment écrire un service qui permette d'utiliser l'une de ces 2 classes?
    Si vous pouviez m'aiguiller cela me rendrait bien service.

  13. #13
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Vous devriez poster la manière dont vous injectez le service dans votre controller

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Retraité webmaster bénévole
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité webmaster bénévole

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Par défaut
    Citation Envoyé par Sodium Voir le message
    Vous devriez poster la manière dont vous injectez le service dans votre controller
    pour snappy ma dernière tentative était:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?php
    /**
     * Created by PhpStorm.
     * User: olivierbaviere
     * Date: 2019-03-16
     * Time: 21:08
     */
     
    namespace App\Controller;
     
     
    use Symfony\Component\Routing\Annotation\Route;
    use App\Repository\AffaireRepository;
    use Knp\Bundle\SnappyBundle\Snappy\Response\PdfResponse;
    use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
     
    class PdfsnappyController extends AbstractController
    {
        private $knpSnappy;
     
     
        public function __construct(\Knp\Snappy\Pdf $knpSnappy)
        {
            $this->knpSnappy = $knpSnappy;
        }
     
        /**
         * @Route("/affpdf/{affaireId}", name="affpdf")
         * @param \Knp\Snappy\Pdf $knpSnappy
         * @param $affaireId
         * @param AffaireRepository $repo
         * @return PdfResponse
         */
        public function pdfAction(\Knp\Snappy\Pdf $knpSnappy, $affaireId, AffaireRepository $repo)
        {
            $aff = $repo->devisAffaire(['id' => $affaireId]);
            $document = $this->renderView(
                'default/mypdf.html.twig',
                [
                    'ligne_devis' => $aff,
                ]
     
            );
     
            $pdf = new \Knp\Snappy\Pdf(__DIR__.'/vendor/bin/wkhtmltopdf-amd64');
            $pdf->generateFromHtml('$document', '/tmp/out/test.pdf', ['header-html' => '', 'footer-html' => ''], true);

  15. #15
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Alors, quelques points :

    • d'après la doc, Knp\Snappy\Pdf n'est pas un service qui s'injecte mais un objet qui s'instancie normalement, il ne sert donc à rien de le passer dans le constructeur du controller
    • à la ligne "$pdf->generateFromHtml('$document'", vous passez la variable dans une string avec des single quotes mais les variables dans un string sont uniquement interprétées avec des doubles quotes... mais pourquoi mettre des quotes tout court au fait ?
    • vous passez le template à l'objet pdf à l'aide de la méthode render du controller, mais êtes-vous sûr que cette méthode renvoie bien un string ? Je n'en suis pas sûr du tout de mon côté, essayez plutôt la méthode renderView (https://developer-paradize.blogspot....rview-and.html)

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Retraité webmaster bénévole
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité webmaster bénévole

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Par défaut
    Merci de ces conseils.
    Quand je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $pdf->generateFromHtml("$document",
    j'ai un warning de phpStorm que je ne sais pas très bien interpréter:
    '(string) $document' would express the intention here better (less types coercion magic). more... (⌘F1) En général je tient compte des warning de phpStorm et je suis content quant tout est éteint, mais c'est quelques fois pas la bonne solution...
    Pour Snapy , c'est bien la méthode renderView que j'ai utilisé?

    Comme j'ai effectué le déploiement chez ovh aujourd'hui, je vais faire des essais en ligne car en local, j'avais des soucis de mémoire qui perturbaient mes essais.

    En fait je ne suis peu expérimenté, d'où mes nombreuses fautes de syntaxe, car j'ai appris le php pendant ma retraite et ce projet sera sans doute le 5 ème et dernier car à 75 ans on progresse trop difficilement. Mais j'aimerai bien le terminer et ne pas échouer pour une simple interface pdf .
    L' évolution rapide de Symfony n'arrange pas les choses. A certain moment c'est un outil formidable puis on tombe sur des problèmes annexes comme celui là, et c'est la galère...
    Je vais donc suivre vos conseil et essayer de "brancher" Snappy correctement.
    Je vous tiendrai au courant dans cette rubrique du forum.
    Merci et bon WE.

  17. #17
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Ah oui, j'ai mal lu.

    Retirez tout simplement les quotes autour de $document, elles ne servent à rien.

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Retraité webmaster bénévole
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité webmaster bénévole

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Par défaut
    Citation Envoyé par Sodium Voir le message
    Ah oui, j'ai mal lu.

    Retirez tout simplement les quotes autour de $document, elles ne servent à rien.
    Effectivement sans double Quote c'est clean
    J 'avait du les ramasser dans un copier coller d'exemple.

  19. #19
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Les double quotes servent à interéter les variables à l'intérieur d'un string.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $name = 'John Doe';
    $age   = 30;
     
    echo "My name is $name and i'm $age years old";
    // Donne my name is John Doe and i'm 30 years old
     
    echo 'My name is $name and i\'m $age years old';
    // Donne My name is $name and i'm $age years old
    Mais c'est de toute manière une pratique à éviter, ça donne un code pas très clair déjà

Discussions similaires

  1. [GTK+ 3] Iinstallation de all-in-one bundle
    Par free_01_binairy dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 22/03/2014, 16h03
  2. Réponses: 4
    Dernier message: 14/04/2005, 13h59
  3. Réponses: 7
    Dernier message: 07/04/2005, 14h45
  4. Réponses: 3
    Dernier message: 30/07/2004, 10h51
  5. [Débutant][bundle] plusieurs "bundle"
    Par lando dans le forum Développement Web en Java
    Réponses: 12
    Dernier message: 11/09/2003, 18h13

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