LibCode»Блог

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

MySQL | PHP | Python | C++ | JavaScript

Создано при поддержке GigaChat.

PHP: Функция setcookie()

Функция setcookie() в PHP предназначена для отправки cookie-данных клиенту. Cookie — это небольшие кусочки информации, которые хранятся на стороне клиента и отправляются обратно серверу при каждом последующем запросе. Это позволяет сохранять состояние пользователя между запросами.

Синтаксис функции setcookie():
setcookie(name, value, expire, path, domain, secure, httponly)

Параметры:
  • name: Имя cookie.
  • value: Значение cookie.
  • expire: Время истечения срока действия cookie (timestamp Unix).
  • path: Путь на сервере, к которому относятся cookie.
  • domain: Домен, к которому относятся cookie.
  • secure: Отправлять cookie только через зашифрованное соединение (HTTPS).
  • httponly: Заблокировать доступ к cookie через JavaScript.

Примеры использования



Установка простого cookie
setcookie("username", "John", time() + 3600, "/");

Установка безопасного cookie
setcookie("auth_token", "secret-token", time() + 3600, "/", ".example.com", true, true);

Удаление cookie
setcookie("
...

PHP: Регулярные выражения: Расширенные возможности

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

Захват групп и обратные ссылки


Захват групп: Группы позволяют извлекать определенные фрагменты текста:
preg_match('/(\d+) (\w+)/', '123 apples', $matches);
// $matches[1] => '123', $matches[2] => 'apples'

Обратные ссылки: Обратные ссылки позволяют использовать захваченные группы в замене:
preg_replace('/(\w+) (\w+)/', '$2, $1', 'John Doe');
// Результат: 'Doe, John'

Утверждения (Lookahead и Lookbehind)


Positive Lookahead: Проверяет, что после текущего положения есть определенный паттерн:
preg_match('/apple(?= pie)/', 'I love apple pie'); // Вернет true

Negative Lookahead: Проверяет, что после текущего положения нет определенного паттерна:
preg_match('/apple(?! pie)/', 'I love apple juice'); // Вернет true

Positive Lookbehind: Проверяет, что...

PHP: Высокая производительность и оптимизация памяти

PHP
Достижение высокой производительности и оптимальной работы с памятью — одна из ключевых задач разработчика на PHP. В условиях роста нагрузки и объема данных эффективное использование ресурсов становится критически важным фактором успеха проекта. Давайте рассмотрим некоторые лучшие практики и приемы для достижения максимальной производительности и экономии памяти в PHP-приложениях.

Высокопроизводительность и оптимизация памяти в PHP



1. Использование Opcode Cache (OPCache)
Один из важнейших шагов к повышению производительности — включение и правильная настройка OPCache. Этот механизм сохраняет скомпилированный байткод PHP, предотвращая повторную компиляцию каждого файла при каждом запросе.

Советы по настройке OPCache:
  • Включайте и настраивайте OPCache через конфигурационные файлы (opcache.enable=1, opcache.memory_consumption=128, opcache.max_accelerated_files=10000).
  • Регулярно очищайте кэш, если вносите значительные изменения в кодовую базу.

2. Эффективная работа с ресурсами
В зависимости от...

PHP: Регулярные выражения: Разбор URL с помощью preg_match

Регулярные выражения (регэкспы) — мощный инструмент для работы с текстом, позволяющий решать широкий спектр задач, связанных с поиском, извлечением и обработкой данных. Одна из распространенных задач — разбор URL-адресов, когда нужно извлечь отдельные части (модуль, тип, идентификатор) из URL. В этой статье мы рассмотрим, как это сделать с помощью функции preg_match() в PHP.

Пример регулярного выражения


Рассмотрим шаблон регулярного выражения, который помогает извлечь части URL:
preg_match('%^/(?<module>[-\w\d]+)(?:/(?<type>[-\w\d]+))?(?:/(?<id>[-\w\d]+))?/?$%', $urlPath, $match);

Разбор регулярного выражения


  • %^/: начало строки, после которого идёт косая черта (/).
  • (?<module>[-\w\d]+): именованная группа захвата для выделения модуля. Допускаются буквы, цифры, тире и подчёркивание.
  • (?:/(?<type>[-\w\d]+))?: необязательная группа захвата для типа. Опционально присутствует после косой черты.
  • (?:/(?<id>[-\w\d]+))?: необязательная группа захвата для идентификатора. Опционально
...

JavaScript: Как получить URL текущей страницы

На JavaScript можно легко получить полный адрес текущей страницы с помощью объекта window.location.

Объекты и свойства, которые помогут получить полный URL


  • window.location.href: возвращает полный URL текущей страницы.
  • window.location.protocol: возвращает протокол (например, http: или https:).
  • window.location.host: возвращает хост (например, example.com или sub.example.com).
  • window.location.pathname: возвращает путь (например, /folder/file.html).
  • window.location.search: возвращает строку запроса (например, ?param=value).
  • window.location.hash: возвращает фрагмент (часть после символа #).

Пример использования


console.log(window.location.href); // Полный URL страницы
console.log(window.location.protocol); // Протокол (например, http:, https:)
console.log(window.location.host); // Домен (например, example.com)
console.log(window.location.pathname); // Путь (например, /folder/file.html)
console.log(window.location.search); // Строка запроса (например,
...