私のアプリケーションへのエントリポイントとして機能するページ(インデックス)があります。このページでは、関数sayHi()を呼び出し、値に基づいて何かを表示します(通常、関数はDBクエリを行い、表示情報)。私は使用する最良の方法を知りたい。
最初の方法:ユーザーがリクエスト(またはページリフレッシュ)を行うたびに新しいオブジェクトが常に作成されます。ページのパフォーマンス(またはメモリ)に問題がありますか?
2番目の方法:インデックスページを正確に(異なる値で)照会する2人のユーザーがいるとします。競合状態はどうなりますか?
インデックスページオブジェクトをインスタンス化する適切な方法
<?php
require_once('firstTest.php');
$value = $_GET['params'];
// 1st method
$first = new FirstTest();
$first->sayHi($value);
// 2nd method
$second = FirstTest::getInstance();
$second->sayHi($value);
firstTestクラス:PHP
前夜に
class FirstTest extends Singleton
{
public function sayHi($value)
{
echo 'value is : ' .$value;
}
}
firstTest(第2方法)
class FirstTest
{
public function sayHi($value)
{
echo 'value is : ' . $value;
}
}
シングルトンクラス
abstract class Singleton
{
protected static $instance;
protected final function __construct(){}
protected final function __clone(){}
public final function __sleep(){
throw new Exception('cannot serialize');
}
public static function getInstance(){
if (self::$instance === NULL)
self::$instance = new self();
return self::$instance;
}
}
ありがとうございます、私は最初の方法 – Michel