я смотрю на учебники о CMS с объектно-ориентированного программирования - PHPPHP- вызова статической функции
мне нужно знать, как вызвать общественную статическую функцию из класса в одном файле или в том числе
по контролю страница:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
require_once('globals.php');
if(System::Get('db')->Execute("DELETE FROM `users` WHERE `id`= 2"))
{
echo "Done";
}
else
{
echo "No";
}
?>
system.php:
<?php
class System
{
//objects array
private static $objects = array();
//store object
public static function Store($index,$value)
{
self::$objects[$index] = $value;
}
//return object
public static function Get($index)
{
return self::$object[$index];
}
}
?>
globals.php
<?php
define('ROOT',dirname(__FILE__));
define('INC',ROOT.'/includes/');
define('CORE',INC.'/core/');
define('MODELS',INC.'/models/');
define('CONTROLLERS',INC.'/controllers/');
define('LIBS',INC.'/libs/');
/*
core files
*/
require_once(CORE.'config.php');
require_once(CORE.'mysql.class.php');
require_once(CORE.'raintpl.class.php');
require_once(CORE.'system.php');
System::Store('db',new mysql());
System::Store('tpl',new RainTPL()); //class RainTPL
?>
mysql.php
<?php
/*
*
*/
/**
* Description of mysqli
*
* @author syam
*/
class mysql {
private $connection;
private $last; //last query
public function __construct() {
$this->dbconnect();
$this->Execute('SET NAMES utf8');
}
public function dbconnect()
{
$this->connection = new mysqli(HOSTNAME,USERNAME,PASSWORD,DBNAME);
if($this->connection)
return TRUE;
return FALSE;
}
public function Execute($query)
{
//$query = $this->connection->real_escape_string($query);
if($result = $this->connection->query($query))
{
$this->last = $result;
return TRUE;
}
return FALSE;
}
}
мне нужно больше разъяснений
он называет функцию из класса системы таким образом
System::Get('db')->Execute("DELETE FROM `users` WHERE `id`= 2")
мне нужно разъяснение по этому пути
и необходимо знать, как вызвать статическую функцию в правильном направлении
Вы пробовали: '$ db = System :: Get ('db');'? Затем используйте его как: '$ db-> Execute (" DELETE FROM 'users' WHERE' id' = 2 ");' – Twisty
Я уже пробовал и нашел, что это просто, но мне нужно хорошо понять эту строку – smile