Przedstawię układ katalogów dla mojego projektu:
Kod
- \projekt
---- \vendor
---- \dev
-------- \libs
-------- composer.json
---- \public
-------- \libs
-------- composer.json
---- \vendor
---- \dev
-------- \libs
-------- composer.json
---- \public
-------- \libs
-------- composer.json
W katalogu ./dev i ./public zainicjowałem composer.json z następującymi danymi:
Kod
{
"require": {
"phpmailer/phpmailer": "^6.0",
"mpdf/mpdf": "^7.1"
},
"autoload": {
"psr-4": {
"":"libs"
}
},
"config": {
"bin-dir":"libs",
"vendor-dir": "../vendor"
}
}
"require": {
"phpmailer/phpmailer": "^6.0",
"mpdf/mpdf": "^7.1"
},
"autoload": {
"psr-4": {
"":"libs"
}
},
"config": {
"bin-dir":"libs",
"vendor-dir": "../vendor"
}
}
Niby działa, ale zawsze tylko dla jednego, czyli dla tego który ostatni otrzymał wywołanie: composer dump-autoload
Kod dla autoload_psr4.php mam taki:
<?php // autoload_psr4.php @generated by Composer );
Zmienia się jedynie wartość zmiennej $baseDir czyli albo /dev albo /public.
Czy jest jakaś recepta aby móc korzystać z wewnętrznych klas projektu osobno, a vendora wspólnie?