$user->name = 'User name';
<div class="container">
<div class="row">
<div class="col-4">
<div class="row">
<div class="col-12">block-1</div>
<div class="col-12">block-2</div>
<div class="col-12">block-3</div>
<div class="col-12">block-4</div>
</div>
</div>
<div class="col-8">
<div class="row">
<div class="col-12">block-1</div>
<div class="col-12">block-2</div>
<div class="col-12">block-3</div>
<div class="col-12">block-4</div>
<div class="col-12">block-5</div>
<div class="col-12">block-6</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-4">block-1</div>
<div class="col-8">block-2</div>
<div class="col-4">block-3</div>
<div class="col-8">block-4</div>
<div class="col-4">block-5</div>
<div class="col-8">block-6</div>
<div class="col-4">*оставляем пустым*</div>
<div class="col-8">block-9</div>
<div class="col-4">*оставляем пустым*</div>
<div class="col-8">block-10</div>
</div>
</div>
<?php
class Any
{
private $a;
public function __construct(string $a)
{
$this->a = $a;
}
// Простое клонирование 1 в 1
public function copy1(): self
{
return clone $this;
}
// Для примера, как сделать похожий объект на основе состояния текущего объекта
public function copy2(): self
{
$new = new self($this->a);
// тут делаем еще что-либо
// $new->a тут доступна напрямую
return $new;
}
// Меняем состояние и возвращаем новый объект, иммутабельное поведение
// хорошая практика
public function withNewA(string $a): self
{
$new = clone $this;
$new->a = $a;
return $new;
}
}
$any = new Any("A");
var_dump($any === $any->copy1()); // false
var_dump($any === $any->copy2()); // false
var_dump($any === $any->withNewA('B')); // false, изменили объект, но получили новый, а не измененный старый
function solution(arr){
return arr.sort( (a, b) => a <b )
}
console.log(solution([2,3,3,5,5,5,4,12,12,10,15]))
ctx.save();
ctx.translate(50,0); // тут координаты смещения
ctx.beginPath();
ctx.moveTo(0,100);
ctx.lineTo(200,100);
ctx.lineTo(100,0);
ctx.closePath();
ctx.fill();
ctx.restore();
var offX = 300;//по х
var offY = 50;//по у
ctx.beginPath();
ctx.moveTo(offX+0,offY+100);
ctx.lineTo(offX+200,offY+100);
ctx.lineTo(offX+100,offY+0);
ctx.closePath();
ctx.fill();