2010-05-31 5 views
12

có ai biết thư viện quản lý gói cho PHP (ví dụ: apt hoặc yum cho bản phân phối Linux) cách nhau từ PEAR? Tôi đang làm việc trên một hệ thống mà nên bao gồm một hệ thống quản lý gói để quản lý mô-đun. Tôi quản lý để có được một giải pháp làm việc bằng cách sử dụng PEAR, nhưng sử dụng PEAR client cho bất cứ điều gì khác hơn là quản lý cài đặt PEAR không thực sự là giải pháp tối ưu vì nó không được thiết kế cho điều đó. Tôi sẽ phải sửa đổi/mở rộng nó (ví dụ: để thực hiện các hành động cài đặt/nâng cấp hoặc di chuyển các tệp PEAR cụ thể như các tệp khóa khỏi hệ thống gốc) và đặc biệt là mã khách CLI khá lộn xộn và PHP4. Vì vậy, có lẽ ai đó có một số gợi ýTrình quản lý gói PHP

  • cho một PEAR thư viện khách hàng thay thế mà là dễ sử dụng và mở rộng (phía máy chủ có một số hiện thực đẹp như Pirum và pearhub)
  • cho các hệ thống quản lý gói hoàn toàn khác nhau viết bằng PHP (lý tưởng bao gồm theo dõi sự phụ thuộc và các kênh truyền hình khác nhau)
  • cho một số ý tưởng chung làm thế nào để thực hiện một hệ thống PM như vậy (có, tôi vẫn mày mò với ý tưởng thực hiện một hệ thống như vậy từ đầu)

tôi biết cái syst lớn đó ems như Magento và symfony sử dụng PEAR cho PM của họ. Magento sử dụng một phiên bản bị tấn công của PEAR gốc (mà tôi muốn tránh), việc thực hiện của symfony có vẻ khá tích hợp với khung công tác, nhưng sẽ là một điểm khởi đầu tốt để viết ít ứng dụng khách từ đầu. Dù sao, nếu ai có đề xuất: vui lòng :)

+1

Tôi sẽ không khuyên bạn viết một người quản lý gói, trừ khi nó dành cho mục đích học tập. Ví dụ, quản lý phụ thuộc không phải là dễ dàng để có được quyền. – Artefacto

+0

Hãy cập nhật cho chúng tôi nếu bạn thấy điều gì đó thú vị hoặc thực sự bắt đầu một dự án mới! ;) Btw, gần đây tôi đã nhìn thấy một câu hỏi ở đây cho "gnope" (xem sourceforge). Không thử nghiệm nó, nhưng dường như là một trình cài đặt gói đồ họa của các loại, có khả năng liên quan đến PEAR nhưng với các gói có thể định vị lại. Nhưng đã không kiểm tra nó ra thực sự. – mario

+0

Ngoài những gợi ý dưới đây, tôi đã xem xét việc triển khai thực hiện một trình cài đặt PEAR của symfony, đây là một tập hợp các lớp mở rộng các PEAR gốc. Có vẻ khá đơn giản bằng văn bản thực hiện của khách hàng riêng trên đầu trang của thư viện. – maff

Trả lời

11

Composer cũng có.

+0

Cảm ơn, chắc chắn là cách để đi ngay bây giờ, nhưng không có tại thời điểm đó :) – maff

+0

Chỉ để bình luận về điều này - theo trang web của Composer, "Composer không phải là một trình quản lý gói. Có, nó đề cập đến" gói "hoặc thư viện, nhưng nó quản lý chúng trên cơ sở từng dự án, cài đặt chúng trong một thư mục (ví dụ như nhà cung cấp) bên trong dự án của bạn. Theo mặc định nó sẽ không bao giờ cài đặt bất cứ thứ gì trên toàn cầu. Do đó, nó là một trình quản lý phụ thuộc. " Đó là tinh tế, nhưng khác nhau. (Tuy nhiên, Composer là tuyệt vời.) – JasCav

+1

@JasCav Vâng, đó là một trình quản lý gói dự án cấp sau đó;) –

3

Bạn đã kiểm tra Maven for PHP chưa? Tôi đã chỉ được sử dụng Maven trong bối cảnh các ứng dụng Java, nhưng nó chắc chắn:

  • Dễ dàng mở rộng - nó thực sự dễ dàng để thực hiện các plugin Maven
  • Quản lý phụ thuộc - biên dịch phân biệt, kiểm tra và phụ thuộc thời gian chạy (mặc dù biên dịch/thời gian chạy distintion không có ý nghĩa trong PHP).
  • Kho lưu trữ là tầm thường để đưa lên - Apache với mod_dav sẽ cung cấp cho bạn một kho lưu trữ có thể ghi, nhưng bạn cũng có Nexus.
  • Phân biệt ảnh chụp từ các tạo tác ổn định; cho phép một số chính sách cho thời điểm kiểm tra các tạo phẩm ảnh chụp mới và từ đó các kho lưu trữ nhận được từng loại.

Và nhiều - nhiều thứ khác.

+0

Tôi chỉ biết Maven kết hợp với tích hợp liên tục, nhưng nó có vẻ rất mạnh mẽ - cảm ơn vì gợi ý, tôi chắc chắn sẽ thử nó. – maff

2

PEAR2/Pyrus được xây dựng để quản lý gói cho các ứng dụng tùy ý. Tôi tin rằng nó đã được mô hình hóa theo kiến ​​trúc apt/yum.

Helgi - thành viên PEAR lõi - bao gồm một số của nó ở đây - http://www.slideshare.net/helgith/pear2-pyrus-the-look-ahead nhưng các tài liệu là khá rắn quá: http://pear.php.net/manual/en/pyrus.extending.installation.php

+0

PEAR2 dường như bị viêm tên đệm. Và không phải là tốt. – mario

+0

Tôi biết Pyrus và suy nghĩ về việc sử dụng nó, nhưng bằng cách nào đó tôi không quản lý để tìm các tài liệu bạn liên kết với ... giúp rất nhiều với việc sử dụng hệ thống PEAR2, cảm ơn. – maff

+0

@Mathias Tôi đang tìm cách sử dụng nó trong web2project cho tất cả các vấn đề quản lý mô-đun của chúng tôi .. Tôi yêu bên quản lý phụ thuộc của sự vật. – CaseySoftware