Tôi có một số Moose::Role
mà tôi muốn gọi một số phụ phụ trên lớp khi vai trò đó được áp dụng cho lớp học.Moose :: Vai trò - cách dễ dàng để tăng cường áp dụng vai trò?
Có cách nào dễ dàng để sửa đổi những gì xảy ra khi vai trò được áp dụng, mà không phải đào quá nhiều vào mã hóa loại Moose::Meta::Role
? Lý tưởng nhất, tôi chỉ muốn after 'apply' => ...
để thêm nội dung bổ sung.
Edit:
Tôi đặc biệt sử dụng này với một định nghĩa DBIx::Class::Core
kết quả để tạo ra một cái gì đó giống như một thành phần đó cũng làm thay đổi các nhà xây dựng. Tôi sẽ chỉ viết nó như một thành phần nếu tôi có thể nhận được tại BUILDARGS
và BUILD
subs cho kết quả, nhưng tôi dường như không thể làm được. Vì vậy, thay vì làm load_component
, tôi đang thực hiện with 'role'
, nhưng một số tác động của thành phần này là thêm mối quan hệ belongs_to
vào lớp học. Do đó, tôi đã suy nghĩ cách tốt nhất để làm điều đó là trong khi áp dụng vai trò cho lớp.
Bạn có thể làm rõ hơn một chút bạn muốn làm gì? Những gì bạn sẽ đưa vào giả định của bạn 'sau khi' apply'' phụ? Việc sửa đổi như vậy với MOP thường không được thực hiện, vì vậy gần như chắc chắn là một cách dễ dàng hơn để hoàn thành những gì bạn muốn làm. – Ether
@Ether: chắc chắn, chỉnh sửa trong một chút giải thích thêm. – Carl
Bạn đã thử 'sau BUILD => sub {...}' trong vai trò của mình chưa? – Ether