使用的是ThinkPhp框架,准备写一个用户实体类,用户有增删改查的功能,准备像下面这样搞,但不知道会不会有内存泄漏、实例化类多什么什么的问题。由于是PHP新手,问题描述可能不清楚,但还望各位指教,谢谢controller:class Index
{
    public $s;    public $id;    public function __construct()
    {
        $this->s = new User();
    }    public function showid($id)
    {
        $this->s->setId($id);
        $this->s->showid();
    }    public function dosomething($id)
    {
        $this->s->setId($id);
        $this->s->dosomething();
    }
}User实体类class User
{
    private $id;    public function setId($id)
    {
        $this->id =  $id;
    }    public function showid()
    {
        echo 'show '.$this->id;
    }    public function dosomething()
    {
        echo $this->id . ' Do Some Thing';
    }}假如分别有ID为1的用户访问到ID10000的用户通过如下链接访问
http://userclass.test/public/index.php/index/index/showid/id/1
个人觉得每次都要实例化一个用户,应该会造成很多的内存开销吧?

解决方案 »

  1.   

    http://php.net/manual/zh/features.gc.php
      

  2.   

    之所以由此疑问,是因为你不了解 web 服务器和 http 协议是如何工作的
    但是你的疑问也是不无道理的
    假定 http://userclass.test/public/index.php/index/index/showid/id/1 运行时需要占用 100M 内存
    而你只有 1G 内存可用
    那么,如果有11个用户同时访问此链接,第11个用户就会因为服务端资源耗尽,而得不到响应
      

  3.   


    能否推荐 web 服务器和 http 协议是如何工作的文章或者书籍?