cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk memasang pakej PHP Komposer tanpa Komposer?

<p>Saya cuba memasang API PHP Coinbase tetapi ia memerlukan Komposer: </p> <p>https://github.com/coinbase/coinbase-php</p> <p>Saya sedang mencari penyelesaian umum PHP (mungkin fungsi) yang membolehkan saya memasang pakej Komposer terus pada pelayan tanpa perlu menggunakan Komposer. </p> <p>Saya rasa pembangun Komposer berpendapat mereka sedang membantu orang ramai, tetapi sebenarnya terdapat beribu-ribu pembangun pemula yang tidak dapat mempelajari pembangunan web kerana "Penghalang Komposer". </p> <p>Jika terdapat penyelesaian yang fleksibel atau beberapa cara untuk memasang tanpa Komposer? apa patut saya buat? </p> <p><strong>Sila jangan balas komen sarkastik</strong>. Sesetengah orang tidak mahu menggunakan Komposer, dan saya tidak nampak mengapa kita perlu dipaksa menggunakan perisian pihak ketiga khusus untuk pembangunan web. </p>
P粉278379495P粉278379495462 hari yang lalu556

membalas semua(2)saya akan balas

  • P粉268654873

    P粉2686548732023-08-23 11:06:27

    Anda boleh mencuba https://php-download.com/, ia boleh membantu anda memuat turun semua kebergantungan pada kebanyakan masa dan disertakan dengan folder vendor. Ia menjanjikan bahawa komposer tidak diperlukan. Saya sendiri mencubanya. Ia akan mencari dan mencipta semua folder yang diperlukan dan zipnya untuk dimuat turun. Berfungsi dengan sempurna! !

    balas
    0
  • P粉403804844

    P粉4038048442023-08-23 00:15:59

    Dalam contoh anda, composer.jsonfail menyenaraikan kebergantungan.

    "require": {
        "php": ">=5.5.0",
        "guzzlehttp/guzzle": "^6.0",
        "psr/http-message": "^1.0",
        "psr/log": "^1.0"
    },

    Kemudian, anda perlu mencari pakej yang sepadan di laman web packagist. Untuk setiap kebergantungan, ulangi proses yang sama: cari kebergantungan lain dalam fail composer.json yang sepadan dan cari semula.

    Apabila anda akhirnya mempunyai senarai lengkap pakej yang diperlukan, anda hanya perlu memasangnya satu demi satu. Dalam kebanyakan kes, hanya meletakkan fail di suatu tempat dalam direktori projek sudah memadai. Tetapi anda juga perlu memastikan PHP boleh mencari kelas yang diperlukan. Memandangkan anda tidak menggunakan autoloader Composer, anda perlu menambahkannya pada autoloader tersuai anda sendiri. Anda boleh mendapatkan maklumat daripada fail composer.json yang sepadan, contohnya:

    "autoload": {
        "psr-4": { "Coinbase\Wallet\": "src/" }
    },

    Jika anda tidak menggunakan autoloader kelas, anda perlu mengetahui penyata require_once individu. Memandangkan kebanyakan pengarang perpustakaan tidak akan mengambil berat tentang perkara ini, anda mungkin perlu melakukan banyak percubaan dan kesilapan.

    Selain itu, sekiranya terdapat sebarang kekeliruan mengenai perkara tersebut:

    • Komposer mempunyai pemasang antara muka grafik Windows rasmi dan copy-pasteproses pemasangan baris arahan untuk semua platform.
    • Komposer boleh dijalankan secara tempatan dan outputnya boleh dimuat naik di tempat lain. Anda tidak perlu menggunakan SSH pada pengehosan kongsi.
    • Arahan yang diperlukan untuk memasang pustaka boleh disalin-tampal daripada tapak web pakej dan packagist.org akan menjananya secara lalai walaupun penyelenggara pakej tidak mahu mendokumenkannya.

    Komposer tidak sempurna, dan juga tidak sesuai untuk semua kes penggunaan, tetapi apabila ia datang untuk memasang perpustakaan yang bergantung padanya, sudah pasti ia adalah pilihan terbaik, dan cukup bagus pada masa itu.


    Saya melihat jawapan yang lain selepas jawapan saya. Mereka terutamanya dibahagikan kepada dua kategori:

    1. Pasang pustaka dan tulis skrip muat turun tersuai
    2. Gunakan antara muka dalam talian Komposer berasaskan web

    Melainkan saya terlepas sesuatu, tiada seorang pun daripada mereka menjawab soalan yang dibangkitkan oleh OP:

    • Keluk Pembelajaran
    • Gunakan perisian pihak ketiga
    • Mungkin berkembang pada pelayan (menggunakan SSH, saya rasa)
    • Pohon pokok pergantungan dalam yang berpotensi

    balas
    0
  • Batalbalas