PhpStorm - основной редактор кода. Можно скачать с официального сайта по ссылке PhpStorm
WinSCP, FileZilla - FTP-клиенты
Bitrix24 - основное средство связи между сотрудниками
Яндекс.Диск - приложение для быстрого обмена скриншотами и другми материалами
Полезные плагины для PhpStorm:
*Буду заполнять по мере ознакомления
Полезные плагины для google chrome:
Генератор QR-кода - помогает быстро открыть ссылку с телефона
FireShot - помогает сделать скриншот страницы с прокруткой
Eye Dropper - помогает определить цвет
PerfectPixel - помогает накладывать макеты на страницу
Полезные ссылки:
CSS Minifier - помогает минифицировать ccs-файлы. Не допускает ошибку при использовании функции calc(100% + 30px)
Все данные проекта должны храниться в папке /local/
В папке /local/ могут находиться следующие подпапки:
1. /local/ajax/ - содержит php-файлы, к которым обращаются общие скрипы при ajax-запросах.
Если файл относится к конкретному компоненту, он должен лежать в папке /local/components/название нашего компонента/ajax/ (для собственных компонентов)
Если файл относится к конкретному компоненту и является стандартным, то файл должен лежать в папке /local/templates/название шаблона/components/bitrix/название компонента/название шаблона/ajax/
2. /local/components/ - содержит наши компоненты
3. /local/modules/ - содержит наши модули
4. /local/templates/ - содержит шаблоны сайта
5. /local/include/ - содержит файлы включаемых областей
6. /local/php_interface/ - содержит init файл для подключения обработчиков событий, дополнительных функций. Также может содержать php-библиотеки подключемые к проекту
/local/templates/
Для названия шаблона-сайта используем логичные названия. Название шаблона пишем с маленькой буквы, название может содержать не более 2-х слов, вместо пробела используем нижнее подчеркивание. Пример:
reds или reds_clients
Неправильный вариант названия
Reds или reds_1
в шаблоне .default - хранятся компоненты, используемые шаблонами писем
1. ../css/ - содержит стили шаблона
2. ../css/lib/ - содержит библиотеки стилей
3. ../js/ - содержит js-файлы шаблона
4. ../js/lib/ - содержит js библиотеки
5. ../fonts/ - содержит шрифты
6. ../images/ - содержит картинки проекта
7. ../components/ - содержит компоненты шаблона
Основные файлы ccs и js ДО сдачи проекта:
1. ../template_styles.css - общий файл стилей проекта. (Точная копия файла верстальщика из папки /frontend/). Изменяется только верстальщиком
2. ../development.css - файл стилей, который подключается вторым после template_styles.css, туда разработчики вносят свои изменения, которые были нужны при внедрении
3. ../script.js - общий файл js-кода проекта
Основные файлы ccs и js ПОСЛЕ сдачи проекта:
1. ../template_styles.css - общий файл стилей проекта. После сдачи проекта должен содержать все стили проекта, кроме библиотек. Сам файл должен быть минифицированн
2. ../styles_lib.css - общий файл библиотек стилей проекта. После сдачи проекта должен содержать все библиотеки стилей проекта. Сам файл должен быть минифицированн
3. ../script.js - общий файл js-кода проекта. После сдачи проекта должен содержать весь js-код проекта, кроме библиотек. Сам файл должен быть минифицированн
4. ../script_lib.js - общий файл библиотек js-кода проекта. После сдачи проекта должен содержать все js-библиотеки проекта. Сам файл должен быть минифицированн
/local/php_interface/
1. ../init.php - содержит только подключение файлов. Не засоряем его. Примерное содержание файла:
// Functions
if (file_exists($_SERVER["DOCUMENT_ROOT"]."/local/php_interface/include/functions.php")) {
require_once($_SERVER["DOCUMENT_ROOT"]."/local/php_interface/include/functions.php");
}
// Iblock constants
if (file_exists($_SERVER["DOCUMENT_ROOT"]."/local/php_interface/include/iblock.php")) {
require_once($_SERVER["DOCUMENT_ROOT"]."/local/php_interface/include/iblock.php");
}
// Handlers
if (file_exists($_SERVER["DOCUMENT_ROOT"]."/local/php_interface/include/handles.php")) {
require_once($_SERVER["DOCUMENT_ROOT"]."/local/php_interface/include/handles.php");
}
2. ../include/agents.php - содержит функции-агенты
3. ../include/page.php - содержит функции и события, которые отвечают за параметры canonical, noindex и все остальные моменты, связанные с ссылками и метатегами (сейчас он называется canonical.php, предлагаю переименовать)
4. ../include/constants.php - содержит константы проекта
5. ../include/functions.php - содержит функции проекта
6. ../include/handlers.php - содержит функции-события
7. ../include/lib/ - содержит php-библиотеки проекта
1. /frontend/ - папка содержит статичную верстку проекта. Изменяется только верстальщиком
страница /frontend/index.php - должна сожержать ссылки на все страницы папки
После окончания работ, верстка из этой папки должна быть скопировать в архив.
2. Разработка - при работе с боевым сайтом клиента, сортудник может создать свою папку для тестирования работ. Папка должна называться фамилией разработчика или первыми тремясимволами от имени и фамилии.
Папка должна быть скрыта от индексации, а после окончания работ удалена.
3. Мусор - если мы разработали новый шаблон компонента или сайта, старый архивируем и удаляем из проекта. Не оставляем не нужный хлам
*нужно придумать метод архивации и хранения
4. Алгоритмы - чем проще, тем лучше. Избегаем сложных алгоритмов и множества мусорных переменных. Алгоритм должен быть написан так, что бы любой другой программист смотря только на комментарии мог понять, что в нем происходит.
5. Комментарии - простые, четкие комментарии. Комментируем циклы, переменные, выборки из бд