W obu Python i Java mamy import
, aby wyeliminować powtarzanie w pełni kwalifikowanych nazw pakietów/modułów w całym kodzie. Czy istnieje odpowiednik w Perl/Moose? Myślę, że to naprawdę sprawiłoby, że Moose byłby milszy w użyciu, gdybyśmy nie musieli powtarzać MyApp::Model::Item
. Zamiast tego chciałbym [somehow declare] MyApp::Model::Item;
i później, po prostu odwołać się do Item
. Mogę myśleć o tych wszystkich przypadkach, w których użytkowych są używane nazwy klas ...Skrócona nazwa w odniesieniu do nazw paczek Perla/Łosia?
extends 'Item';
with 'ItemRole';
Item->new(name => 'thing');
method foo(Item $xyz) { ... }
zMooseX::Method::Signatures
$var->isa('Item');
try { ... } catch (DatabaseError $e) { ... }
, zTryCatch
$Item::SOME_PACKAGE_GLOBAL_VARIABLE
Jeśli jeszcze nie ma czegoś takiego, jakikolwiek pomysł na to, jak mogę zacząć to wdrażać? Widzę, że trudno byłoby poradzić sobie z przypadkami, w których nazwa klasy jest używana jako ciąg znaków.
Fantastyczne! Dzięki za szybką odpowiedź! – PBJ
i tak, rzadko potrzebuję dostępu do pakietu globalnego, więc mogę żyć z wypisywaniem nazwy w tych przypadkach. – PBJ