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.
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!
Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше
Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю