使用的是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
个人觉得每次都要实例化一个用户,应该会造成很多的内存开销吧?
{
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
个人觉得每次都要实例化一个用户,应该会造成很多的内存开销吧?
但是你的疑问也是不无道理的
假定 http://userclass.test/public/index.php/index/index/showid/id/1 运行时需要占用 100M 内存
而你只有 1G 内存可用
那么,如果有11个用户同时访问此链接,第11个用户就会因为服务端资源耗尽,而得不到响应
能否推荐 web 服务器和 http 协议是如何工作的文章或者书籍?