^[A-Z]+.*[A-Z].*\d+$
background-image: url('<span id=" title
<section class="hero" style="background-image: url('<?=SITE_TEMPLATE_PATH;?>/img/hero-bg.jpg')">
...
</section>
fetch_assoc
возвращает одну строку, а вы через foreach пытаетесь работать с ней как с массивом строк. While работает принципиально иначе — там на каждой итерации запрашивается новая строка.($dir == 'первый-вариант') || ($dir == 'второй-вариант')Директория равна первому варианту ИЛИ директория равна второму варианту. Это условие будет выполняться только при двух перечисленных значениях $dir.
($dir != 'первый-вариант') || ($dir != 'второй-вариант')Директория не равна первому варианту ИЛИ директория не равна второму варианту. Это условие будет выполняться всегда - если $dir не равна ни одному из вариантов, то условие выполнится. Если равна первому, то заведомо не равна второму и наоборот - условие всегда выполняется.
if (
($APPLICATION->GetCurDir() != '/otdykh-u-ivanycha/')
&& ($APPLICATION->GetCurDir() != '/otdykh-u-ivanycha/banya-1/')
) {}
class MyTest extends \PHPUnit\Framework\TestCase
{
public function testDoSomethingOne(): void
{
/** @var \PHPUnit\Framework\MockObject\MockObject $mockOfA */
$mockOfA = $this->getMockBuilder(A::class)->getMock();
$mockOfA->expects($this->once())
->method('setData')
->with(20);
(new B)->doSomething($mockOfA, 1);
}
public function testDoSomethingTwo(): void
{
/** @var \PHPUnit\Framework\MockObject\MockObject $mockOfA */
$mockOfA = $this->getMockBuilder(A::class)->getMock();
$mockOfA->expects($this->once())
->method('setData')
->with(10000);
(new B)->doSomething($mockOfA, 100);
}
}
The practice of replacing an object with a test double that verifies expectations, for instance asserting that a method has been called, is referred to as mocking.