ohkannaduh / osquery-php
此软件包最新版本(1.0.0)没有可用的许可证信息。
1.0.0
2019-10-03 17:54 UTC
Requires
- haydenpierce/class-finder: ^0.4.0
- nilportugues/sql-query-builder: ^1.7
- php-di/php-di: ^6.0
- ramsey/collection: ^1.0
Requires (Dev)
- mockery/mockery: ^1.2
- phpstan/phpstan: ^0.11.16
- phpstan/phpstan-mockery: ^0.11.3
- phpunit/phpunit: ^8.3
This package is auto-updated.
Last update: 2024-09-29 05:22:08 UTC
README
这个库作为osquery和php之间的桥梁。
安装
可以通过composer安装此库。
composer require ohkannaduh/osquery-php
入门
开始使用此库的最简单方法是使用容器\OhKannaDuh\OsQuery\Container
。
容器
use OhKannaDuh\OsQuery\Container; ... $container = Container::create();
容器上的静态create
方法会自动注册OhKannaDuh\OsQuery\Factories
命名空间中的所有工厂,如果你需要特定的东西,你可以使用new
关键字实例化类以获得未注册工厂的实例。
$container = new Container();
注册工厂
一旦你有了你的容器,你可以使用register
方法注册额外的容器。此方法接受一个OhKannaDuh\OsQuery\FactoryInterface
的实例。
/** @var FactoryInterface $factory */ $container->register($factory);
这将映射工厂模型到容器内的工厂。
获取工厂
你可以使用getFactory
方法检索注册的工厂,它接受一个模型的字符串。
use OhKannaDuh\OsQuery\Models\User; ... $users = $container->getFactory(User::class);
工厂
工厂是这个库的主要部分之一,它们用于与OsQuery交互并获取我们需要的模型。
工厂API
all
all
方法获取给定模型的全部实例。
/** @var \OhKannaDuh\OsQuery\Factories\UserFactory $users */ foreach ($users->all() as $user) { echo $user->getUsername() . PHP_EOL; }
你也可以使用all
方法上的可选$columns
参数限制我们收集的数据。
/** @var \OhKannaDuh\OsQuery\Factories\UserFactory $users */ foreach ($users->all(["username", "uid"]) as $user) { $user->hasAttribute("username"); // true $user->hasAttribute("uid"); // true $user->hasAttribute("gid"); // false }
where
where
方法允许我们为OsQuery指定参数。
/** @var \OhKannaDuh\OsQuery\Factories\UserFactory $users */ $result = $users->where([ "username" => "root", // All users with the username root ]); foreach ($results as $user) { echo $user->getUsername() . PHP_EOL; }
/** @var \OhKannaDuh\OsQuery\Factories\UserFactory $users */ $result = $users->where([ "gid" => "985", // All users in group 985 ]); foreach ($results as $user) { echo $user->getUsername() . PHP_EOL; }