Прототипное наследование в JavaScript на практике

Предисловие: этот материал является копией оригинальной статьи, взятой со следующего источника:

http://jsraccoon.ru/oop-inheritance

Так как я больше backend программист, JavaScript в своей практике я использую не так часто. Несколько месяцев назад у меня появилась задача реализации сложной бизнес-логики на JS, но знаний о наследовании в JS на тот момент не хватало. Эта статья мне настолько помогла, что я решил её скопировать сюда.

Читать далее

JS функция скачивания файла

В одном из проектов столкнулся со следующей задачей:

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

С одной стороны, можно воспользоваться атрибутом тега a под названием download, но здесь есть проблема — этот атрибут не поддерживается IE 10 версии.

На просторах сети нашёл следующее решение:

Читать далее

Экспорт из PHP в Excel с помощью PhpSpreadsheet

В своей профессиональной деятельности я периодически сталкиваюсь с задачами экспорта/генерации данных в формате XLS/XLSX (Excel). Библиотека PhpSpreadsheet позволяет их решить.

Данная библиотека является логичным продолжением библиотеки PHPExcel, которая уже несколько лет не поддерживается.

Скачать и установить библиотеку предлагается с помощью composer:

composer require phpoffice/phpspreadsheet

Сайт: https://phpspreadsheet.readthedocs.io

Опишу реализацию типичных задач.

Читать далее

Организация универсального обработчика Ajax запросов

Этот сниппет обработчика ajax запросов я часто использую в своих проектах.

Представим себе такую задачу: необходимо реализовать CRUD (create, update, delete) операции элементов инфоблока Битрикс. При этом сами операции должны выполняться от имени такого пользователя, который:

  • авторизован на сайте
  • принадлежит определённой группе пользователей

Операции должны инициироваться POST обращением по Ajax к определённому скрипту (обработчику аякс запроса)

Читать далее

Реализация todo-list на Vue.js

Недавно начал изучать Vue.js

Для обкатки знаний поставил себе следующую задачу:

Реализовать todo-list (план дел на ближайшее время) со следующими простыми возможностями:

1) Добавление новой задачи
2) Удаление задачи
3) Отметка задачи как выполненной/не выполненной
4) Синхронизация состояния задач с удалённым хранилищем (чтобы после перезагрузки страницы данные не пропадали)

Получилось что-то вроде этого:

https://web-finder.ru/files/todo-checklist/

Особенности реализации читайте под катом.

Читать далее