Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Composer] Wiele projektów - jeden vendor, Jak to skonfigurować poprawnie?
Tomplus
post 5.12.2018, 15:31:46
Post #1





Grupa: Zarejestrowani
Postów: 1 836
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Nie wiem jak użyć jeden katalog vendor dla wielu projektów do których potrzebuję te same wersje pakietów. Jednak jedyne wyjście - najpewniejsze to inicjacja composera w katalogu projektu, ale gdy jest dużo większych bibliotek to nie ma sensu duplikowania bibliotek.

Przedstawię układ katalogów dla mojego projektu:

Kod
- \projekt
---- \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"
    }
}


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:

  1. <?php
  2.  
  3. // autoload_psr4.php @generated by Composer
  4.  
  5. $vendorDir = dirname(dirname(__FILE__));
  6. $baseDir = dirname($vendorDir).'/dev';
  7.  
  8. return array(
  9. 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
  10. 'PHPMailer\\PHPMailer\\' => array($vendorDir . '/phpmailer/phpmailer/src'),
  11. 'Mpdf\\' => array($vendorDir . '/mpdf/mpdf/src'),
  12. 'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'),
  13. '' => array($baseDir . '/libs'),
  14. );



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?

Ten post edytował Tomplus 5.12.2018, 16:29:10
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 16:48