0.1
Описание
Основная задача хранение переданных данных а так же возможность получить ранее записанные данные в совершенно разных класса не связанных ни как друг с другом
Исходники
- Code:
/** * @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]); } }
Как использовать
- Code:
/** Подключение аддона в проект начиная с версии 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