View source
<?php
require '../Kint.class.php';
$selectedTheme = isset($_GET['theme']) ? $_GET['theme'] : 'original';
$allowedThemes = array();
$dh = opendir('../view/compiled');
while (($filename = readdir($dh)) !== false) {
if (strpos($filename, '.css') !== false) {
$allowedThemes[] = str_replace('.css', '', $filename);
}
}
sort($allowedThemes);
if (in_array($selectedTheme, $allowedThemes)) {
Kint::$theme = $selectedTheme;
}
class BaseUser {
public function getFullName() {
}
}
class User extends BaseUser {
const DEFAULT_PATH = 'some/default/path';
const ROLE_DISALLOWED = 1;
const ROLE_ALLOWED = 2;
const ROLE_FORBIDDEN = 3;
public $additionalData;
private $username = 'demo_username';
private $password = 'demo_password';
private $createdDate;
public function __construct() {
}
public function isEqualTo(BaseUser $user) {
}
public function setUsername($username) {
}
public function setAdditionalData(array $data) {
$this->additionalData = $data;
}
public function getCreatedDate() {
}
public function setCreatedDate(DateTime $date) {
$this->createdDate = $date;
}
public function ensure() {
Kint::trace();
}
}
class UserManager {
private $user;
public function getUser() {
return $this->user;
}
public function debugUser($user) {
$this->user = $user;
d($this
->getUser());
}
public function ensureUser() {
$this->user
->ensure();
}
}
$user = new User();
$user
->setAdditionalData(array(
'last_login' => new DateTime(),
'current_unix_timestamp' => time(),
'random_rgb_color_code' => '#FF9900',
'impressions' => 60,
'nickname' => 'Someuser',
));
$user
->setCreatedDate(new DateTime('2013-10-10'));
$userManager = new UserManager();
for ($i = 1; $i < 6; $i++) {
$tabularData[] = array(
'date' => "2013-01-0{$i}",
'allowed' => $i % 3 == 0,
'action' => "action {$i}",
'clicks' => rand(100, 50000),
'impressions' => rand(10000, 500000),
);
if ($i % 2 == 0) {
unset($tabularData[$i - 1]['clicks']);
}
}
$nestedArray = array();
for ($i = 1; $i < 6; $i++) {
$nestedArray["user group {$i}"] = array(
"user {$i}" => array(
'name' => "Name {$i}",
'surname' => "Surname {$i}",
),
'data' => array(
'conversions' => rand(100, 5000),
'spent' => array(
'currency' => 'EUR',
'amount' => rand(10000, 500000),
),
),
);
}
?>
<html>
<head>
<title>Kint PHP debugging tool - overview</title>
</head>
<body>
<div>
<label style="float: right">Switch theme:
<select onchange="window.location = '?theme=' + this.value">
<?php
$chosen = isset($_GET['theme']) ? $_GET['theme'] : 'original';
?>
<?php
foreach ($allowedThemes as $theme) {
?>
<option value="<?php
echo $theme;
?>"<?php
echo $theme === $chosen ? ' selected' : '';
?>>
<?php
echo ucfirst(str_replace('-', ' ', $theme));
?>
</option>
<?php
}
?>
</select>
</label>
<h2>Kint PHP debugging tool - overview</h2>
</div>
<h3>Debug variables</h3>
<?php
$userManager
->debugUser($user);
d($userManager, $tabularData);
d($nestedArray);
?>
<h3>Trace</h3>
<?php
$userManager
->ensureUser();
?>
</body>
</html>