Sự khác biệt giữa PECL và PEAR là gì?


138

Tôi có thể thấy rằng thư viện GD là dành cho hình ảnh. Nhưng tôi không thể thấy sự khác biệt giữa PECL và PEAR. Cả hai đều có xác thực. Sự khác biệt chính giữa hai là gì? Tại sao họ không kết hợp chúng?

Câu trả lời:


254

PECL là viết tắt của Thư viện cộng đồng mở rộng PHP , nó có các phần mở rộng được viết bằng C, có thể được tải vào PHP để cung cấp chức năng bổ sung. Bạn cần có quyền quản trị viên, trình biên dịch C và chuỗi công cụ liên quan để cài đặt các tiện ích mở rộng đó.

PEARkho lưu trữ ứng dụng và mở rộng PHP , nó có các thư viện và mã được viết bằng php. Những người bạn chỉ có thể tải xuống, cài đặt và bao gồm trong mã của bạn.

Vì vậy, vâng, chúng giống nhau, nhưng rất khác nhau :)


23
Câu trả lời rất rõ ràng. Tôi muốn nói thêm rằng PEAR thực sự có hai điều: Đó là một kho lưu trữ các thư viện, nhưng nó cũng là một kênh phân phối / hệ thống đóng gói. Ban đầu, hệ thống đóng gói chỉ phân phối kho PEAR duy nhất, nhưng ngày nay, kênh phân phối có thể được sử dụng bởi bất kỳ thư viện bên thứ ba nào.
troelskn

@troelskn, Bạn gọi đó là "kênh phân phối"? Nó khác với thư viện PHP tomdickharry bình thường như thế nào? Bạn có định gọi jQuery là "kênh phân phối" không?
Pacerier

@troelskn, Trên thực tế jQuery và tom và harry cũng có các giao thức được xác định rõ ràng. Điều gì về PEAR làm cho nó khác với họ?
Pacerier

7
@Pacerier Lần trước tôi đã xem, jQuery không có trình quản lý gói. Trong cộng đồng js, npm dường như lấp đầy khoảng trống này những ngày này (Mặc dù đã có những thí sinh khác trong những năm qua).
troelskn

8

PECL là kho lưu trữ các phần mở rộng C cho PHP. Các phần mở rộng đó thường được cài đặt thông qua pecllệnh, là bí danh cho pear, với kênh / kho lưu trữ mặc định được đặt thành pecl.php.net.

PEAR là nhiều thứ:

  1. Trình cài đặt gói ( pearlệnh) có thể cài đặt các gói từ các kênh khác nhau (kho lưu trữ), bao gồm pecl.php.net. Nhiều người coi nhà soạn nhạc là người kế thừa của trình cài đặt lê.
  2. Kho lưu trữ gói http://pear.php.net/packages.php với ~ 600 thư viện. Nhiều người trong số họ là nhà soạn nhạc có thể cài đặt.
  3. Một tiêu chuẩn mã hóa PHP có sẵn với PHP_CodeSniffer.

Cảm thấy chính xác hơn / rõ ràng hơn khi nói hệ sinh thái PEAR bao gồm một tiêu chuẩn mã hóa?
Zv_oDĐ

5

lê là một lớp php được viết bằng php Trong khi đó pecl là các phần mở rộng không được viết bằng php và cần biên dịch.


2

PEAR như vậy không phải là một tiêu chuẩn mã hóa. Thay vào đó, PEAR "tuân theo" một tiêu chuẩn mã hóa được khuyến khích trong Cộng đồng PHP. Tuy nhiên, đây không phải là tiêu chuẩn mã hóa duy nhất mà người dùng PHP có thể tuân theo, ví dụ như ZF. đề nghị một tiêu chuẩn hơi khác nhau.


1

PEAR cũng là một tiêu chuẩn mã hóa ;-) php_codesniffer (cài đặt qua $ pear install php_codesniffer) là một công cụ sẽ quét mã của bạn và hilight nơi nó lệch khỏi đó hoặc bất kỳ tiêu chuẩn mã hóa được hỗ trợ nào khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.