Skeletor: Створення та налаштування проєктів

3
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Вам цікаво, як спростити налаштування ваших Laravel-додатків? У нашій статті ми розглядаємо Skeletor — потужний пакет, який дозволяє автоматизувати процес створення та налаштування проектів, економлячи ваш час і зусилля. Читайте далі, щоб дізнатися, як використання Skeletor може змінити вашу роботу!

Skeletor — це пакет для створення шаблонів, розроблений Джошем Мандерсом. Цей пакет дозволяє додавати нові функції до будь-якого проєкту, який ви можете налаштувати за допомогою composer create-project. Він чудово працює з Laravel, але не обмежується лише цими додатками.

Щоб встановити цей пакет, скористайтеся Composer:

composer install --dev aniftyco/skeletor

Після цього оновіть секцію scripts у файлі composer.json:

"post-create-project-cmd": [
    "NiftyCo\\Skeletor\\Runner::execute"
],

Створіть файл Skeletorfile.php у кореневій директорії вашого проєкту з наступним вмістом:

<?php
 
use NiftyCo\Skeletor\Skeletor;
 
return function (Skeletor $skeletor) {
    // Додайте команди, які ви хочете виконати у новому додатку.
};

Skeletor пропонує різні методи для збору введених даних, відображення інформації, виконання операцій з файлами та запуску команд, включаючи пошук і заміну в файлах. Ось кілька прикладів:

// Відображення повідомлень та сповіщень
$skeletor->intro('Ласкаво просимо до майстра налаштування програми!');
 
// Введення тексту за замовчуванням
$appName = $skeletor->text('Введіть назву вашої програми:', 'laravel_news');
 
// Заміна рядка у файлі
// наприклад, $skeletor->replaceInFile('search string', 'replace string', 'path/to/file.txt');
$skeletor->replaceInFile('APP_NAME=Laravel', 'APP_NAME=' . $appName, '.env');
 
// Підтвердження вибору користувача за замовчуванням
if ($skeletor->confirm('Чи хочете ви встановити AcmeUIKit?', true)) {
    // Виконання деяких завдань і відображення індикатора
    $skeletor->spin(
            message: 'Встановлення AcmeUIKit і залежностей',
            success: 'AcmeUIKit встановлено.',
            error: 'Не вдалося встановити AcmeUIKit та одна або більше залежностей.',
            callback: function () use ($skeletor) {
                    $skeletor->exec(['npm', 'install', '@acme/ui']);
            }
    );
}
 
$skeletor->outro('Налаштування вашої програми завершено!');

З цим налаштуванням ви можете опублікувати свій шаблон на Packagist. Після виконання composer create-project з шаблоном програми Skeletor, система автоматично підключиться до події post-create-project-cmd і виконає команди налаштування, визначені у файлі Skeletorfile.php.

Наприклад, Джош уже створив шаблон для Laravel, який відображає його власні уподобання при створенні нових додатків Laravel.

composer create-project starter/laravel my-new-app

Якщо вам потрібен більший контроль над налаштуванням вашого додатку, Skeletor спрощує процес кастомізації. Ви можете інтегрувати бібліотеки UI з макетом за замовчуванням, налаштувати Inertia з React або Vue.js, додати ваші облікові дані бази даних у файл .env або автоматизувати інші налаштування. Ці кроки можна прописати один раз і застосувати до кожного нового проєкту, що зекономить час і сили.

Щоб дізнатися більше про Skeletor, ви можете переглянути вихідний код і документацію на GitHub.

Популярні

Logomark Logotype

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!

Logomark Logotype

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

Logomark Logotype

Перетворення даних у типобезпечні DTO за допомогою пакету Data Model

Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю