Статьи

Взгляд со стороны клиента на ваше PHP-приложение


Несколько месяцев назад мир .NET был удивлен великолепным инструментом под названием «
Glimpse ». Сегодня я рад выпустить
первый проект версии PHP для Glimpse ! Теперь, что это за штука с Glimpse… Что ж, «что Firebug для клиента, Glimpse делает для сервера … другими словами, клиентская сторона дает представление о том, что происходит на вашем сервере».

Для быстрой демонстрации того, что это значит, посмотрите видео на http://getglimpse.com/ . Да, это видео на основе .NET, но идея Glimpse для PHP та же. И если вам нужен PHP-скрипт, проверьте http://screenr.com/27ds (предупреждение: неотредактировано :-))

Принципиально Glimpse состоит из 3-х разных частей, каждая из которых является расширяемой и настраиваемой для любой платформы:

  • Модуль сервера Glimpse
  • Glimpse Client Sideer Viewer
  • Мимолетный протокол

Это означает, что серверная технология, обеспечивающая поддержку протокола Glimpse, может предоставить Glimpse Client Side Viewer информацию. И это то, что я сделал.

Что я могу сделать с Glimpse?

Много вещей. Основное использование Glimpse — включение и проверка ваших запросов вручную. Вот небольшой взгляд на предоставленную информацию:

Взгляд phpinfo ()

По умолчанию Glimpse предлагает вам взглянуть на текущие запросы Ajax, вашу конфигурацию PHP, информацию о среде, переменные запроса, серверные переменные, переменные сеанса и средство просмотра трассировки. И еще есть удаленная вкладка, функция убийцы Glimpse.

При настройке Glimpse через www.yoursite.com/?glimpseFile=Config вы можете указать имя сеанса Glimpse. Если вы делаете это на отдельном устройстве, например в браузере клиента или на мобильном устройстве, с которым вы работаете, вы можете различить удаленные сеансы на вкладке « Удаленный ». Это позволяет отлаживать запросы, которые делаются в реальном времени на других устройствах! Полное описание закончено на http://getglimpse.com/Help/Plugin/Remote .

PHP отладочный мобильный браузер

Добавление Glimpse к вашему проекту PHP

Установка Glimpse в приложении PHP очень проста. Glimpse поддерживается начиная с PHP 5.2 или выше.

  • Для PHP 5.2 скопируйте исходную папку хранилища на свой сервер и добавьте <? Php include ‘/path/to/glimpse/index.php’; ?> как можно раньше в вашем PHP-скрипте.
  • Для PHP 5.3 скопируйте файл glimpse.phar из папки сборки репозитория  на свой сервер и добавьте <? Php include ‘phar: //path/to/glimpse.phar’; ?> как можно раньше в вашем PHP-скрипте.

Вот пример страницы Hello World, показанной выше:

<?php
require_once 'phar://../build/Glimpse.phar';
?>
<html>
<head>
<title>Hello world!</title>
</head>

<?php Glimpse_Trace::info('Rendering body...'); ?>
<body>
<h1>Hello world!</h1>
<p>This is just a test.</p>
</body>
<?php Glimpse_Trace::info('Rendered body.'); ?>
</html>

 

Включение Glimpse

С момента установки Glimpse в ваше веб-приложение перейдите к веб-приложению и добавьте строку запроса ? GlimpseFile = Config, чтобы включить / отключить Glimpse. При желании также можно указать имя клиента для различения удаленных запросов.

Настройка Glimpse для PHP

После включения Glimpse в правом нижнем углу браузера появится небольшой значок «глаз». Нажми и увидь волшебство!

Теперь, конечно: любой может включить Glimpse. Если вы этого не хотите, убедитесь, что у вас есть некоторый условный механизм для <? Php require_once ‘phar: //../build/Glimpse.phar’; ?> Заявление.

Создание первого плагина Glimpse

Недостаточно информации на вашем экране? Работаете с Zend Framework и хотите посмотреть значения маршрутов? Хотите работать с WordPress и просматривать некоторые скрытые сведения о записи через Glimpse? Небо это предел.
Все, что нужно сделать, — это создать плагин Glimpse и зарегистрировать его. Реализация Glimpse_Plugin_Interface достаточно:

 <?php
class MyGlimpsePlugin
implements Glimpse_Plugin_Interface
{
public function getData(Glimpse $glimpse) {
$data = array(
array('Included file path')
);

foreach (get_included_files() as $includedFile) {
$data[] = array($includedFile);
}

return array(
"MyGlimpsePlugin" => count($data) > 0 ? $data : null
);
}

public function getHelpUrl() {
return null; // or the URL to a help page
}
}
?>

Чтобы зарегистрировать плагин, добавьте вызов в $ glimpse-> registerPlugin () :

<?php
$glimpse->registerPlugin(new MyGlimpsePlugin());
?>

 

А Боб твой дядя

Создание плагина Glimpse в PHP

Что теперь?

Ну, решать тебе. Прежде всего: все отзывы будут приветствоваться. Во-вторых, это на Github ( https://github.com/Glimpse/Glimpse.PHP ). Не стесняйтесь раскошелиться! Не стесняйтесь добавлять плагины, основные функции, что угодно! Есть много проектов CakePHP? Почему бы не добавить плагин, который обеспечивает Glimpse при диагностике CakePHP?

‘До следующего раза!