Composer: Mendukung Fungsi dan Konstanta Pemuatan Otomatis

Dibuat pada 7 Mar 2017  ·  3Komentar  ·  Sumber: composer/composer

Saya memiliki paket komposer ini https://github.com/PabloJoan/slack-delete

Saya tidak menggunakan kelas apa pun untuk menulis kode. Hanya fungsi. Saya mengatur kode saya dengan meletakkan 1 fungsi dalam 1 file, mengatur file-file ini di folder, dan kemudian memberi nama spasi. Pada dasarnya mengikuti semua yang ada di PSR-4 kecuali alih-alih Kelas dengan namespace, ini adalah Fungsi dengan namespace.

tidak ada fitur autoloading di composer untuk mendukung ini.

Saya harus menggunakan "file" agar ini berfungsi https://getcomposer.org/doc/04-schema.md#files .
Masalahnya adalah saya harus menambahkan semua file ini secara manual dan itu bisa menjadi sangat panjang.

Lihat di bawah.
composer.json saya :

{
    "autoload": {
        "files": [
            "src/APIURL.php",
            "src/Cli/getToken.php",
            "src/Cli/getUser.php",
            "src/Delete/all.php",
            "src/Delete/channels.php",
            "src/Delete/files.php",
            "src/Delete/groups.php",
            "src/Delete/history.php",
            "src/Delete/ims.php",
            "src/User/get.php"
        ]
    }
}

Bagaimana Anda menyarankan saya mengelola ini dengan lebih baik?

Komentar yang paling membantu

PHP sendiri tidak menawarkan autoloading fungsi/konstanta, jadi sampai tidak, kami tidak dapat benar-benar mendukungnya sama sekali. Membungkus di kelas pasti lebih mudah, meskipun rasanya agak konyol/berlebihan bahasa yang membuat kita melakukan itu.

Semua 3 komentar

Karena penasaran murni, mengapa Anda melakukan ini? Pindah ke kelas akan membantu kewarasan Anda sendiri saat proyek berkembang.

Kamu mungkin benar. Ini adalah eksperimen. akhirnya saya ingin melihat bagaimana mengimplementasikan pemrograman fungsional ke PHP dan dengan mulus menjadi bagian dari komunitas php dengan komposer. Saya tahu proyek sampel yang saya miliki tidak benar-benar "fungsional" saat ini, tetapi komposer yang mendukung fungsi yang dimuat secara otomatis dengan ruang nama akan menjadi lompatan besar ke depan.

Ini mengikuti aturan namespace umum yang sama dengan PSR4 untuk kelas, jadi tidak mengganggu basis kode yang ada.

PHP sendiri tidak menawarkan autoloading fungsi/konstanta, jadi sampai tidak, kami tidak dapat benar-benar mendukungnya sama sekali. Membungkus di kelas pasti lebih mudah, meskipun rasanya agak konyol/berlebihan bahasa yang membuat kita melakukan itu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat