Bonjour,

Je tente désespéramment d'ajout dans mon projet Symfony2 une librairie que j'ai écrite.

J'ai placé les fichiers dans vendor ce qui donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
- Pn
  - Schema
    - src
        - Schema.php
        - Attribute.php
        - etc.
Ensuite, j'ai modifié mon fichier composer.json pour déclarer mon namespace :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
"autoload": {
        "psr-0": {
            "": "src/",
            "Pn\\Schema": "vendor/Pn/Schema/src"
         }
    },
Puis lancer la commande composer dump-autoload, qui a eu pour conséquence de générer le fichier autoload_namespaces.php avec mon namespace :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<?php
// autoload_namespaces.php generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(    
[...]
'Pn\\Schema' => $vendorDir . '/Pn/Schema/src',
[...]
);
Mes classes ressemblent à ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?php
namespace Pn\Schema;
class Schema {
[...]
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?php
namespace Pn\Schema;
class Attribute {
[...]
}
Dans mon controller, je fais comme çà :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
use \Pn\Schema\Schema as PnSchema;
[...]
public function testAction() {
        $schema = new PnSchema('individu');
        return new Response(json_encode(true));
}
Bien entendu, comme tout ce que j'ai fait dans Symfony2 ne fonctionne jamais du premier coup même en suivant des tutos, je me tourne vers vous

FatalErrorException: Error: Class 'Pn\Schema\Schema' not found in C:\wamp\www\pn-server\src\Pn\RestServerBundle\Controller\CriterionController.php line 66