Thực hành tốt nhất cho tên biến mô-đun tùy chỉnh?


8

Bây giờ tôi đã có thói quen thực hiện các bảng cấu hình khá mạnh mẽ cho các mô-đun của mình và tôi thấy việc quản lý và đặt tên biến khá khó khăn .

Tôi có các biến như thế mymodule_section_subvar_varname_type_contextvà tôi không chỉ theo dõi thứ tự của các phần tử trong tên biến của mình mà tôi cảm thấy như thể có một tên biến dài đó là một lỗ hổng thiết kế.

Tôi đã xem xét sử dụng một mảng được tuần tự hóa trong một biến mymodule_section_settingskết hợp với một tập hợp các hàm giúp dễ dàng duy trì mảng đó nhưng tôi thích một số đầu vào trong những gì (nếu có) thực tiễn tốt nhất đã được thiết lập bên ngoài tiền tố và / hoặc ví dụ về các mô-đun mà chúng tôi tin tưởng và những gì chúng đang làm cho các bộ biến lớn.

Cảm ơn!


Ngoài ra, tôi cũng muốn xem xét các bản cập nhật trong phần này (đó là lý do tại sao tôi nghiêng về một mảng được tuần tự hóa) để thay đổi tên biến không phải là dữ liệu mồ côi và thêm công việc bổ sung cho chức năng / kiểm tra đường dẫn nâng cấp bổ sung
electblake

Câu trả lời:


7

Có thể sử dụng biến Drupal để chứa một mảng; đó là những gì các mô-đun lõi Drupal cũng làm (xem book_type_is_allowed () ).

Có thể sử dụng một biến Drupal duy nhất để chứa các cài đặt khác nhau được sử dụng bởi một mô-đun thành một mảng. Với #treethuộc tính biểu mẫu vẫn có thể sử dụng system_sinstall_form () để lưu mảng vào biến Drupal mà không cần viết bất kỳ mã bổ sung nào. Việc tuần tự hóa việc khử tuần tự mã được thực hiện tự động bởi các hàm lõi Drupal xử lý các biến Drupal (xem mã của biến_set () ).

Câu hỏi đặt ra là: khi nào nên sử dụng một biến Drupal duy nhất để chứa các cài đặt khác nhau? Tôi sẽ sử dụng một biến duy nhất cho các cài đặt được sử dụng bởi một chức năng hoặc một nhóm các chức năng; nếu mảng chứa các giá trị được sử dụng bởi (ví dụ) 10 hàm khác nhau, nhưng các hàm đó truy cập vào một giá trị (hoặc một vài giá trị) từ mảng đó, thì tôi sẽ không sử dụng một biến liên tục duy nhất cho các cài đặt.


Bạn có ai biết loại kịch bản này sẽ phản ứng thế nào trong Tính năng và / hoặc Strongarm không? Tôi ghét phải khóa các mô-đun đó và những người dùng yêu thích sự cơ động mà các mô-đun có thể mang lại.
bầu chọn

Tôi không thấy bất kỳ lý do nào khiến các Tính năng có bất kỳ vấn đề nào với biến Drupal có chứa một mảng. Ai đó khác có thể báo cáo chi tiết cho bạn nếu nó hoàn toàn đúng hoặc không.
kiamlaluno

vâng, tôi hiểu đây có thể là một câu hỏi ngoài phạm vi của câu hỏi này - nhưng muốn đảm bảo rằng tiêu chuẩn này có hiệu quả với tất cả mọi người :) Tôi sẽ báo cáo sau khi tôi thử một vài điều.
bầu chọn

2

Nếu một tập hợp các cài đặt có liên quan thì đặt chúng vào một mảng có ý nghĩa. Ví dụ: nếu bạn đang làm several variable_gettuần tự. Nó cung cấp cho bạn một số linh hoạt cũng như có khả năng nhanh hơn một chút.

Tuy nhiên, điều này sẽ gây khó khăn cho các chương trình khác để chỉnh sửa cài đặt của bạn theo cách thủ công thông qua một cái gì đó như vush drush hoặc strongarm. Trong những trường hợp này, tên biến dài có thể thực sự hữu ích.

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.