Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Перевод rows в пиксели на JS и jQuery

Представим, что есть такой textarea:
<textarea name="val[text]" rows="12" cols="50" id="text"></textarea>

И необходимо при помощи чистого JavaScript или jQuery получить значение rows="12" и перевести его в пиксели. Как это сделать в этой статье.

Для того чтобы получить значение атрибута rows и конвертировать его в пиксели на jQuery, нужно выполнить несколько шагов:
  1. Получить значение атрибута rows с помощью jQuery.
  2. Преобразовать это значение в пиксели, умножив на среднюю высоту строки.

Пример кода:
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Пример преобразования rows в пиксели</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <textarea name="val[text]" rows="12" cols="50" id="text"></textarea>

    <script>
        // Получаем значение атрибута rows
        var rowsCount = parseInt($('#text').attr('rows'));

        // Средняя высота строки обычно принимается равной 20 пикселям
...

Как в JS / jQuery сделать неизменную переменную?

В стандартной JavaScript и jQuery нет понятия «константной» переменной, как в языках программирования, таких как Java или C++. Однако есть несколько способов, которые помогут достичь аналогичного эффекта:

Способ 1: Использовать ключевое слово const


Синтаксис ES6 (ECMAScript 2015) ввёл ключевое слово const, которое позволяет объявлять переменные, которые не могут быть повторно определены:
const MY_CONSTANT = 'This is a constant';
console.log(MY_CONSTANT); // This is a constant

MY_CONSTANT = 'New Value'; // Будет ошибка: Assignment to constant variable.

Способ 2: Использовать IIFE (Immediately Invoked Function Expression)


Если нужно объявить постоянную переменную в локальном контексте, можно использовать немедленно вызываемую анонимную функцию:
(function () {
    var CONSTANT_VALUE = 'Some Constant Value';
    console.log(CONSTANT_VALUE); // Some Constant Value
})();

// Попытка доступа извне невозможна:
console.log(CONSTANT_VALUE); // ReferenceError: CONSTANT_VALUE
...

PHP: Ошибка "Creation of dynamic property"

Начиная с версии PHP 8.2, появилась новая ошибка "Creation of dynamic property", которая предупреждает разработчиков о недопустимом создании динамических свойств в классах. Эта ошибка сигнализирует о переходе PHP к более строгим стандартам объектно-ориентированного программирования и подготовке к отказу от старых практик.

Что такое ошибка "Creation of dynamic property"?


Ошибка "Creation of dynamic property" возникает, когда программа пытается создать новое свойство класса во время выполнения, не объявляя его предварительно в определении класса. Ранее такое поведение разрешалось, но начиная с PHP 8.2, оно объявлено устаревшим и в будущем будет полностью запрещено.

Пример кода, вызывающего ошибку:
class ExampleClass {}
$obj = new ExampleClass();
$obj->newProperty = 'value'; // Создание динамического свойства

Почему это считается проблемой?


Ранее PHP позволял динамически создавать свойства, что приводило к следующим проблемам:
  • Низкая читаемость кода: Невозможно было сразу
...

MySQLi: Использование функции bind_param()

При разработке веб-приложений на PHP одна из важнейших задач — защита от SQL-инъекций, позволяющих злоумышленникам внедрить вредоносный код в запросы к базе данных. Одним из эффективных решений этой проблемы являются подготовленные выражения (prepared statements) в комбинации с функцией bind_param(), доступной в библиотеке MySQLi.

Эта статья объясняет, как правильно использовать функцию bind_param() для безопасной передачи данных в SQL-запросы, избавляясь от риска SQL-инъекций и улучшая производительность приложений.

Что такое bind_param()?


Функция bind_param() — это встроенный метод библиотеки MySQLi, предназначенный для связывания переменных с плейсхолдерами в подготовленных выражениях. Она позволяет надёжно передавать данные в SQL-запросы, предотвращая возможность внесения опасных команд злоумышленниками.

Принцип работы:
  1. Создать подготовленный запрос с плейсхолдерами (?).
  2. Привязать переменные к плейсхолдерам с указанием их типов.
  3. Выполнить запрос.

Как использовать bind_param()?



Шаг 1: Под...

Безопасность и производительность запросов в PHP с использованием PDO Prepared Statements

Использование PDO (PHP Data Objects) и подготовленных выражений (prepared statements) — это важный аспект разработки веб-приложений на PHP. Эти инструменты обеспечивают защиту от SQL-инъекций, повышают производительность приложений и делают код более удобным для чтения и сопровождения.

Почему важны подготовленные выражения?


Современные веб-приложения часто взаимодействуют с базами данных, отправляя запросы для получения или изменения данных. Прямая вставка переменных в SQL-запросы представляет собой серьезную угрозу безопасности, известную как SQL-инъекции. Используя подготовленные выражения, разработчики могут значительно снизить риск таких угроз.

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

Как работают подготовленные выражения?


Подготовленные выражения используют плейсхолдеры (placeholders) вместо непосредственных значений в SQL-запросах. Эти плейсхолдеры позже замещаются реальными значениями при...