PHP类中的函数和内存使用情况

时间:2014-01-21 08:09:28

标签: php function class memory

您是否认为将与对象相关的所有函数放在其类中是一种好习惯,如下例所示:

class User
{
    var $id;
    var $username;

    public function __construct()
    { 
    $this->loadPosts();
    $this->loadSettings();
    }

    public function loadPosts()
    {
    .... code here ...
    }

    public function loadSettings()
    {
    .... code here ...
    }
}

这只是一个例子,真正的类会有更多的属性和功能。

我正在考虑将这些函数放在一个单独的php文件中,以便在我们加载大量用户对象时节省内存。虽然使用类中的函数来阅读代码要容易得多。

您怎么看?

3 个答案:

答案 0 :(得分:0)

如果你必须调用内部方法loadPosts()loadSettings(),那么将它们保持为类方法似乎是一个好主意。

要节省内存,只需不要在__construct()上调用方法。 只有在实际需要查看输出时调用它们才会有更高的内存效率。

希望这有帮助!

答案 1 :(得分:0)

这样的事情没有单一的答案。需要考虑的几件事情:

  1. 可维护性。维护这段代码有多容易?如果你有代码分散,可能更难维护,特别是如果它是一个大型应用程序。如果它是一个较小的应用程序,它可能不是那么大的交易。

  2. 尺寸。这是一个大型应用程序还是小应用程序?如果它很小,就不需要过于复杂的事情了。如果它很大,那么拥有'function'文件和其他帮助类可能更有意义。但是如果你只有几个文件,你可能不需要它。

  3. 时间。如果移动它们,使用这些功能会更难吗?它会使事情变得复杂吗?

  4. 资源。您使用了多少资源?你节省多少加载时间?这是一个小的,会在路上变大吗?如果是这样,担心这样的事情可能是有道理的。如果它是一个不会增长的简单照片应用程序,那么资源就不是那么重要了,节省资源的时间也会浪费掉。

  5. 最终,没有正确的答案,但希望这会给你一些思考的东西。

答案 2 :(得分:0)

可能。如果您有一个处理某些对象类型或方法的中央控制器。

也就是说,将它们封装起来可能是值得的。好处可能高于可能忽略不计的性能改进(这将是推测性的,除非你可以重构和比较)。

大好处:

  • 将代码交给其他人时的可读性

  • 以后重新访问代码时的可读性

  • IDE代码完成

我个人认为那段时间最好花在做其他事情上,当然,除非你测试并发现将一种方法转移到一个单身或其他东西是相当优越的。

所以这取决于,但可能不是