我需要创建一个包,供其他开发人员使用。 如何实现静态方法最佳?对于静态(类)方法,我必须期望第一个参数为 $class,并且该方法必须被调用为类方法。
My::Package->Sub1();
另一方面,我可以编写一个“常规”包子例程(不需要$class参数),完全可以完成相同的任务,但需要以不同的方式调用。
My::Package::Sub1();
所以,从业务功能角度来看(至少我没有看到不同之处,除了通过第一个参数可用性的包名称),但是有两种不同的实现和调用方式。有点混乱。 我应该在什么情况下使用哪种方法?是否有一些规则? 此外,我应该检查方法是否按照我预期的方式调用(静态 vs 包)?