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

Этот пример демонстрирует процесс включения inclued в существующее приложение и отображение его результатов.

Пример #1 Получение данных в самом приложении PHP (функция)

<?php
// Файл для сохранения полученных данных
$fp fopen('/tmp/wp.ser''w');
if (
$fp) {
    
$clue inclued_get_data();
    if (
$clue) {
        
fwrite($fpserialize($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