$checkout: &;
, a потом #{$checkout} { ... }
. А можно и без неё обходится, пиша непосредственно имя блока во внутренних уровнях (как у вас в примере) .block {
&__el {}
}
.block {
&__el {
&_mod {}
}
}
.block {
&__el {
&_mod-name {
&_mod-value {}
}
}
}
.checkout {
$this: &;
&__payment {
&_bank #{$this}__payment-img { }
&_paypal #{$this}__payment-img { }
}
}
.checkout {
&__payment {
$__payment: &;
&_bank #{$__payment}-img { }
&_paypal #{$__payment}-img { }
}
}
.checkout {
$this: &;
&__payment {
}
//==
//== Payment by bank
//== ========================
&__payment_bank {
#{$this} {
&__payment-img { }
&__other-el { }
&__third-el { }
}
}
//==
//== Payment by paypal
//== ========================
&__payment_paypal {
#{$this} {
&__payment-img { }
&__other-el { }
&__third-el { }
}
}
}
Первый вариант это относительный адрес (относительно текущего адреса страницы), второй абсолютный - относительно корня сайта.
// Новая запись
$post = new Post(); // Пустой объект с полями по умолчанию
$post->title = $_POST['title']; // Заполнение данными
//...
$post->save(); // Сохранение в БД (INSERT INTO ...)
// Существующая запись
$id = 123;
$post = new Post($id); // По id дергается из базы и заполняется теми данными
$post->title = 'New title'; // Изменение данных
//...
$post->save(); // Сохранение в БД (UPDATE ...)
$form = new Validator($_POST);
if ($form->isValid()) {
$post = new Post(); // Пустой объект с полями по умолчанию
$post->title = $form->title; // Заполнение данными
//...
$post->save(); // Сохранение в БД (INSERT INTO ...)
}
class PostValidator extends Validator {
// ...
}
@media (min-width: 100px) {
@media (min-width: 200px) {
//...
}
}
@media (min-width: 100px) and (min-width: 200px) {
//...
}
@media (min-width: 100px) {
@media (max-width: 200px) {
//...
}
}
Да, читабельность превыше всего. Код чаще читается, чем пишется.