Tôi đã viết một ứng dụng PHP nhỏ mà tôi muốn phân phối. Tôi đang tìm các phương pháp hay nhất để nó có thể được cài đặt trên hầu hết các máy chủ web với những rắc rối tối thiểu.Phân phối một ứng dụng PHP nhỏ
Tóm tắt: Đây là công cụ đơn giản cho phép mọi người tải xuống tệp khi họ đăng nhập bằng mật khẩu.
Vì vậy, câu hỏi của tôi là:
1) Tôi nên xử lý các giá trị cấu hình như thế nào? Tôi không sử dụng một cơ sở dữ liệu, do đó, một tập tin cấu hình có vẻ thích hợp. Tôi biết rằng các ứng dụng php khác (ví dụ: Wordpress) sử dụng định nghĩa, nhưng chúng là toàn cầu và có tiềm năng rằng các tên sẽ xung đột. (Các biến toàn cầu cũng có cùng một vấn đề, rõ ràng.) Tôi đã xem xét cơ chế tệp "ini" được xây dựng trong PHP. Nó chỉ cho phép nhận xét ở trên cùng - vì vậy bạn không thể chú thích từng cài đặt một cách dễ dàng - và bạn không thể xác thực cú pháp bằng "php -f". Sự lựa chọn khác?
2) Cách xử lý templating? Ứng dụng cần bơm một biểu mẫu. Có thể có thông báo lỗi. (ví dụ: "Xin lỗi, mật khẩu sai"). Tôi đã có biến lớp với biểu mẫu HTML, nhưng cũng cho phép tệp mẫu bên ngoài được sử dụng thay thế (được chỉ định trong cấu hình). Tôi thực hiện một số tìm kiếm nhỏ và thay thế - ví dụ: % SCRIPT% vào tên của tập lệnh,% STATUS% để giữ thông báo lỗi. Điều này cảm thấy một chút giống như phát minh lại bánh xe, nhưng bao gồm một hệ thống templating như Smarty là overkill. (Plus họ có thể đã có một hệ thống templating.) Các tùy chọn khác?
3) i18n - Chỉ có 3 chuỗi thư và gettext dường như không được cài đặt chung. Có phải đó là một ý tưởng tồi khi chỉ thực hiện ba tham số chuỗi này trong tệp cấu hình?
4) Cách tích hợp tốt nhất với các khung công tác khác? Ứng dụng của tôi là một lớp duy nhất. Vì vậy, tôi nghĩ rằng tôi chỉ có thể bao gồm một tập lệnh php cho thấy lớp học được gọi như thế nào. Nó sẽ là một điểm khởi đầu cho những người đã tích hợp nó vào một khuôn khổ khác, nhưng cũng tốt cho những người không quan tâm đến việc tùy biến. Hợp lý?
5) tham số GET/POST - Có phải biểu mẫu xấu cho lớp học đang xem ở $ _GET và $ _POST không? Tất cả các giá trị có nên được chuyển vào lớp của tôi trong quá trình xây dựng không?
Cảm ơn.
Tôi thích kiểu cấu hình đó! Tôi sẽ thử nó ngay bây giờ. –