salut, je cherche une solution pour ajouter le pibliotheque tcpdf au mon mon projet mai j'arrive pas. svp comment ajouter une lib a un projet symfony?
salut, je cherche une solution pour ajouter le pibliotheque tcpdf au mon mon projet mai j'arrive pas. svp comment ajouter une lib a un projet symfony?
Salut,
Pour ma part j'utilise ce bundle pour le configurer facilement: https://github.com/whiteoctober/WhiteOctoberTCPDFBundle
Ensuite pour la lib TCPDF en soit, je te conseil d'utiliser une version stable, j'ecrirai un article a ce sujet, en attendant, voici un extrait de mon composer.json pour t'inspirer:
Code json : 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 { "repositories": [ { "type": "package", "package": { "name": "tecnick.com/tcpdf", "version": "6.0.012", "dist": { "url": "http://downloads.sourceforge.net/project/tcpdf/tcpdf_6_0_012.zip", "type": "zip" } } } ], "require": { "php": ">=5.3.3", "symfony/symfony": "2.2.*", /* Other packages... */ "whiteoctober/tcpdf-bundle": "dev-master@dev", "tecnick.com/tcpdf": "6.0.*" }, }
En gros je précise à composer ou aller cherche le package, en l'occurence la version 6.0.012 de TCPDF. Le seul inconvenient c'est qu'il faut surveiller les mises a jour mineur et changer le fichier de config à ce moment la.
Le principe des packages est expliqué ici: http://getcomposer.org/doc/05-repositories.md#packages
Bon dèv !
salut Soullivaneuh,
ok j'arrive pas ajouter un lib manuellement au autoloader après le télécharger dans le dossier vendor meme si je l’ajoutée au fichier vendor\composer\autoload_namespaces.php jpp l'utiliser a mes bundle "class not found.."
alors la solution et l’utilisation Compser, je le télécharger et j'ajoute a son fichier composer.json le package du tcpdf (https://packagist.org/packages/r1pp3rj4ck/tcpdf), ensuite update et voila installig, cloning,.. en fin generation l'upload, ect... le librairy et réellement ajouteé au dossier vendor , MAIS il n'ajoute pas son name-espace au fichier vendor\composer\autoload_namespaces.php!!!! je ne sait pour quoi car normalement il faut l'ajouter automatiquement a l'Upload! maint je suis en train de chercher une solution a modifier la section autoload dans la fichier composer.json
si ça ne marche pas je vas essayer d'istaller le bundle 'whiteoctober/tcpdf-bundle'
j'att votre rep
Salut,
Je n'ai pas tout compris à ton explication, mais pourquoi te compliquer la vie ? Installe le bundle et tcpdf via composer comme je viens de t'indiquer et ta classe TCPDF sera chargée correctement: $container->get("white_october.tcpdf")
je ne veux pas complique la vie mai juste je veux apprendre , ce n'est pas une bonne idée d’être chercher toujours la solution plus facile, si j'ai une solution logique, il faut l'appliquer même si j'aurai des problèmes
MERCI pour votre solution, je télécharger white_october_tcpdf, il marche comme il faut et voila maintenant j'ai des belles pdf, merci encore.
mais en génerale pou ajoute une tell librairie (en prend comme exemple tcpdf "https://packagist.org/packages/tcpdf/tcpdf") a mon projet symfony2 reste sans solution pour moi , si tu a une ideé je peux poster mes demarches d'installation ce dernier et l'erreurs que j'avais.
mes respects.
Alors en fait il y a trois type de librairies:
- Les librairies utilisant les namespace (PHP >= 5.3), dans ce cas il n'y a rien a faire a part ajouter le lib dans composer
- Les librairies utilisant la convention de nommage des classes PEAR, dans ce cas il faut juste ajouter l'emplacement du prefix avec registerPrefixes
- Les librairies avec les classes moches (a mon gout ! :p), la il faut ruser un peu en faisant une classe de type PEAR qui heritera de ta classe voulue, pour ensuite faire comme le deuxieme point. Exemple ici: http://www.zapoyok.info/2012/01/15/a...e-a-symfony-2/
Il y a une page complete sur l'ajout de librairie sur le doc officielle, tu devrais y jeter un oeil !
http://symfony.com/doc/current/compo...ss_loader.html
salut,
1- tout d'abords le bundle white_october_tcpdf, je crois q'il utilise seulement le Class tcpdf.php de la librairie tTCPDF par contre il ignorer les autres class qui n'ont pas une relation avec ce dernier comme la classe tcpdf_barcodes_1d.pdf car j'arrive pas a générer une code a barre, En effet je trouver que le bundle hérite que le class tcpdf.php,
2- problème d'ajouter un tell lib au symfony2.1, je téléchargé le librairie tcpdf depuis https://packagist.org/packages/r1pp3rj4ck/tcpdf dans le dossier vendor, ensuite je l'ajouteé au composer ça:
alors l'autoload de composer l'ajouté automatiquement le namespace a son fichier vendor\composer\autoload_namespaces.php comme suite:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 { "name": "symfony/framework-standard-edition", "description": "The \"Symfony Standard Edition\" distribution", "autoload": { "psr-0": { "": "src/", "symfonytcpdf": "src/r1pp3rj4ck/tcpdf" } },
j'essaye avec plusieurs façon pour l'utiliser dans mon contrôleur (use symfonytcpd\tcpdf;...) mais toujour le même problème class tcpdf not found....
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 <?php // autoload_namespaces.php generated by Composer $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( 'symfonytcpdf' => array($baseDir . '/src/r1pp3rj4ck/tcpdf'), 'WhiteOctober\\TCPDFBundle' => array($vendorDir . '/whiteoctober/tcpdf-bundle'), 'Twig_Extensions_' => array($vendorDir . '/twig/extensions/lib'), 'Twig_' => array($vendorDir . '/twig/twig/lib'), 'Symfony\\Bundle\\SwiftmailerBundle' => array($vendorDir . '/symfony/swiftmailer-bundle'), 'Symfony\\Bundle\\MonologBundle' => array($vendorDir . '/symfony/monolog-bundle'), 'Symfony\\Bundle\\AsseticBundle' => array($vendorDir . '/symfony/assetic-bundle'), 'Symfony' => array($vendorDir . '/symfony/symfony/src'), 'SessionHandlerInterface' => array($vendorDir . '/symfony/symfony/src/Symfony/Component/HttpFoundation/Resources/stubs'), 'Sensio\\Bundle\\GeneratorBundle' => array($vendorDir . '/sensio/generator-bundle'), 'Sensio\\Bundle\\FrameworkExtraBundle' => array($vendorDir . '/sensio/framework-extra-bundle'), 'Sensio\\Bundle\\DistributionBundle' => array($vendorDir . '/sensio/distribution-bundle'), 'Monolog' => array($vendorDir . '/monolog/monolog/src'), 'Metadata\\' => array($vendorDir . '/jms/metadata/src'), 'JMS\\SecurityExtraBundle' => array($vendorDir . '/jms/security-extra-bundle'), 'JMS\\DiExtraBundle' => array($vendorDir . '/jms/di-extra-bundle'), 'JMS\\AopBundle' => array($vendorDir . '/jms/aop-bundle'), 'Doctrine\\ORM' => array($vendorDir . '/doctrine/orm/lib'), 'Doctrine\\DBAL' => array($vendorDir . '/doctrine/dbal/lib'), 'Doctrine\\Common' => array($vendorDir . '/doctrine/common/lib'), 'Doctrine\\Bundle\\DoctrineBundle' => array($vendorDir . '/doctrine/doctrine-bundle'), 'CG\\' => array($vendorDir . '/jms/cg/src'), 'Assetic' => array($vendorDir . '/kriswallsmith/assetic/src'), '' => array($baseDir . '/src'), );
Tu as cette erreur meme en faisant $pdfObj = $container->get("white_october.tcpdf")->create(); ?
La classe du service est la suivante : https://github.com/whiteoctober/Whit...Controller.php
Moi comme ca ca fonctionne, en faisant juste un use TCPDF; ...
J'ai pas le pc qui faut sur moi, je regarde mon autoload dès que je peux !
oui ça fonctionne pour moi aussi avec la création des pdf, mais essayé de générer un code a barre avec ce bundle !!! car la classe TCPDF ne crée pas des code a barre.
le class tcpdf_barcodes_1d.php c'est le responçable a gnere les code barre, si t remarque il n'existe pas dans le controlleur https://github.com/whiteoctober/Whit...Controller.php par contre il existe dans la librairie ...
COMMENT générer un code a barre avec ce bundle???
Je t'avoue ne jamais avoir essaye le code barre...
Essayes d'ouvrir un ticket ici: https://github.com/whiteoctober/Whit...ues?state=open mais en anglais biensur
Bonjour,
ça date de la version 2.0 mais ça m a déjà dépanner. http://www.petitstrucs.fr/2012/05/aj...ojet-symfony2/
et celle là aussi
http://www.kiwwito.com/article/add-t...s-to-symfony-2
pour le code a barre je vas modifier le bundle lui mem c pas grave...
mais pour ce que concerne l'utilisation de l'autoload c'est une autre histoire..
stephan.78: est ce que vous consulter mon fichier vendor\composer\autoload_namespaces.php en haut?
je sais pas exactement mais je crois que avec symfony2.1 on ne peut jamis modifier la fuchier app/autoload.php voila le code de app/aotoload.php:
svp Jetez un oeil haut, vous trouver comment je modifier l'autoload du composer...
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 <?php use Doctrine\Common\Annotations\AnnotationRegistry; $loader = require __DIR__.'/../vendor/autoload.php'; // intl if (!function_exists('intl_get_error_code')) { require_once __DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs/functions.php'; $loader->add('', __DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs'); } AnnotationRegistry::registerLoader(array($loader, 'loadClass')); return $loader;
Comment ca on ne peut jamais modifier le fichier app/autoload.php ? Biensur que si ! Je l'ai fait pour modifier des parametre de config avec ini_set !
en cas de composer je crois pas ... Bon en tt cas comment je peut le modfier pour ajouter mon lib?
j'essaye le démarche du tuto que tu m’envoyer mais rien...
Composer ne touche pas au fichier autoload.php ...
Tu veux dire quoi par rien ? Qu'as-tu fais exactement ?
Je n'arrive pas à installer le bundle avec composer, après une longue attente m'affiche le message suivant, Exception time out
voici mon composer
avez-vous des idées sur cette erreur SVP?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 "require": { "php": ">=5.3.3", "symfony/symfony": "2.2.*", "whiteoctober/tcpdf-bundle": "dev-master" },
C'est tout simplement ta connexion qui pose probleme, TCPDF est une assez (trop ?) grosse librairie.
Il faut que tu augment le process-timeout de ton fichier de config pour composer: http://getcomposer.org/doc/04-schema.md#config
puis modifier le AppKernel.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ php composer.phar require whiteoctober/tcpdf-bundle:dev-master
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 new WhiteOctober\TCPDFBundle\WhiteOctoberTCPDFBundle(),
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager