• Không thể phải mở rộng lớp cha để thêm thiết lập riêng của bạn các phương pháp. Lưu trữ tất cả trong helper thay thế. EG:. Thay vì mở rộng các lớp điều khiển cơ bản để thực hiện một tầng lớp phụ huynh mới với phương pháp mới, thêm các phương pháp để giúp đỡ mà các bộ điều khiển của bạn có thể sau đó truy cập
. • Dễ dàng chia sẻ mã giữa các lớp khác nhau đáng kể
• Dễ dàng chia sẻ mã giữa plugin et al (ví dụ như hai plugins có thể chia sẻ một tập hợp chung các phương pháp nhưng phần còn lại thì không; lưu trữ những phương pháp trong một helper thay vì mucking lên các định nghĩa lớp cơ sở plugin).
Để biết thêm thông tin về những người giúp đỡ, đọc PHPDocs của khung, xem mã nguồn của địa phương / mr / framework / helper / *.
thạo giao diện
rất nhiều khuôn khổ thực hiện một giao diện thông thạo khi nó có ý nghĩa. Một giao diện thông thạo là khi bạn có thể nối nhiều chức năng cuộc gọi với nhau cho một đối tượng duy nhất. Điều này đạt được bằng cách mỗi chức năng trả lại đối tượng chính nó, ví dụ như trả lại $ này; hoặc trả lại some_nifty_class mới (). Vì vậy, một giao diện thông thạo có thể trông như thế này:
$ object-> foo (...) -> thanh (...) -> baz (...);
Ngoài ra, nếu các chức năng cuộc gọi dài, bạn có thể phá vỡ nó ra trên dòng riêng biệt:
$ object-> foo (...)
-> thanh (...)
-> baz (...);
trên đây là tương đương với những điều sau đây, mà không tận dụng lợi thế của giao diện thông thạo . (Lưu ý: mỗi phương pháp vẫn trả về dụ $ đối tượng, nhưng nó chỉ là bỏ qua ngay bây giờ.)
$ Object-> foo (...);
$ object-> bar (...);
$ object-> baz (... );
Ưu điểm của một giao diện thông thạo:
• Tăng khả năng đọc mã.
• Giảm số lượng mã.
• cho phép chức năng thực sự gọn gàng, ví dụ như những người giúp việc sử dụng này để tự động nạp các đối tượng, do đó đưa ra một tiếp cận với các phương pháp đối tượng.
• Đó là thực sự mát mẻ ! / snort
Nhược điểm của một giao diện thông thạo:
. • Vì có nhiều chức năng cuộc gọi trong một dòng mã và nếu có một lỗi ở giữa các cuộc gọi giao diện thông thạo, sau đó nó có thể làm tăng sự khó khăn của gỡ lỗi nơi chính xác vấn đề nằm
Lớp Quy ước đặt tên
các quy ước đặt tên lớp được sử dụng bởi các khung Moodlerooms cũng bắt chước ước đặt tên lớp Framework. Tên lớp có nguồn gốc của đường dẫn thư mục tập tin lớp và tên file. Thư mục được phân cách bằng dấu gạch dưới và tất cả mọi thứ là chữ thường. Một ngoại lệ là các khối, nơi nó là hợp lý để sử dụng khối thay vì block. Ví dụ:
• mod / modname / mô hình / bản đồ foo.php để mod_modname_model_foo
• đồ khối / blockname / form / edit.php để blocks_blockname_form_edit hoặc block_blockname_form_edit
Ưu điểm khi sử dụng quy ước đặt tên lớp này:
• Giảm nguy cơ va chạm không gian tên.
• Khi nhìn tại tên lớp, người ta có thể dễ dàng lấy được mà tập tin định nghĩa lớp nằm.
• các lớp học và các tập tin của họ có thể được dễ dàng hơn động nạp. Xem địa phương / mr / framework / helper / load.php mà tải các lớp học và các tập tin của họ.
Sử dụng quy ước đặt tên này trong plugin của bạn sẽ làm cho nó dễ dàng hơn để sử dụng tất cả các tính năng của khung.
Sub-plugins
Đôi khi nó làm cho tinh thần để có plugin bên trong của plugin của bạn. Khung sử dụng phương pháp mr_helper_load :: plugin (...) để tải các lớp cắm cơ sở một hoặc nhiều. Để tận dụng chức năng này, phụ plugins của bạn phải được tổ chức một cách cụ thể:
• plugin / path / cơ sở / class.php
. O Trên đây là lớp học cắm cơ sở nơi con đường có thể được bất kỳ thư mục sâu
• plugin / đường dẫn / tên / class.php
o trên đây là plugin thực tế, nơi con đường phù hợp với đường dẫn cho các cơ sở và tên là tên của plugin.
Lưu ý rằng ở trên sử dụng con đường đó có nghĩa là bạn có thể có các plugin ở bất kỳ độ sâu thư mục từ đó có nghĩa là, sub-plugins của bạn có thể có sub-sub-plugins nếu muốn. Ví dụ về bố trí các plugin phổ biến:
tầng đơn
• plugin /
o cơ sở / class.php
o modxuser / class.php (mở rộng plugin / cơ sở / class.php)
o nhiên / class.php (mở rộng plugin / cơ sở / class.php)
đa tầng
• plugin /
o xuất khẩu /
cơ sở / class.php
xml / class.php (mở rộng plugin / xuất khẩu / cơ sở / class.php)
csv / class.php (mở rộng plugin / xuất khẩu / cơ sở / class.php)
o báo cáo /
cơ sở / class.php
dùng / class.php (mở rộng plugin / báo cáo / cơ sở / class.php)
lớp / class.php (mở rộng plugin / báo cáo / cơ sở / class.php)
Ưu điểm của tiểu-plugins
• dễ dàng chức năng lặp đi lặp lại. EG: lặp trên tất cả các plugin của bạn, từng có được để thực thi mã độc đáo của riêng mình.
• Cách thuận tiện để nhóm tập tin có liên quan. EG:. Các lớp cơ sở và lớp form
• Hỗ trợ giảm mã chạy tự động.
Để biết thêm thông tin về các plugin, đọc PHPDocs của khung về mr_helper_load.
Plugin Layout
Dưới đây là cách khuyến khích để thiết lập cấu trúc của một plugin mà muốn dùng Khung Moodlerooms. Xin lưu ý rằng đây không phải là tất cả hoặc không có gì, nhưng thay vì mỗi người có thể được thực hiện riêng rẽ và khi cần.
đang được dịch, vui lòng đợi..
