0.1
Описание
Основная задача хранение переданных данных а так же возможность получить ранее записанные данные в совершенно разных класса не связанных ни как друг с другом
Исходники
- php Код:
/**
* @author ArtMares (Dmitriy Dergachev)
* @date 01.03.2016
*/
if(!function_exists('loadStorage')) {
function &loadStorage() {
static $storage;
if(is_null($storage)) $storage = new Storage();
return $storage;
}
}
class Storage {
private $data = array();
public function __set($name, $value) {
$this->data[$name] = $value;
}
public function __get($name) {
if($this->__isset($name)) {
return $this->data[$name];
}
return null;
}
public function __isset($name) {
return isset($this->data[$name]);
}
public function __unset($name) {
unset($this->data[$name]);
}
}
Как использовать
- php Код:
/** Подключение аддона в проект начиная с версии 0.5.1 */
require_once('qrc://AddonName/Storage.php');
class MainWindow extends QMainWindow {
private $storage;
public function __construct() {
parent::__construct();
// Загрузка класса Хранилище
$this->storage = loadStorage();
$data = array(1, 3, 6, 4);
// Передаем данные в Хранилище
$this->storage->data = $data;
// Получаем данные из Хранилища
// Если данных с таким именем нет в Хранилище то получим null
$data = $this->storage->data;
// Передаем класс в Хранилище для того чтобы в другом классе
// вызвать его публичный метод
$this->storage->maniWindow = $this;
}
public function sortData() {
// Получаем данные из Хранилища
$data = $this->storage->data;
// Производим сортировку данных и записываем обратно в Хранилище
$this->storage->data = asort($data);
}
}
class Page extends QWidget {
private $storage;
public function __construct() {
parent::__construct();
$this->storage = loadStorage();
// Получаем данные ранее переданные в Хранилище
$data = $this->storage->data;
print_r($data);
// Array(
// [0] => 1
// [1] => 3
// [2] => 6
// [3] => 4
// )
// Вызываем метод другого класса
$this->storage->mainWindow->sortData();
$data = $this->storage->data;
print_r($data);
// Array(
// [0] => 1
// [1] => 3
// [2] => 4
// [3] => 6
// )
}
}
Установка
Storage_0.1.7z
Архив необходимо скачать и распаковать в директорию addons установленной программы PQBuilder
Пример пути куда необходимо распаковывать архив:
C:\Program FIles (x86)\PQBuilder\addons