0

为了提高我的代码的敏捷性和加载时间,我想到了这样做,这样只有在类被实例化时才需要这些函数。

class User
{
    public function __construct()
    {
       require('all_user_fns.php');
    }
}

里面all_user_fns.php将驻留所有用户类的功能。

这可行吗(也许以另一种方式)?它在速度方面有什么优势吗?

4

4 回答 4

3

老实说,这会更慢(毕竟你必须做一个额外的包含)虽然没有意义。因此,如果速度真的是个问题,请查看其中一个操作码缓存,例如Alternative PHP Cache (APC)

更令人担忧的是,这将使维护代码变得痛苦,并且在尝试使用可见性关键字(例如私有/受保护/公共)时很可能会导致问题,具体取决于您使用的 IDE。

于 2010-01-25T21:36:19.803 回答
1

如果这些函数的存在只是为了修改用户对象并与之交互,那么它们应该是该类的成员函数。这就是对象的意义,用于封装和组织相关功能。

于 2010-01-25T21:35:49.627 回答
0

我的猜测:不会对速度产生任何明显影响。此外,它使您的代码更难理解和维护。我会避开并寻找其他方法来加快速度。

于 2010-01-25T21:37:37.140 回答
0

我建议将用户函数作为方法移动到 User 类本身 - 它更有意义并且更易于维护。如果您认为维护不是问题,请在 6 个月后告诉我​​,并告诉我这对您有何帮助 :)

于 2010-01-25T21:49:45.777 回答