Thực hành tốt nhất cho việc sắp xếp các hàm được sử dụng trên nhiều lớp MVC là gì?Các chức năng Symfony "toàn cầu" nên được đặt ở đâu?
Gần đây tôi đã phải viết một số hàm thống kê được sử dụng cả trong Chế độ xem và Mô hình. Nếu tôi đặt chúng trong một helper, tôi đang gặp khó khăn khi tải các trình trợ giúp trong lớp mô hình, điều này gây phiền toái, có vẻ không chính xác, và ngắt hoàn toàn khi các hàm đó được gọi từ một nhiệm vụ (vì không có ngữ cảnh mặc định). Nếu tôi đặt chúng trong thư mục lib
cấp cao nhất, tôi đang mắc kẹt thực hiện các cuộc gọi như Stats::normalPercentile
trong chế độ xem.
Có tùy chọn nào khác không? Có bất kỳ ý kiến nào từ Symfony devs về nơi các chức năng như thế này nên được đặt?
Chỉnh sửa: Rõ ràng không có vấn đề gì khi thực hiện cuộc gọi tĩnh trong chế độ xem. Tôi suy ra điều này dựa trên Symfony không viết những người trợ giúp của họ như là các lớp học (ngay cả sau significant discussion.) Trong trường hợp đó, có bất kỳ quy ước nào để đặt các tệp như thế này không? Chỉ cần ném chúng trong lib/util
?
Tôi đồng ý: không có gì sai với các cuộc gọi tĩnh trong chế độ xem. Nếu OP không thích nó, anh ta sẽ tạo ra một người trợ giúp che giấu chúng. – Maerlyn
Tôi không thu thập số liệu thống kê trong chế độ xem, nhưng tôi đang tính toán như phần trăm của một giá trị. Tôi đoán tôi phỏng đoán (không chính xác) các cuộc gọi tĩnh bị cau mày khi xem vì Symfony không đặt người trợ giúp của họ vào trong các lớp. –