public function resolve()
{
// ....
$type = $message->getType();
// Если такого метода не существует, то можно бросить Исключение или еще как-то обработать ошибку
// А можно вообще ничего не проверять, а сделать обработку в __call(). Вариантов тоже много
if (!method_exists($this, $type)) {
throw new Exception(...);
}
// Вызвать подходящий метод
return $this->$type(); //либо call_user_func...()
}
protected function text()
{
//code
}
protected function poll()
{
//code
}
protected function image()
{
//code
}
$reader = new SimpleXMLElement($xml);
foreach ($reader->channel->item as $item) {
var_dump((string)$item->description->div[0]);
}
$array = [
'accessories' => [ /* ... Ваш массив ... */],
];
$tmp = [];
foreach ($array['accessories'] as $item) {
if (!isset($tmp[$item['vendor_code']])) {
$tmp[$item['vendor_code']] = $item;
continue;
}
$tmp[$item['vendor_code']]['accessory_group_id'] = implode(',',
array_unique(
explode(',', $tmp[$item['vendor_code']]['accessory_group_id'] . ',' . $item['accessory_group_id'])
)
);
}
$result_array['accessories'] = array_values($tmp);
var_dump($result_array);
//...
foreach ($this->data['persons'] as $person) {
echo $person['lastName'];
// ...
}
public function render(string $template)
{
ob_start();
// функция импорта
extract($this->data, EXTR_OVERWRITE);
include $template;
$content = ob_get_contents();
ob_end_clean();
return $content;
}
public function render(string $template)
{
ob_start();
// Импорт
foreach($this->data as $key => $value) {
// Переменные переменных $$
$$key = $value;
}
include $template;
$content = ob_get_contents();
ob_end_clean();
return $content;
}
function limit($value, $limit = 100, $end = '...')
{
if (mb_strwidth($value, 'UTF-8') <= $limit) {
return $value;
}
return rtrim(mb_strimwidth($value, 0, $limit, '', 'UTF-8')) . $end;
}
// ...
list($controller, $action) = explode('#', $match['target']);
$controller = "routetest\\Controllers\\$controller";
$obj = new $controller();
comment_id in (...)
function getPeriod($year, $month)
{
$date = (new DateTimeImmutable())->setDate($year, $month, 1);
$interval = new DateInterval('P1D');
return new DatePeriod($date, $interval, $date->modify('+1 month'));
}
$period = getPeriod(2017, 6);
foreach ($period as $date) {
// формат можете указать любой
echo $date->format('d:m:Y') . '<br>';
}
$key = isset($_GET['key']) ? (int)$_GET['key'] : null;
$iin = isset($_GET['iin']) ? (int)$_GET['iin'] : null;
if(!empty($key) && !empty($iin)) {
TrekInfo($key, $iin); // Отправляем данные в API
} else {
echo 'Упс! Что-то не так с параметрами запроса!';
}
$date_start = new DateTimeImmutable('13 week first monday of Jan this year - 1 week');
$date_end = $date_start->modify('+6 days');
echo $date_start->format('d.m') .' - '. $date_end->format('d.m');
// 26.03 - 01.04
- получил такое: "Первый символ файла: �"