Ben hala düzgün (Ben bir yerli konuşmacı değilim ...) ifade için bir yol arıyorum.
[(0)] Yani (bilinen nedenlerle) singleton deseni uygulayan SQL bu sınıf var ve ben de {birini kullanarak veritabanını sorgular bu işlevi, checkUsr(), var } 's yöntemleri.
Herşey sürece ben checkUsr() SQL sınıf içinde deme gibi çalışıyor. Ben bunu yaparken, komut sadece çıkar ve boş bir sayfa görüntülenir - hiçbir hata hiçbir istisnası atılır, döndürülen ... Ne oluyor? Ve nasıl bu soruna mı?
EDIT:
Burada bazı kod:
class SQL
{
public static function singleton()
{
static $instance;
if(!isset($instance))
$instance = new SQL;
return $instance;
}
public function someOtherFun()
{
checkUsr();
}
public function tryLoginAuthor( $login, $sha1 )
{
// SQL query
}
}
function checkUsr()
{
if (!isset($_SESSION['login']) || !isset($_SESSION['sha1']))
throw new Exception('Not logged in', 1);
$SQL = SQL::singleton();
$res = $SQL->tryLoginAuthor($_SESSION['login'], $_SESSION['sha1']);
if (!isset($res[0]))
throw new Exception('Not logged in', 1);
}
Ben SQL sınıf içinde checkUsr çağırdığınızda Yani sorun oluşur. Başka bir sınıftan çağrıldığında Ancak, olmaz ...