trait ErrorTrait
{
public function someMethod($someArg) {
echo __TRAIT__ . ": " . $someArg . "\n";
}
}
trait OtherFirstTrait
{
abstract public function someMethod($someArg);
public function someMethod1($someArg) {
echo __TRAIT__ . ": " . $someArg . "\n";
$this->someMethod($someArg);
}
}
trait OtherSecondTrait
{
abstract public function someMethod($someArg);
public function someMethod2($someArg) {
echo __TRAIT__ . ": " . $someArg . "\n";
$this->someMethod($someArg);
}
}
abstract class MainClass
{
use ErrorTrait;
}
class ChildCLass extends MainClass
{
use OtherFirstTrait, OtherSecondTrait;
}
$o = new ChildCLass();
$o->someMethod("test ErrorTrait");
print("\n");
$o->someMethod1("test OtherFirstTrait");
print("\n");
$o->someMethod2("test OtherSecondTrait");
ErrorTrait: test ErrorTrait
OtherFirstTrait: test OtherFirstTrait
ErrorTrait: test OtherFirstTrait
OtherSecondTrait: test OtherSecondTrait
ErrorTrait: test OtherSecondTrait
$ip = $_SERVER['REMOTE_ADDR'];
$ipInfo = json_decode(file_get_contents("http://ip-api.com/json/{$ip}?fields=status,message,country,countryCode"), true);
if(isset($ipInfo['country']) && $ipInfo['country'] != 'Kazakhstan') {
//print('BLOCKED COUNTRY');
http_response_code(403);
die('Forbidden');
}
$items = [
'My Tasks' => [ // уникальный ключ для каждого элемента
'text' => '130 / 500', // текст, который показывается для элемента в span
'color' => 'bg-fusion-400', // цвет
'progress_wrapper_class' => 'mb-3', // класс для progress (уникальный у User Testing) или использовать if, как в примере ниже
'progress_value' => 65, // значение progress bar
],
'Transfered' => [
'text' => '440 TB',
'color' => 'bg-success-500',
'progress_wrapper_class' => 'mb-3',
'progress_value' => 34,
],
// остальные элементы
];
<?php foreach ($items as $key => $item) : ?>
<div class="d-flex <?php if ($key == 'My Tasks'): ?>mt-2<?php endif; ?>">
<?= $key ?>
<span class="d-inline-block ml-auto"><?= $item['text'] ?></span>
</div>
<div class="progress progress-sm mb-3">
<div class="progress-bar <?= $item['color'] ?>" role="progressbar" style="width: <?= $item['progress_value'] ?>%;" aria-valuenow="<?= $item['progress_value'] ?>" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<?php endforeach; ?>
define('INDEX_LOADED', true);
if(!defined("INDEX_LOADED")) {
die('Inсlude only');
}
Может есть какой-то сервис/рейтинг популярных слов (прилагательных, существительных) для нейминга, чтобы пополнить словарный запас?