Розділи

Участь у розвитку фреймворка


Участь у розвитку Phalcon

Phalcon - проект з відкритим вихідним кодом, який значною мірою залежить від зусиль добровольців та пожертв. Ми будемо вдячні за будь-яку допомогу у розвитку фреймворка!

Будь ласка, виділіть кілька хвилин, щоб переглянути цей документ, зрозуміти процес участі у розвитку і зробити його максимально ефективним для всіх. Дотримуючись цих інструкцій, ми можемо досягти швидшого розв’язання проблем, кращої комунікації, що дозволить усім нам отримати найкращий результат!

Вихідний код Phalcon (разом з документацією, веб-сайтами і т. д.) зберігається на GitHub. Ви можете переглядати наші репозиторії на організаційній сторінці.

Якщо ви бажаєте зробити внесок у Phalcon - можете зробити запит на вдосконалення функціоналу на GitHub.

Щоб допомогти вам створити запит на вдосконалення функціоналу і описати пропозицію, ми маємо зручний шаблон. Буде дуже важливим і корисним для спільноти, якщо до запиту ви додасте детальний опис способу відтворення проблеми чи реалізації пропозиції. Кожен запит буде розглянуто ключовими розробниками, (кимось, хто має право об’єднувати pull-запити). Виходячи з типу та змісту запиту, він може бути:

  • включений до плану розвитку фреймворка невідкладно
  • відкладений у чергу, якщо автор вимагає менш пріоритетних змін (оформлення, тести тощо)
  • відкладений, якщо потрібне широке обговорення (спільнота, ключові розробники тощо)
  • відхилений

ПРИМІТКА: Будь ласка переконайтеся, що цільова гілка, у якій ви залишаєте запит, - правильна, а ви актуалізували ваш код до останньої версії фреймворка. Запити на вдосконалення функціоналу до гілки master заборонені

Документація

Якщо програмування на Zephir може здатися страшним, то є багато інших сфер, де ви можете допомогти. Ви завжди можете перевірити документацію на предмет наявності будь-яких помилок. Ви також можете розширити документацію іншими прикладами на відповідних сторінках.

Все, що вам потрібно зробити, це перейти до нашого репозиторію документації, створити змінений дублікат його змісту та зробити запит на вдосконалення функціоналу (pull request).

ПРИМІТКА: Зверніть увагу на те, що зміни до репозиторію docs дозволено вносити лише до англомовних документів (папка en).

Переклади

Якщо ви бажаєте допомогти у розвитку Phalcon, перекладаючи наші документи своєю рідною мовою, ви можете скористатися відмінним сервісом наших друзів - Crowdin. Наш проект розташований тут. Якщо вашої мови немає в списку доступних для перекладу, надішліть нам повідомлення, щоб ми могли додати її.

Питання та підтримка

ПРИМІТКА: Ми приймаємо лише звіти про помилки, запити на вдосконалення функціоналу та запити на злиття на GitHub. Для обговорення тем, що стосуються використання фреймворку чи подання запитів щодо підтримки, будь ласка, відвідайте офіційний форум або наш сервер Discord.

Занесення помилок до контрольного списку

  • Переконайтеся, що ви використовуєте останню версію Phalcon перед створенням запиту на GitHub.
  • Будуть виправлятись помилки, знайдені лише в останній версії Phalcon.
  • Ми розробили зручний шаблон для створення запитів, що допоможе надати ключовим розробникам якомога більше інформації щодо відтворення та розв’язання проблеми. Можливість відтворити помилку значно скоротить час пошуку причини та її усунення. Скрипти навіть невдалих тестів будуть дуже корисні. Будь ласка, ознайомтесь з додатковою інформацією про те, як створити відтворювані тести.
  • До вашого звіту включіть, будь ласка, додаткову інформацію, таку як версія ОС, версія PHP, версія Phalcon, web-сервер, пам’ять тощо.
  • Якщо ви надсилаєте звіт про помилку Несправності сегментації, то нам знадобиться ще результат вашого зворотного трасування. Будь ласка, ознайомтесь із розділом про створення зворотного трасування для додаткової інформації.

Створення зворотного трасування

Іноді через помилку Segmentation Fault Phalcon може викликати збої деяких ваших процесів веб-сервера. Щоб допомогти нам знайти причину цієї сегментаційної помилки, нам знадобляться результати зворотного трасування проблемної ситуації.

Будь ласка, перегляньте наступні посилання з інструкціями щодо генерування зворотного трасування:

Контрольний список запитів на злиття

  • Запити на злиття в гілку master не приймаються. Будь ласка, створіть виправлену копію репозиторію та створіть свою гілку з необхідної гілки-джерела, наприклад 4.0.x і якщо потрібно перпбащуйте гілку перед тим, як надіслати запит на злиття. Якщо мають місце колізії, ми попросимо вас повторно перебазувати вашу гілку.
  • Додайте тести до вашого запиту на злиття або налаштуйте існуючі. Це дуже важливо, оскільки допомагає обґрунтувати ваш запит на злиття. Будь ласка, перегляньте нашу тестову сторінку, щоб дізнатися більше про те, як налаштувати тестове середовище і як написати тести.
  • Оскільки Phalcon пишеться на Zephir, будь ласка, не надсилайте коміти, що змінюють файли C безпосередньо
  • Phalcon слідує певному стилю кодування. Будь ласка, встановіть editorconfig плагін у вашому улюбленому IDE, щоб скористатися переванами наданого . ditorconfig файлу, який поставляється з репозиторію, а тому не потрібно хвилюватися за стандарти кодування. Всі тести (PHP код), слідують стандарту PSR-2
  • Видаліть будь-яку зміну файлів ext/kernel, *.zep.c та *.zep.h перед надсиланням запиту на злиття
  • Більше інформації тут.

Перед надсиланням запиту щодо нового функціоналу, будь ласка, відкрийте ЗНФ як нову проблему на GitHub, щоб обговорити наслідки додавання такого функціоналу або зміни в базовому розширенні. Як тільки новий функціонал буде погоджено, переконайтеся, що ваш PR містить таке:

  • Оновлення до CHANGELOG.md
  • Юніт-тести
  • Приклади використання або документація

Отримання допомоги

Якщо у вас виникло питання по використанню Phalcon, почитайте, будь ласка, сторінку підтримки.

Запити на новий функціонал

Якщо ви надумали поділитись думками щодо виправлень чи нового функціоналу, заповніть будь ласка ЗНФ.

Дякуємо!

<3 Команда Phalcon