Программирование [страница: 2.6]
- /**
* @author: Revenger
* Date: 2019-01-16
*/

Три способа обойти дочерние элементы на jQuery.
Есть несколько способов это сделать, я напишу три из них.
- /**
* @author: Revenger
* Date: 2018-12-27
*/

Шпаргалка по функциям фильтрации текста, в частности, при приеме данных для подготовки SQL-запроса но и для других целей.
- /**
* @author: Revenger
* Date: 2018-12-04
*/

Достаточно простой пример регулярного выражения, показано его устройство с пояснениями.
- /**
* @author: Revenger
* Date: 2018-10-26
*/

Небольшой скрипт на jQuery, показывающий сколько еще слов можно добавить в текстовое поле.
- /**
* @author: Revenger
* Date: 2018-10-26
*/

Простая функция на PHP для валидации разрешенных IP адресов (или запрещенных, кому как удобнее).
- /**
* @author: Revenger
* Date: 2018-10-17
*/

Http заголовки, — пожалуй, главная вещь в общении между устройствами (например, браузер - сайт). Они передают основную информацию об устанавливающемся соединении и о передаваемой информации через это соединение.
А теперь о том, как их выловить.
- /**
* @author: Revenger
* Date: 2018-10-11
*/

Тема, конечно, не новая, но напомнить полезно.
В Yii2 есть свой механизм конструирования SQL запросов, поэтому, стоит использовать только его и не допускать "чистых" запросов. Лучше использовать Active Record или, если не хочется городить модель, использовать CreateCommand.
- /**
* @author: Revenger
* Date: 2018-09-29
*/

- /**
* @author: Revenger
* Date: 2018-08-19
*/

При использовании ssh2_scp_send на сервер приходят обрезанные в конце файлы. Это хорошо заметно на примере текстовых и картинок (просто другие файлы могут не открыться вообще). Проблема заключается в том, что вы не закрываете сеанс SSH. Таким образом, внутренние буферы не очищаются, и файлы полностью не записываются на диск.
- /**
* @author: Revenger
* Date: 2018-08-04
*/

Так уж вышло, что верся сайта для разработчика наодтся за прокси-сервером. Поскольку сайт на Вордпресе, ему периодически нужно лезть в Интернет за обновлениями, а без прямого доступа это невозможно.
Но не все так плохо, Вордпресс можно научить работать через прокси.
- /**
* @author: Revenger
* Date: 2018-07-21
*/

Пример скрипта для скачивания больших файлов с гугл диска. Особенностью скачивания больших файлов является наличие дополнительного подтверждения для скачивания, гугл предупреждает что файл большой уточняет, точно ли его нужно скачать.
- /**
* @author: Revenger
* Date: 2018-07-16
*/

Несколько дней назад перестала работать отправка почты PHPMailer + Gmail. Вероятно, закрутили какие-то гайки, так как до этого все работало, но это не точно, может быть, провайдер приложил руку.
В логе были ошибки ssl3_get_server_certificate:certificate verify failed.
- /**
* @author: Revenger
* Date: 2018-06-14
*/

Абсолютно одинаковые файлы вели себя по-разному а именно, один запускался а другой нет и в логах попадались ошибки: "end of script output before headers". Не помогала даже установка прав 777.
- /**
* @author: Revenger
* Date: 2018-05-10
*/

Нажимая на воспроизведение анимированого изображения на сайте (фб, твиттер, вк т.д.) в консоли браузера можно увидеть что запускается воспроизведение видеофайла.
- /**
* @author: Revenger
* Date: 2018-04-10
*/

Я думаю, каждый программист так или иначе сталкивается с ошибками наподобие "Fatal error: Allowed memory size of 402653184 bytes exhausted (tried to allocate 1126637679 bytes) in /var/www/html/puper-puper-script.php on line 256". Можно, конечно увеличивать количество доступной памяти для PHP, но это нельзя делать бесконечно. Но можно и попытаться разобраться на что расходуется память.
- /**
* @author: Revenger
* Date: 2018-04-05
*/

JSON - результат работы функции json_encode(). Под катом будет описан метод проверки строки, является ли она JSON или нет.
- /**
* @author: Revenger
* Date: 2018-04-03
*/

Flexbox можно назвать удачной попыткой решения огромного количества проблем при верстке, таких, например, как выравнивание блоков по вертикали. Любой верстальщик знает несколько путей выровнять что-либо по вертикали или сделать 3-х колоночный макет с резиновой средней колонкой. Но все эти способы довольно странные, похожи на хак костыли, подходят не во всех случаях, сложны для восприятия и не работают при несоблюдении определенных магических условий, которые сложились исторически и вообще, это не проще обряда вызова Сатаны.
- /**
* @author: Revenger
* Date: 2018-03-31
*/

В некоторых случаях необходимо использовать возможности модели но без использования таблиц. Самый простой пример - валидировать поля формы но без записи в базу.
Нет ничего проще!
- /**
* @author: Revenger
* Date: 2018-03-13
*/

Метод beforeAction позволяет выполнить произвольный код перед выполнением экшена, что следует из его названия. И практический пример использования.
- /**
* @author: Revenger
* Date: 2018-03-12
*/

В Yii2 есть такой функционал как сценарии которые позволяют изменять правила валидации в различных ситуациях.
Например, есть некий набор полей, который будет валидироваться в одном случае и не будет в другом. Сценарии объединяют в понятные группы правила валидации и регистрируя условного Уасю, при редактированиии нельзя будет изменить его логин и при сохранении в базу объекта "Уася" поле "Логин" не будет подвергаться валидации.
- /**
* @author: Revenger
* Date: 2018-02-23
*/

Поиск рекурсивно в многоуровневом массиве пустых значений на PHP. Функция писалась для проверки json по-быстрому.
- /**
* @author: Revenger
* Date: 2018-02-13
*/

Тернарный оператор - это такой урезанный аналог if else для двух значений. Также его удобно использовать если предварительно нужно проверить существование значения. Ниже несколько примеров использования.
- /**
* @author: Revenger
* Date: 2018-02-08
*/

Коротко об использовании сессий в Yii2. Такая шпаргалка которая всегда под руками.
В php работа с сессиями происходит через глобальный массив $_SESSION. В Yii 2 есть компонент yii\web\Session, который доступен через Yii::$app->session.
Это как и обычные сессии в PHP но с некоторыми дополнительными возможностями.
- /**
* @author: Revenger
* Date: 2018-01-04
*/

Инструкция по добавлению мета тегов в заголовок страницы на фреймворке Yii2.
- /**
* @author: Revenger
* Date: 2018-01-03
*/

После того как сделана выборка, например, статей из, например, блога, неплохо было бы разбить вывод на страницы для снижения нагрузки на сайт.
- /**
* @author: Revenger
* Date: 2017-12-16
*/

Yii2 обладает собственным классом загрузки файлов \Yii\we\UploadedFile, который представляет файл в виде объекта для удобства дальнейшей работы.
- /**
* @author: Revenger
* Date: 2017-11-07
*/

Примеры для выборки, обновления, записи и удаления данных в БД при помощи Active Record на Yii2.
- /**
* @author: Revenger
* Date: 2017-11-04
*/

Active Form на Yii2 используется для создания форм, как ни странно. Приведу самый простой пример, достаточный для понимания как создавать формы при помощи этого компонента.
- /**
* @author: Revenger
* Date: 2017-09-02
*/

Как сравнить между собой неизвестное количество массивов и как вывести их общие значения? Таким вопросом я задался недавно.
- /**
* @author: Revenger
* Date: 2017-08-17
*/

Скрытие части email адреса используется в различных формах восстановления паролей для того, чтобы улучшить безопасность при восстановлении доступа и при этом информировать пользователя, на какой адрес отправляется письмо.
- /**
* @author: Revenger
* Date: 2017-07-08
*/

Unisender - это инструмент для массовых рассылок и отправки одиночных писем.
В этой статье я опишу как работать с ним через API и некоторые "подводные камни", с которыми пришлось столкнуться.
- /**
* @author: Revenger
* Date: 2017-06-24
*/

REST или в полной форме, Representational State Transfer стало стандартной архитектурой проектирования для разработки веб-API.
REST является очень простым интерфейсом управления информацией без использования каких-то дополнительных внутренних прослоек. Каждая единица информации однозначно определяется глобальным идентификатором, таким как URL. Каждая URL в свою очередь имеет строго заданный формат.
- /**
* @author: Revenger
* Date: 2017-04-24
*/

Однажды мне понадобилось в методе возвращать объект в качестве негативного результата, например вместо false. Это было необходимо для совместимости с существующим кодом. Ранее этот метод возвращал объект с результатом, но после корректировок он не всегда возвращал результат обработки.
- /**
* @author: Revenger
* Date: 2017-03-27
*/

Используя готовые и проверенные решения можно сильно сэкономить время, которое обычно уходит на создание собственных реализаций того что уже давно сделали другие. Я нашел несколько готовых библиотек, которые будут экономить время мне и всем кто не поленится и прочитает статью.
- /**
* @author: Revenger
* Date: 2017-03-22
*/

Самый, наверное, примитивный способ как можно привести номера телефонов к единому формату если, допустим, есть какой-то массив номеров телефонов, которые нужно записать в базу.
- /**
* @author: Revenger
* Date: 2017-03-21
*/

Сделал такую заготовку под класс для записи чего-либо в текстовые файлы.
- /**
* @author: Revenger
* Date: 2017-02-25
*/

В интернете масса статей по созданию блога на Yii2 и я добавлю еще одну. Моя статья выгодно отличается от других тем, что лично для меня она построена на моем же опыте работы с Yii2. Всем прочим - на собственное усмотрение.
Делал для себя заметки по Yii2 когда разбирался с созданием блога, установкой и так далее. Данная статья написана на основе собственного опыта и информации из сети. Пошагово расписано создание блога и некоторые мелочи, все по собственному опыту.
- /**
* @author: Revenger
* Date: 2017-02-08
*/

После создания сайта на ModX нужно было включить ЧПУ, так как без него не комильфо. Далее простая инструкция как это сделать.
- /**
* @author: Revenger
* Date: 2017-01-11
*/

Пример создания класса для работы с базой данных с использованием шаблона проектирования singleton. Пример упрощенный, много кода придется писать под свои задачи, но его достаточно для понимания как это работает.
- /**
* @author: Revenger
* Date: 2017-01-10
*/

PHP функция для изменения размера base64 кодированного изображения.
- /**
* @author: Revenger
* Date: 2016-12-05
*/

В процессе поиска новой работы приходится делать всякие тестовые задания, и вот один из результатов - мини-блог без авторизации с анонимным комментированием. Конечно же, такое нельзя назвать сайтом, но как учебное пособие подойдет.
- /**
* @author: Revenger
* Date: 2016-10-27
*/

Моя доработка стандартного модуля рассылки blocknewsletter для Prestashop 1.6. Теперь он работает без перезагрузки страницы и статусы [email выслан, уже есть и т.д.] корректно отображаются.
- /**
* @author: Revenger
* Date: 2016-10-26
*/

При добавлении видео с ТыТрубы на страницу CMS возникает ошибка неправильное поле content или что-то подобное.
- /**
* @author: Revenger
* Date: 2016-10-26
*/

- /**
* @author: Revenger
* Date: 2016-10-26
*/

Упрощаем регистрацию путем уменьшения количества полей до минимума: ФИО, email, город, телефон.
- /**
* @author: Revenger
* Date: 2016-10-14
*/

Нашел в сети какой-то модуль заказа звонка и переписал его под ajax. Сам модуль был неплохой но очень кривой. Из преимуществ - в админке отображается список заказов звонков, на почту приходит email (не работает, но пофиг), поддержка turbosms (не проверял).
- /**
* @author: Revenger
* Date: 2016-10-12
*/

Вывод ul li списка можно разбить на отдельные блоки при помощи логики шаблонизатора Smarty.
- /**
* @author: Revenger
* Date: 2016-10-12
*/

При помощи этого кода можно создать модуль простого меню или модуль категорий на какой-либо странице. Будет очень полезно для начинающих разработчиков да и опытным в копилку.
- /**
* @author: Revenger
* Date: 2016-10-11
*/

Theme Configurator - это модуль Prestashop 1.6 который позволяет добавлять баннеры на страницы и редактировать опции темы. В некоторых случаях его функционала недостаточно и я напишу как добавить новый хук.
- /**
* @author: Revenger
* Date: 2016-10-06
*/

Обновлял один из своих старых проектов на Prestashop 1.5 до последней версии при помощи модуля 1-Click Upgrade. Всвязи с тем что на сайте был нестандартный шаблон, не было до конца ясно, пойдет ли все так как нужно.