我对 Python 有点陌生,我想知道是否有一种方法可以在 PHP 中创建类似魔法方法的东西(http://www.php.net/manual/en/language.oop5.overloading.php#language。 oop5.overloading.methods )
我的目标是简化模型中子类的访问。我基本上有一个有 n 个子类的父类。这些类具有三个值,语言键、翻译键和翻译值。描述了一种通用的翻译处理。父类可以有不同翻译键的翻译,每个翻译键都用不同的语言。例如,键“title”可以翻译成德语和英语,键“description”也可以(等等)
我不想获取子类并通过设置值进行过滤(至少我想要但不是明确地,魔术方法背后的具体实现会这样做)。我想打电话
parent_class.title['de']
# or also possible maybe
parent_class.title('de')
用于获得德语(de)标题的翻译。
所以必须有一个神奇的方法,它采用被调用方法的名称及其参数(如在 PHP 中)。就我对 Python 的研究而言,这只能通过简单的属性(__getattr__,__setattr__)或直接在类(__getitem__,__setitem__)中设置/获取,这两者都不符合我的需求。
也许有一个解决方案?请帮忙!提前致谢!