Skip to content

class:Registry

TsSaltan edited this page Mar 18, 2017 · 5 revisions

Registry

Класс для работы с реестром Windows


  • Методы

    • ->__construct()
    • ->readFully() - Полное чтение содержимого раздела (ключ, значения, подразделы)
    • ->read() - Чтение ключа
    • ->add() - Добавить новый параметр в реестр
    • ->create() - Создать раздел реестра
    • ->delete() - Удалить раздел реестра
    • ->clear() - Удалить содержимое раздела
    • ->deleteKey() - Удалить ключ из реестра
    • ->search() - Поиск по ключам и разделам
    • ->searchValue() - Поиск по значениям
  • Статичные методы

    • Registry :: of() - Alias __construct
    • Registry :: HKCR() - HKEY_CLASSES_ROOT
    • Registry :: HKCU() - HKEY_CURRENT_USER
    • Registry :: HKLM() - HKEY_LOCAL_MACHINE
    • Registry :: HKU() - HKEY_USERS
    • Registry :: HKCC() - HKEY_CURRENT_CONFIG
  • Свойства

    • ->path - Путь к разделу реестра

Свойства

path

Данное свойство доступно только для чтения!

Путь к разделу реестра

Тип: string


Методы

__construct()

$class = new Registry(string $path) 

Список параметров:

  • string $path - Путь в реестре

readFully()

$class->readFully(bool $recursive = false) : array 

Полное чтение содержимого раздела (ключ, значения, подразделы)

Список параметров:

  • bool $recursive = false - рекурсивное чтение из подразделов

Возвращаемые значения: array - массив экземпляров класса registryResult


read()

$class->read(string $key) : \registryItem 

Чтение ключа

Список параметров:

  • string $key - имя ключа

Возвращаемые значения: registryItem

Пример использования

$version = Registry::of('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer')->read('Version')->value;
var_dump('IE Version: ' . $version);

add()

$class->add(string $key, string $value, string $type) 

Добавить новый параметр в реестр

Список параметров:

  • string $key - Имя параметра
  • string $value - Значение
  • string $type - Тип переменной (REG_SZ|REG_DWORD|REG_BINARY)

Пример использования

$reg = new Registry('HKEY_CURRENT_USER\SOFTWARE\test_from_dn');
$reg->add('my_key', 'my_value'); // добавление записей
$reg->add('my_key_2', 'my_value'); 

create()

$class->create() 

Создать раздел реестра

Пример использования

$reg = new Registry('HKEY_CURRENT_USER\SOFTWARE\test_from_dn');
$reg->create(); // создание ветви

delete()

$class->delete() 

Удалить раздел реестра


clear()

$class->clear() 

Удалить содержимое раздела


deleteKey()

$class->deleteKey(string $key) 

Удалить ключ из реестра

Список параметров:

  • string $key

search()

$class->search(string $search, bool $recursive = false, bool $fullEqual = false) : array 

Поиск по ключам и разделам

Список параметров:

  • string $search
  • bool $recursive = false - Искать в подразделах
  • bool $fullEqual = false - Только полное совпадение

Возвращаемые значения: array - массив экземпляров класса registryResult

Пример использования

foreach(Registry::of('HKEY_USERS')->search('S-1-5-21-*') as $item){ 
    var_dump($item->path); 
}

searchValue()

$class->searchValue(string $search, bool $recursive = false, bool $fullEqual = false) : array 

Поиск по значениям

Список параметров:

  • string $search
  • bool $recursive = false - Искать в подразделах
  • bool $fullEqual = false - Только полное совпадение

Возвращаемые значения: array - массив экземпляров класса registryResult

Пример использования

$reg = new Registry('HKEY_CURRENT_USER\SOFTWARE\test_from_dn');
$reg->create(); // создание ветви
$reg->add('my_key', 'my_value'); // добавление записей
$reg->add('my_key_2', 'my_value'); 
$reg->add('my_new_key', 'my_new_value'); 
 
// Поиск по значениям
$search = $reg->searchValue('my_val*');
foreach($search as $items){
	echo '[' . $items->path . "]\n";
	foreach ($items as $item){
		echo $item->key . ' = ' . $item->value . "\n";
	}
}

Статичные методы

of()

Registry::of() : \Registry 

Alias __construct

Возвращаемые значения: Registry


HKCR()

Registry::HKCR() : \Registry 

HKEY_CLASSES_ROOT

Возвращаемые значения: Registry


HKCU()

Registry::HKCU() : \Registry 

HKEY_CURRENT_USER

Возвращаемые значения: Registry


HKLM()

Registry::HKLM() : \Registry 

HKEY_LOCAL_MACHINE

Возвращаемые значения: Registry


HKU()

Registry::HKU() : \Registry 

HKEY_USERS

Возвращаемые значения: Registry


HKCC()

Registry::HKCC() : \Registry 

HKEY_CURRENT_CONFIG

Возвращаемые значения: Registry