Salut, en fait tu fais un peu comme tu veux...
Je vais perndre un exemple, mettons que tu veuilles toujours utiliser le dossier "lib".
Il suffit de faire un fichier lib\MyClass.php
<?php
namespace Lib;
use Cake\ORM\TableRegistry;
class MaClass {
public function __construct() {
$table = new TableRegistry();
die('test');
}
}
puis dans ton controller :
<?php
namespace App\Controller;
use App\Controller\AppController;
use \Lib\MaClass;
class TestsController extends AppController {
public function index() {
$class = new MaClass();
}
}
et dans composer.json
"autoload": {
"psr-4": {
"App\\": "src",
"Lib\\": "lib"
}
},
Tu lance un petit "composer dump-autoload" et c'est parti.
Tu peux aussi faire plus simple et mettre ton dossier dans vendor ou dans source est utiliser le namespace App...bref tu fais un peu comme tu veux.