2010-08-19 27 views
13

PHP 5.3 có một tính năng mới gọi là Phar tương tự như JAR trong JAVA. Về cơ bản nó là một kho lưu trữ các tệp PHP. Ưu điểm của nó là gì? Tôi không thể hiểu làm thế nào chúng có thể hữu ích trong kịch bản web.Ưu điểm của tệp nén Phar trong PHP

Bất kỳ sử dụng khác ngoài "dễ triển khai" - triển khai toàn bộ ứng dụng bằng cách chỉ cần sao chép một tập tin

+0

http://www.ibm.com/developerworks/opensource/library/os-php-5.3new4/index.html?ca=dgr-lnxw16PHP5.3-Phar&S_TACT=105AGX59&S_CMP=grsitelnxw16 –

Trả lời

18

Có những lợi ích to lớn cho các dự án nguồn mở (không theo thứ tự cụ thể).

  1. Triển khai dễ dàng hơn có nghĩa là việc áp dụng dễ dàng hơn. Hãy tưởng tượng: Bạn cài đặt CMS, diễn đàn hoặc hệ thống blog trên trang web của bạn bằng cách kéo nó vào ứng dụng khách FTP của bạn. Vậy đó.

  2. Triển khai dễ dàng hơn có nghĩa là bảo mật dễ dàng hơn. Cập nhật lên phiên bản mới nhất của gói phần mềm sẽ ít phức tạp hơn nhiều nếu bạn chỉ có một tệp cần phải lo lắng.

  3. Triển khai nhanh hơn. Nếu máy chủ web của bạn không cung cấp cho bạn quyền truy cập trình bao, bạn không cần phải giải nén trước khi tải lên, điều này sẽ cắt giảm chi phí chuyển mỗi tệp.

  4. Chia ngăn nội quy. Các tệp là một phần của gói được phân biệt rõ ràng với các bổ sung hoặc tùy chỉnh. Bạn biết bạn có thể dễ dàng thay thế tệp lưu trữ nhưng bạn cần phải sao lưu cấu hình và các mẫu tùy chỉnh của mình (và chúng không được trộn lẫn với nhau).

  5. Thư viện dễ hơn. Bạn không cần phải tìm hiểu cách sử dụng trình cài đặt PEAR, hoặc tìm hiểu xem thư viện này hoặc thư viện đó có cấu trúc thư mục lồng nhau hay bạn phải bao gồm X, Y hoặc Z (theo thứ tự đó?). Chỉ cần tải lên, bao gồm lưu trữ, bắt đầu viết mã.

  6. Dễ bảo trì hơn. Bạn không chắc chắn liệu việc cập nhật thư viện có làm hỏng ứng dụng của bạn không? Chỉ cần thay thế nó. Bị hỏng? Hoàn nguyên một tệp. Bạn thậm chí không cần phải chạm vào ứng dụng của bạn.

  7. Những gì bạn thấy là những gì bạn nhận được. Rất có thể, ai đó sẽ không gặp rắc rối với việc lưu trữ, vì vậy nếu bạn thấy một cài đặt trên hệ thống mà bạn duy trì, bạn có thể khá tự tin rằng nó không có các lỗ hổng ngẫu nhiên bị ném vào. một băm có thể nhanh chóng cho bạn biết phiên bản đó là gì hoặc liệu nó có bị thay đổi hay không.

Đừng làm cho việc triển khai mọi thứ trở nên dễ dàng hơn.Nó sẽ không tạo ra bất kỳ sự khác biệt nào cho SaaS trong nước, nhưng đối với bất cứ ai vận chuyển hoặc cài đặt các gói phần mềm PHP thì đó là một sự thay đổi game.

+4

Vì vậy, nó là 7 điểm trên đó là một tập tin duy nhất tuyệt vời, nhưng bạn đã không đề cập đến cách nó ảnh hưởng đến bất cứ điều gì ngoại trừ triển khai. Có vẻ như tôi không phải là điều tốt nhất cho buổi biểu diễn. Bất kỳ suy nghĩ về điều đó? – naugtur

+1

@naugtur đó là do triển khai là một vấn đề lớn. Làm cho ai đó thử phần mềm web của bạn (nguồn mở hay không) là bước khó nhất để nhận con nuôi. Nếu bạn nói với họ "chỉ cần thả một tệp đơn giản này vào máy chủ của bạn!" đó là một điểm bán hàng tốt đẹp cho thời điểm quan trọng đó. –

2

Ưu điểm chủ yếu làm dịu triển khai. Bạn triển khai toàn bộ ứng dụng bằng cách chỉ sao chép một tệp.

Thư viện cũng có thể được sử dụng mà không cần mở rộng.

1

Bất kỳ công cụ nào hoạt động trên một tệp "đột nhiên" đều hoạt động với tất cả các tệp của ứng dụng cùng một lúc.
Ví dụ: phương tiện: Bạn có thể tải lên toàn bộ ứng dụng thông qua phần tử đầu vào/tệp đơn mà không cần các bước bổ sung.
Ví dụ: ký đơn: kiểm tra/ký tên vào tập tin - > tổng kiểm tra/chữ ký cho toàn bộ đơn.
...

+1

Bạn cũng có thể làm với một tarball được nén thông thường ... Vì vậy, lợi thế duy nhất thực sự là bạn không phải mở rộng nó về triển khai ... đó là IMO không phải là rất hữu ích, đặc biệt. vì hầu hết các lần bạn cũng phải viết các tệp cấu hình ở đâu đó. – Artefacto

5

Về mặt lý thuyết, nó cũng sẽ cải thiện tốc độ tải. Nếu bạn có nhiều tệp cần được bao gồm, hãy thay thế tệp đó bằng một bao gồm sẽ giúp bạn tiết kiệm thời gian cho các hoạt động mở tệp.

+0

Tôi sẽ không nghĩ rằng điều này tạo nên sự khác biệt trên Linux, và tôi nghi ngờ mọi người sử dụng Windows cho công việc phía máy chủ nghiêm trọng (bên ngoài .NET), nhưng tôi sẽ rất vui nếu điều đó đúng. –

+0

Tôi không chắc chắn tôi làm công việc nghiêm túc, nhưng tôi sử dụng PHP và Windows trong sản xuất (tôi không điên, nó là một yêu cầu của khách hàng). – Maxence

4

Theo kinh nghiệm của tôi, các tệp nguồn PHP được đóng gói lỏng lẻo ngồi trong môi trường sản xuất mời làm việc với mã trực tiếp khi cần sửa chữa. Triển khai trong tệp .phar ngăn cản hành vi này và giúp củng cố các thực tiễn tốt hơn, tức là xây dựng và thử nghiệm trong môi trường cục bộ, sau đó triển khai để sản xuất.

Các vấn đề liên quan