Этот пример демонстрирует процесс включения inclued в существующее приложение и отображение его результатов.
Пример #1 Получение данных самостоятельно, приложением PHP (функция)
<?php
// Файл для сохранения полученных данных
$fp = fopen('/tmp/wp.ser', 'w');
if ($fp) {
$clue = inclued_get_data();
if ($clue) {
fwrite($fp, serialize($clue));
}
fclose($fp);
}
?>
Теперь, когда некоторое количество данных собрано, время построить граф. Данное расширение содержит PHP-скрипт gengraph.php, который создает dot-файл, требующий библиотеки » graphviz.
Пример #2 Пример использования gengraph.php
В данном примере создается файл изображения inclued.png содержащий графическое представление полученных данных.
# Создадим dot-файл $ php gengraph.php -i /tmp/wp.ser -o wp.dot # Теперь создадим изображение $ dot -Tpng -o inclued.png wp.dot
Пример #3 Просмотр данных с помощью дампов inclued (конфигурация)
Если используется директива inclued.dumpdir, файлы дампов будут создаваться при каждом запросе. Один из путей просмотра этих файлов - это использовать unserialize().
<?php
$path = ini_get('inclued.dumpdir');
if ($path && is_dir($path)) {
echo "Path: $path", PHP_EOL;
$inclues = new GlobIterator($path . DIRECTORY_SEPARATOR . 'inclued*');
if ($inclues->count() === 0) {
echo 'No clues today', PHP_EOL;
exit;
}
foreach ($inclues as $inclue) {
echo 'Inclued file: ', $inclue->getFilename(), PHP_EOL;
$data = file_get_contents($inclue->getPathname());
if ($data) {
$inc = unserialize($data);
echo ' -- filename: ', $inc['request']['SCRIPT_FILENAME'], PHP_EOL;
echo ' -- number of includes: ', count($inc['includes']), PHP_EOL;
}
echo PHP_EOL;
}
} else {
echo 'I am totally clueless today.', PHP_EOL;
}
?>
Результатом выполнения данного примера будет что-то подобное:
PATH: /tmp/inclued Inclued file: inclued.56521.1 -- filename: /Users/philip/test.php -- number of includes: 1 Inclued file: inclued.56563.1 -- filename: /tmp/none.php -- number of includes: 0 Inclued file: inclued.56636.1 -- filename: /tmp/three.php -- number of includes: 3