• Как вывести на PHP график работы, начиная с 1 числа?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    <?php
    $date = date('Y-m-01');
    $next_month = date('Y-m-d', strtotime('+1 month', strtotime($date)));
    
    function nextWorkDay($date) {
    	$day_of_week = date('N', strtotime($date));
    	
    	if ($day_of_week>5) {
    		//echo "Weekend: " . $date;
    		$shift = 8-$day_of_week;
    		return date('Y-m-d', strtotime("+{$shift} day", strtotime($date)));
    	} else {
    		echo "Work day ($day_of_week):" . $date . PHP_EOL;
    		return date('Y-m-d', strtotime('+3 day', strtotime($date)));
    	}
    }
    
    while ($date < $next_month) {
    	$date = nextWorkDay($date);
    }


    php code online
    Ответ написан
    3 комментария
  • Как грамотно разворачивать разработку на Битрикс на локалке?

    @mrvinil
    Разворачиваешь виртуальку (VMware, VMbox, Hiper-V) выбирай какая больше нравится. Я использовал Hiper-V. И там уже разворачиваешь проекты. Работаю в PHPstorm. Штормом подключаешь к локальному серваку и к удаленному (к проектам) + разворачиваешь реп на гитхабе.
    Когда работаешь один можешь следовать такой схеме:
    1) Пишешь код, видишь свой результат на локальном проекте.
    2) Фиксируешь все в гите.
    3) Если все ок деплоишь сразу на удаленный сервак

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

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

    Ну еще нужны настройки для .gitignore чтобы лишний хлам не летел в гит. Есть целые наборы, погугли.
    Для синхрона БД есть модуль для битрикса, погугли.

    В общем когда начнешь работать составляй свой план работы, как тебе удобно. Ну и записывай) У меня где есть записан весь план но я уже и так все на автомате делаю поэтому скорее всего тут сумбурно все написал.
    Ответ написан
    Комментировать
  • Установка XAMPP или LAMP на Ubuntu 22.04?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    lamp

    apt update
    apt upgrade
    apt install apache2
    apt install php
    apt install mysql-server
    Ответ написан
  • Как грамотно разворачивать разработку на Битрикс на локалке?

    BXVoral
    @BXVoral
    Веб-разработка
    Да именно так. Если предположить, теоретически, что вы сделали что все работает с одними и теми же файлами битркис (извратится можно попробовать, но проблем это доставит точно: разные версии, необходимость подкидывать отдельные конфиги, различные модули.....) то все равно из 15 гигов. битрикс занимает не 90% же. Т.е. большая часть из этих 15 это файлы конкретного проекта.

    Кроме того, я например, на некоторых проектах ядро так же помещаю в git репозиторий (но отдельный от файлов проекта). Т.е. тоже за счет необходимости соблюдения версий и уникального набора модулей для каждого проекта - не объединить с другими проектами

    На практике вы реально планируете работать одновременно с 20 проектами? Если вам так важно место и не хочется докупить диски - бекапте те проекты, с которыми не работаете.

    В общем лично я привык так же работать локально, это удобно. Единственное, что в вашей схеме смущает это Windows. Мне кажется намучаетесь. Как то клиенту, нужно было на ноутбуке проект развернуть (он хотел устроить демонстрацию на каком то совещании) - после долгого времени мучений плюнул и развернул виртуальную машину с линуксоом.

    Так же могу дать пару советов. У меня есть проекты где они требуют и 50 гигов на один :)
    1 Написал скрипт, который чистит базу, в моем случае я заложил логику "в каждом разделе оставлять не более 30 товаров"

    2. Не реализовывал, но вынашивал как то идею - вместо всех картинок товаров подсовывать за счет редиректа заглушки - а сами картинки удалить из каталога upload
    Ответ написан
    2 комментария
  • Как вывести элементы инфоблока с определенным значением свойства?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    Параметр FIILTER_NAME https://dev.1c-bitrix.ru/user_help/components/cont...

    Перед подключением компонента нужно объявить глобальную переменную. В ней задать массив с фильтром в формате используемом в CIblockElement::GetList https://dev.1c-bitrix.ru/api_help/iblock/classes/c...

    После этого имя этой переменной нужно передать в параметры компонента
    Ответ написан
    9 комментариев