Заметки

Вариант, как можно установить сегодняшнюю дату по дефолту:

$( "#mydate" ).datepicker({
dateFormat: 'yy-mm-dd'
}).datepicker("setDate",'now');

В данном примере данная дата будет установлена всегда, не зависимо от того, задано что-то в input value или нет. Если необходимо чтобы это  было зависимо от каких-то условий, добавьте проверку перед тем, как назначать значение. 

Иногда необходимо вывести содержимое json в читаемом виде.

Для этого достаточно просто закодировать json с флагом JSON_PRETTY_PRINT (если у вас уже есть json, который уже был закодирован - просто сделайте json_decode, а затем заново json_encode).

Пример:

 $result = json_encode($data, JSON_PRETTY_PRINT);
echo '<pre>' . $result . '</pre>';

Если необходимо чтобы кириллица тоже не кодировалась и ее сразу можно было прочитать: 

$result = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
echo '<pre>' . $result . '</pre>';

Пример, как в PHP конвертировать часовой пояс с помощью DateTime:

$myDate = new DateTime('03.06.2022 12:35', new DateTimeZone('Europe/Paris')); //создаем с час. поясом Парижа
var_dump($myDate->format("Y-m-d H:i:s")); // выведет "2022-06-03 12:35:00"

$myDate->setTimezone(new DateTimeZone('Europe/Moscow')); // конвертируем в час. пояс Москвы
var_dump($myDate->format("Y-m-d H:i:s")); //выведет "2022-06-03 13:35:00"

 

Допустим, есть список, у которого необходимо получить значение первого option (при этом не важно, выбран он или нет).

HTML:

<select id="select_id">
<option value="1">Текст 1</option>
<option value="2">Текст 2</option>
</select>

Как выбрать значение с помощью jQuery:

$("#select_id").find("option:first-child").val(); // выведет 1

Если нужен текст:

$("#select_id").find("option:first-child").html(); // выведет 'Текст 1'

Для того, чтобы получить заголовок колонки таблицы при нажатии на ячейку (jQuery), можно использовать следующий код:

 $(".exampleTable").on('click', 'td', function(e) {
var index = $(this).index();
var table = $(this).closest('table');
var clickedTableColumnName = table.find('th').eq(index).html();
});

Переменная clickedTableColumnName как раз будет содержать html заголовка.

Примечание: таблица должна содержать th поля, иначе данный код не будет работать. 

Допустим, если форма, у которой первое поле попадает под автоматическую фокусировку. Это не всегда удобно, особенно когда к input подключены дополнительные скрипты (к примеру всплывающий календарь для выбора дат - при автоматической фокусировке такой календарь будет сразу становиться видимым).

Есть одна хитрость, помогающая “перенаправить” автоматическую фокусировку: добавить в форму скрытое поле, для которого явно указать, что нужно фокусироваться на нем: 

<input type="hidden" autofocus="true" name="your_name" />

Если необходимо, чтобы в Laravel всегда элементы какого-либо отношения выводились отсортированными по какому-либо полу, достаточно после описания отношения добавить orderBy, первый параметр в данном примере - название поля, по которому будет сортировка ('created_at'), второй - направление сортировки ('desc'):

public function orders()
{
return $this->hasMany(Order::class, 'user_id')->orderBy('created_at', 'desc');
}

Рассмотрим, как легко и быстро можно “убить” процесс, который занимает нужный порт в Windows. 

Для этого будем использовать командную строку. 

Запустите cmd.exe от имени администратора.  

Сначала необходимо выяснить, какие процессы занимают нужный порт.  Для этого выполним команду:

netstat -ano | findstr :8080

Вместо :8080 необходимо указать любой порт, который вас интересует. 

...

Чтобы получить parent от выбранного элемента при работе с DOMDocument, можно использовать parentNode

Пример: 

$dom = new DOMDocument();
$dom->loadHTML($htmlString);

$forms = $dom->getElementsByTagName('form'); // берем все формы на странице
foreach($forms as $form){
$formParent = $form->parentNode; //у каждой из найденных форм находим parent
// ...
}

Для того, чтобы отменить последний сделанный коммит в Git необходимо использовать следующую команду:

 git reset --soft HEAD~1

При этом все изменения, которые были сделаны в коммите, сохранятся - за это отвечает флаг --soft  (можно будет внести необходимые правки и сделать снова другой коммит). 

Ситуация: 

unlink  для файла cookie  возвращает значение true, но сам файл при этом не удаляется и остается на своем месте. 

Первоначально было подозрение, что что-то не так с путем до файла или правами (chmod), но все оказалось гораздо проще.

Решение:

Перед тем, как удалять данный файл, необходимо сначала закрыть CURL соединение:

curl_close($curlConnection);
unlink($path);

Чтобы экранировать строку, попадающую в условие preg_match (PHP), можно использовать функцию preg_quote

Список символов, которые она экранирует:

 . \ + * ? [ ^ ] $ ( ) { } = ! < > | : - #

Обратите внимание, что по умолчанию тут нет символа /

Для того, чтобы экранировать и этот символ, необходимо добавить его как доп. параметр:

preg_quote($someVriable, '/');

 

Допустим, есть блок, содержимое которого должно отображаться в 2 колонки:

<div class="block">
Содержимое блока
</div>

Для того, чтобы все содержимое блока разделилось на 2 колонки, понадобится такой код CSS:

.block {
-webkit-column-count: 2;
-moz-column-count: 2;
column-count: 2;

-webkit-column-gap: 20px;
-moz-column-gap: 20px;
column-gap: 20px;
}