или через вызов функции session_set_cookie_params(). Просто у вас в старой куке другой домен, поэтому браузер думал, что это другая кука и получалась коллизия. У хрома такая же проблема, я уже сталкивался. Очень неприятная, потому что неправильную куку должен удалить клиент.
Так а что в данном случае считать расширенной подсветкой? Считать подобные языковые конструкции, которые вызываются как функции (isset, print, empty, echo, require, include), как функции в плане подсветки? Я не уверен, что это получится сделать в PhpStorm, по описанной выше причине.
Сначала не сообразил, почему Phpstorm так делает (применяет для isset() такую же подсветку, как и для if), потом понял - это Because this is a language construct and not a function(php.net/manual/en/function.isset.php), то есть он все правильно делает.
Нет, иначе придется делать так:
SELECT 781 as id,
(SELECT COUNT(id) FROM table1 WHERE model_id = 781) as 'Таблица №1',
(SELECT COUNT(id) FROM table2 WHERE model_id = 781) as 'Таблица №2';
Не очень удобно, что нужно три раза id подставлять, но зато очень быстро, потому что не нужен юнион.
В целях безопасности веб сервер должен работать от непривелегированного пользователя в изолированном окружении (а еще лучше - в контейнере). Хотя в данном случае удобнее, конечно, использовать функцию glob(), пример которой вы привели выше.
На здоровье) И да, и да, пишите $stmt->fetchAll(PDO::FETCH_ASSOC); , если вы этот параметр не задали для объекта PDO ранее($pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_BOTH)). По умолчанию будет PDO::FETCH_BOTH( php.net/manual/ru/pdostatement.fetch.php) что крайне негативно влияет на расход памяти во время выполнения.
isset($_POST['queryString']) вообще тоже неплохо - от вашего варианта не отличает, и короче. И, конечно, соглашусь с инъекцией и отсутвием очистки и валидации данных.