class Calc {
private $number = 0;
public function __construct($n){
$this->number = $n;
}
public function plus($n){
$this->number += $n;
return $this;
}
public function minus($n){
$this->number -= $n;
return $this;
}
public function result(){
return $this->number;
}
}
echo (new Calc(100))->plus(50)->minus(75)->result(); // 75
$webp = glob('*.webp');
$jpg = glob('*.jpg');
$gif = glob('*.gif');
// …тут отрезаем у всех расширения, или далее используем array_udiff со своим коллбеком сравнения
$result = array_diff($webp, $jpg, $gif);
foreach $result as $file {
unlink($file.'.webp')
}
// Читаем все файлы
$files = glob(__DIR__ . '/images/*.*');
// Фильтруем WEBP файлы в массив
$webp = array_filter($files, function ($f) {
return pathinfo($f, PATHINFO_EXTENSION) == 'webp';
});
// Фильтруем остальные картинки в другой массив
$other = array_filter($files, function ($f) {
$extensions = ['jpg', 'gif', 'png']; // Перечисляем, какие там еще файлы есть
return in_array(pathinfo($f, PATHINFO_EXTENSION), $extensions);
});
// В обоих массивах оставляем только имена файлов
$webp2 = array_map(function ($f) { return pathinfo($f, PATHINFO_FILENAME); }, $webp);
$other2 = array_map(function ($f) { return pathinfo($f, PATHINFO_FILENAME); }, $other);
// Вычисляем различия в массивах
$result = array_diff($webp2, $other2);
// Смотрим результат
foreach ($result as $file) {
var_dump($file.'.webp');
}
class BaseController {
protected $config;
public function __contruct(Config $config){
$this->config = $config;
}
}
class MyController extends BaseController {
public function myMethod() {
$var = $this->config->get('someSetting');
}
}
config()->get('someSetting');
config()
, доступную везде. Я думаю использовать ajax запросы на сервер и получать уже готовую вёрстку в результате рендерить с помощью JS.
<?php
$users = [
[
"userUuid" => "032b83b4-3ad8-33fd-abd3-bfafc5eb23ba",
"name" => "Илья",
],
[
"userUuid" => "59281d2d-d81e-3556-956b-f354fd5e24a9",
"name" => "Олег",
],
];
$resources = [
['user_id' => '59281d2d-d81e-3556-956b-f354fd5e24a9', 'processed' => 145, 'assigned' => 167],
['user_id' => 'e9f60f90-3096-3848-b3e6-094e81f9b022', 'processed' => 15, 'assigned' => 177],
];
$result = array_map(function($user) use ($resources) {
$second = array_filter($resources, function($resource) use ($user) {
return $resource['user_id'] === $user['userUuid'];
});
return array_merge(
$user,
count($second) ? $second[0]: []
);
}, $users);
var_dump($result);
$result = array_map(function($user) use ($resources) {
return array_merge(
$user,
...array_filter($resources, fn($resource) => $resource['user_id'] === $user['userUuid'])
);
}, $users);
var_dump($result);
$result = array_map(fn($u) => array_merge($u, ...array_filter($resources, fn($r) => $r['user_id'] === $u['userUuid'])), $users);
var_dump($result);
$b = new B();
class A {
protected $age = 5;
public function get() {
$this->age = 10;
}
}
class B extends A {
public function get() {
parent::get();
echo $this->age;
}
}
$obj = new B();
$obj->get(); // 10