линия

Главная
Показаны сообщения с ярлыком PHP. Показать все сообщения
Показаны сообщения с ярлыком PHP. Показать все сообщения

суббота, 8 февраля 2025 г.

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


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

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

вторник, 20 сентября 2022 г.

Postman + graphQl + загрузка изображений

 


Перевалив за 35, вдруг осознал, что слишком сильно привязываюсь к  привычным технологиям. Для изучения чего то нового мне приходится пройти по нескольким стадиям: гнев, отрицание, принятие. Вот, устроившись на новую работу мне  необходимо было в кратчайшие сроки изучить GraphQL .  Сначала это меня сильно гневило, ибо я слишком привык к обычным роутам, контроллерам. А тут все по-другому. И сначала кажется просто диким ужасом. Потом начал все это отрицать. Все это нафиг не нужно мне - говорил я сам себе но продолжал смотреть видео уроки, ковыряться в коде.  И в конце концов, когда  перевели первый аванс  я принял эту технологию. 

понедельник, 18 июля 2022 г.

Задача на собеседовании или как я провалил его не начав.

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

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

Задача:  Нужно получить массив чисел сумма которых равно количеству элементов в кубе. На примере станет понятно:

1³ = 1

2³ = 3 + 2

3³ = 7 + 9 + 11

4³ = 13 + 15 + 17 + 19

5³ = 21 + 23 + 25 + 27 + 27

И тд...

Я приступил к решению задачи.  

воскресенье, 29 мая 2022 г.

Laravel - история одного запроса

 


Посчастливилось мне поработать над одним интересным проектом на Laravel.  Задачи были сложные но оплата труда была достойной и мне приходилось  решать их. Давненько я не погружался в сложные sql запросы. Работая Битрикс программистом , напрочь  забыл делать что то сложнее left join . 

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



Допив отвратительный на вкус кофЭ приступил к реализации сие задачи.

суббота, 31 октября 2020 г.

Bitrix : добавление данных из XML в Инфоблок


На днях,  дорабатывая очередной проект, столкнулся со странным явлением -  раз в сутки  некоторые свойства инфоблока магическим образом обнулялись. Сначала  решил что менеджер проекта все стер. Но нет,  это не был он, его алиби были железные и мне пришлось искать виновника самому.
Вскоре гаденыш был найден по пути /local/php_interface/cron/update.php . Скрипт запускался раз в сутки и весело обновлял данные. Нынешние доработки требовали дополнительные свойства в инофблоке, которые  решительно очищались в момент запуска скрипта. Опытные битриксоиды знают, что подобный код очищает необъявленные свойства. 

вторник, 26 июня 2018 г.

Bitrix - сохраняем данные от куда пришел посетитель

Задачи бывают разные:
Черные, белые, красные.
Но всем одинаково хочется -
На что-нибудь  заморочиться




Клиент обратился с просьбой запилить такой функционал, чтоб в свойствах заказа попадала информация о том откуда пришел пользователь. По скайпу на меня смотрел клиент со страхом в глазах ,в ожидании услышать  стоимость разработки. А я тем времени, смотрел на него уставшими и утонувшими в подглазных мешках  глазами. Конечно, это простая задача. Но, у него такой сайт, такое решение от АСПРО, простая задача превращалась в среднюю. Средняя в тяжелую. Тяжеля - невыполнимую. После обсуждения цены  прилег на диван дабы обмозговать задачу....
В итоге через несколько дней получилось вот что:

четверг, 6 октября 2016 г.

PHP: работа с датой или как получить следующий понедельник

Дано:
PHP,Netbeans,OpenServer,AmoCrm
Голова,Simple Plan + Blink182

Задание:
Если сделка создается вручную менеджером, задачу ставить не нужно
Если выходной день СБ или ВС – ставить задачу на Понедельник до 12:00
Если Пн-Пт 00:00-09:00 ставим задачу на этот день в 12:00
Если Пн-Чт 19:00-00:00 ставить задачу на следующий день 12:00
Если Пт после 19:00, то ставить задачу на Понедельник 12:00

воскресенье, 21 августа 2016 г.

Bitrix,сортировка товаров по цене торговых предложений.

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

1. Создаем  новые свойства товара:

среда, 22 июня 2016 г.

Передаем из JS массив объектов на сервер

Однажды, разрабатывая довольно и интересный проект столкнулся с необходимостью передать данные, собранные на клиенте, на сервер. Казалось бы, что может быть банальнее: записал , например переменную в куки, и на сервере обрабатывай. Но, аппетит заказчика был отменный. Проект развивался, бабки платились исправно, функционал наращивался. И в один прекрасный момент меня чуть не стошнило от мысли что каждый раз увеличивая количество переменных на сервер увеличиваются переменные в куки. Почитав документацию, решил сделать так:

например, есть некий массив в которую добавляются объекты.

//массив
var answerArr = [];
 answerArr.push({
  clickCount: clickCount,
  clickError: clickError,
  clickOk: clickOk,
  countOk:countOk,
  mode: mode
});
//добавляем в куки
setCookie('data76', JSON.stringify(answerArr));
//все
На сервере

//вот он, наш красавчик
$json = $_COOKIE['data76'];
//получили массив обьеектов
$arr = json_decode($json);



все

четверг, 31 марта 2016 г.

PHP: удалить все файлы из папки или очистить кеш

Чтобы удалить все файлы кеша из папки cache подойдет такая функция:

function del_cache(){ 
if (file_exists('cache/')){
    $count = 0;
          foreach (glob('cache/*') as $file){
     $count++;
              unlink($file);
    }
    echo 'папка cache очищена, удалено '.$count.' файлов';
 }

}

понедельник, 18 января 2016 г.

amoCRM - как автоматически добавить номер в название сделки.

Есть такой прикольный црм - www.amocrm.ru . Задача была такая: при добавлении новой сделки надо чтобы в название добавлялась или ID сделки или же иной  порядковый номер.
 В интернете нашел решение - оно платное. Платить за такой пустяк не  мой метод. И  я плавно окунулся в документацию. Признаюсь - документация  добротная и удобная. Примеры прилагаются, restAPI реализован грамотно.(мое мнение!).

Итак, начнем!
Переходим в настройки.
Нажимаем на API
Добавляем web Hooks ( читка : https://developers.amocrm.ru/rest_api/#webhooks )


4 - действие: При добавлении сделки!
5 - пункт. Сюда пишем

Теперь пишем код!

PHP - Запись массива в файл

Допустим, некий сервис передает  некие данные. И мы, разумеется, хотим посмотреть что это за данные. Ясень пень, надо бы записать эти данные куда либо, а лучше в файл. И назовем его log


$json = json_encode($_POST);
file_put_contents('log.txt',$json );


и все. В файле будет массив в виде JSON

Второй способ:
ob_start();
print_r($_POST);
$log = ob_get_content();
ob_clear();
file_put_contents('log.txt',$log );

понедельник, 21 декабря 2015 г.

Вывод отладочной информации на рабочем сайте

Работая на фрилансе, часто приходится браться за мелкие правки.  Обычно, такие правки делаю сразу же на продакшене.  Обычно для вывода отладочной информации пользуюсь такими методами в зависимости от вида CMS и  способа вывода информации.
Предположим, есть некий массив с данными. И нам надо вывести содержимое массива в браузер, чтобы тут же узреть его. Функция print_r( ) отлично подойдет для этого.

1. способ. Добавление $_GET параметра.
Суть в том чтобы добавить в адресную строку тестовый параметр, например test=1, и на стороне сервера проверять на существование этого переменного. И если оный существует выводить отладочную информацию.