return [
'bootstrap' => [
'mySubdomainComponent'
],
'components' => [
'mySubdomainComponent' => '\namespace\of\mySubdomainComponent'
]
];
// обработка данных в компоненте, метод init
...
// в дальнейшем можно получить компонент
\Yii::$app->get('mySubdomainComponent')
$app = \Yii::$app;
$app->on($app::EVENT_BEFORE_REQUEST, ['myListener', 'method']);
// в листенере делаем нужную обработку
...
function getImageData($name, $size) {
$data = get_field($name);
return array_merge($data, [
'thumb' => $data['sizes'][$size],
'width' => $data['sizes'][$size . '-width'],
'height' => $data['sizes'][$size . '-height'],
]);
}
$image = getImageData('lead_image', 'lead-custom-size');
// view.php
<img src="<?= $image['url'] ?>" height="<?= $image['height'] ?>" width="<?= $image['width'] ?>">
git commit -m 'finally got this shit beautified'
// sarcasm begin
// Refactored!
_
_( )_
(_(%)_)
(_)\
| __
|/_/
|
|
$leadimage = get_field('lead_image');
$bot_first_img = get_field('image_#1');
$bot_second_img = get_field('image_#2');
...
// sarcasm end
$params = [
'index' => 'my_index',
'type' => 'my_type',
'body' => [
'ids' => [1, 2, ...]
]
];
function recursiveJSON2ARRAY($obj, $parentname = null)
{
global $marks;
foreach ($obj as $v) {
if (isset($v->children) && is_array($v->children) && count($v->children) > 0) {
$parentname = $v->name;
foreach($v->children as $child) {
if(isset($child->url)){
$marks[$child->date_added] = array('parentname'=>$parentname, 'name'=>$child->name, 'url'=>$child->url);
} else {
recursiveJSON2ARRAY($v->children, $parentname);
}
}
} else {
if (isset($v->url)) {
// если $parentname не передали, то он null
$marks[$v->date_added] = array('parentname'=>$parentname, 'name'=>$v->name, 'url'=>$v->url);
}
}
}
}
if ($b_bar) {
recursiveJSON2ARRAY($b_bar);
}
void __construct ([ mixed $args = "" [, $... ]] )
[
// имя класса без неймспейса
'ModelSearch' => [
...
]
]
$this->load($params, '');
Подскажите, пожалуйста, как отфильтровать значения в модели (перед выводом в GridView) по параметру type? Т.е. когда никакие фильтры ещё не передаются.
if (!$modelSearch->type) {
$modelSearch->type = 'булехум!';
}
// первый
$model->validate()
// второй
$model->save()
if ($model->validate() && $model->save(false))
...
if ($model->load($request->post()) && $model->save()) {
// сохранили и что-то делаем
}
// $model instanceof Subscription
$form->field($model, 'email')->textInput();
[
'Subscription' => [
'email' => 'some@email'
]
]
public function rules()
{
return [
['email', 'unique'],
];
}
// получаем элемент видео
var video = document.getElementById('video');
// Флаг, по которому будем понимать, что выходим из mute
var wasMuted = video.muted;
// Время воспроизведения, на которое выставить
var unmuteTime = 0;
video.onvolumechange = function() {
if (wasMuted) {
// Было в состоянии mute
wasMuted = false;
// ставим необходимое время
video.currentTime = unmuteTime;
} else if (video.muted) {
// Юзер включил mute
wasMuted = true;
}
};
if (!isset($_SESSION['login'])){
header("Location: login.php");
exit();
}
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
// что-то сделать
// можно вернуть обратно, но хорошо бы проверить содержимое $_SERVER['HTTP_REFERER'];
// header('Location: ' . $_SERVER['HTTP_REFERER'])
// завершить exit()
}