Apa perbedaan antara PECL dan PEAR?

139

Saya dapat melihat bahwa pustaka GD adalah untuk gambar. Tapi saya tidak bisa melihat perbedaan antara PECL dan PEAR. Keduanya memiliki otentikasi. Apa perbedaan utama antara keduanya? Mengapa mereka tidak menggabungkannya?

tulang kering
sumber

Jawaban:

258

PECL adalah singkatan dari PHP Extension Community Library , ia memiliki ekstensi yang ditulis dalam C, yang dapat dimuat ke dalam PHP untuk menyediakan fungsionalitas tambahan. Anda harus memiliki hak administrator, kompiler C, dan toolchain terkait untuk menginstal ekstensi tersebut.

PEAR adalah Ekstensi PHP dan Tempat Penyimpanan Aplikasi , memiliki perpustakaan dan kode yang ditulis dalam php. Yang dapat Anda unduh, instal, dan sertakan dalam kode Anda.

Jadi, ya mereka mirip, tapi sangat berbeda :)

Anti Veeranna
sumber
23
Jawaban yang sangat jelas. Saya akan menambahkan bahwa PEAR sebenarnya adalah dua hal: Ini adalah repositori perpustakaan, tetapi juga merupakan saluran distribusi / sistem pengemasan. Awalnya, sistem pengemasan hanya mendistribusikan satu repositori PEAR, tetapi hari ini, saluran distribusi dapat digunakan oleh pustaka pihak ketiga mana pun.
troelskn
@troelskn, Anda menyebutnya "saluran distribusi"? Apa bedanya dengan pustaka PHP tomdickharry biasa? Apakah Anda akan menyebut jQuery sebagai "saluran distribusi" juga?
Pacerier
@troelskn, Sebenarnya jQuery dan tom dan harry memiliki protokol yang jelas juga. Apa hal tentang PEAR yang membuatnya berbeda dari mereka?
Pacerier
7
@Pacerier Terakhir kali saya melihat, jQuery tidak memiliki manajer paket. Di komunitas js, npm sepertinya mengisi kekosongan ini akhir-akhir ini (Meskipun sudah ada kontestan lain selama bertahun-tahun).
troelskn
8

PECL adalah gudang ekstensi C untuk PHP. Ekstensi tersebut biasanya dipasang melalui peclperintah, yang merupakan alias untuk pear, dengan saluran / repositori default disetel ke pecl.php.net.

PEAR terdiri dari beberapa hal:

  1. Penginstal paket ( pearperintah) yang dapat menginstal paket dari saluran yang berbeda (repositori), termasuk pecl.php.net. Banyak yang menganggap komposer sebagai penerus pemasang pir.
  2. Repositori paket http://pear.php.net/packages.php dengan ~ 600 perpustakaan. Banyak dari mereka dapat dipasang oleh komposer.
  3. Standar pengkodean PHP yang tersedia dengan PHP_CodeSniffer.
cweiske.dll
sumber
Terasa lebih akurat / jelas untuk mengatakan ekosistem PEAR mencakup standar pengkodean?
Zv_oDD
5

pear adalah kelas-kelas php yang ditulis dengan php sedangkan pecl adalah extension yang tidak ditulis dalam php dan perlu di-compile.

Hos Mercury
sumber
2

PEAR seperti itu bukanlah standar pengkodean. Sebaliknya PEAR "mengikuti" standar pengkodean yang telah ditetapkan yang didorong dalam Komunitas PHP. Namun ini bukan satu-satunya standar pengkodean yang dapat diikuti oleh pengguna PHP, ZF, misalnya. merekomendasikan standar yang sedikit berbeda.

Hanya pria lain
sumber
1

PEAR juga merupakan standar pengkodean ;-) php_codesniffer (instal melalui $ pear install php_codesniffer) adalah alat yang akan memindai kode dan hilight Anda di mana ia menyimpang dari itu atau standar pengkodean lain yang didukung.

kguest
sumber