В ідеальному світі всі наші проєкти, сайти для розробників, системи для клієнтів та інші Laravel-додатки завжди були б оновлені: на Laravel 12, PHP 8.4 та з останніми версіями всіх улюблених пакетів. Кожен додаток працював би бездоганно, зовнішні ETL-процеси надавали б правильні дані, а ми ніколи не забували б налаштувати змінні в нашому файлі .env
На жаль, у більшості з нас таких можливостей немає
Fire Tower пропонує простий у використанні пакет для Laravel, який інтегрується у ваш додаток і моніторить важливу інформацію за допомогою наших розширених перевірок та версій. За замовчуванням Fire Tower перевіряє, чи ви використовуєте останню версію Laravel та PHP, підтверджує, що режим налагодження вимкнено в Production, а також зауважує, якщо ви забули налаштувати конфігурацію Mail для електронних листів скидання пароля
Але це ще не все. Fire Tower дозволяє вам створювати власні унікальні перевірки. Чи потребує ваш додаток перевірки, чи знаходиться певний об'єкт у заданому діапазоні? Чи потрібно перевірити, що в колонці існує певна кількість рядків? Чи необхідно перевірити найновішу дату created_at
у таблиці, щоб впевнитися, що ваш ETL-процес був виконаний? Усі ці перевірки можна легко створити й використовувати з Fire Tower
Якщо ви такі, як і я, то маєте безліч маленьких додатків, які ви створили для різних завдань, і вони не завжди отримують належну увагу. Безумовно, останній з них працює на Laravel 11, але що щодо того, що ви створили кілька років тому? Чи оновили ви його до 10?
А можливо, ви також маєте кілька Statamic-сайтів або кастомних додатків, створених для клієнтів, які можуть відставати в оновленнях?
Fire Tower дозволяє швидко бачити, яку конкретну версію пакету Composer використовують ваші додатки. Легко дізнайтеся, які з них потребують підтримки, і працюйте над їх оновленням
Кілька років тому я допомагав розробляти пакет Laravel, який на 99% був додатком Laravel. Його розгортали переважно як пакет, щоб спростити оновлення та надати деяку гнучкість для окремих додатків. Протягом кількох років ми зрозуміли, що оновлення попередніх клієнтів до нових версій стало проблемою. Ми намагалися вести таблиці та інші способи, щоб тримати все під контролем
Продукт, подібний до Fire Tower, заощадив би нам багато часу та зусиль. Щоб вибрати конкретні пакети для відображення на панелі, просто перейдіть на сторінку налаштувань команди та оберіть потрібні пакети
Fire Tower пропонує два тарифних плани: один для користувачів, які контролюють лише кілька додатків, та один для просунутих користувачів або агентств, що мають більше п'яти додатків. Професійний план також забезпечує розширений інтерфейс для управління додатками з кількома серверами
Отримайте 20% знижки на перший місяць, використавши код купону LARAVELNEWS
. Цей купон дійсний до опівночі 25 лютого 2025 року
Щоб розпочати, зареєструйтесь на Fire Tower та встановіть пакет Fire Tower у вашому додатку:
composer require krakero/firetower
Наступний крок – запустити інсталятор:
php artisan firetower:install
Інсталятор опублікує потрібний сервіс-провайдер і конфігураційний файл
Далі, ми створюємо додаток та вводимо ключі нашого акаунту та додатка у файл .env
.
FIRETOWER_ACCOUNT_KEY="laravel-news-4ee4-838a-250aa0fb17f0"
FIRETOWER_APPLICATION_KEY="fire-tower-4181-936f-6f0f3f754ca3"
Коли все налаштовано, ви готові надіслати свій звіт:
php artisan firetower:report
Рекомендуємо запланувати виконання команди раз на тиждень. Докладніше про налаштування читайте в документації
Ми маємо команду artisan для створення перевірки:
php artisan make:firetower-check
Вона запитає вас про ім'я, а потім згенерує наступний файл:
<?php
namespace App\Checks;
use Krakero\FireTower\Checks\Check;
class EnsureNightlyDataLoadCheck extends Check
{
public string $name = 'Моя нова перевірка';
public string $description = 'Ця перевірка важливих даних';
public function handle(): string
{
$this->pass();
// Зауважте: Ці дані зберігаються на серверах Fire Tower.
// БУДЬ ЛАСКА, НЕ НАДСИЛАЙТЕ ЖОДНИХ ЧУТЛИВИХ ДАНИХ.
$this->data([
'my_variable' => 8675309
]);
return 'Успішно';
}
}
Ми внесемо деякі швидкі зміни в нашу стандартну перевірку, щоб надіслати відповідні дані:
<?php
namespace App\Checks;
use Krakero\FireTower\Checks\Check;
use App\Models\Order;
class EnsureNightlyDataLoadCheck extends Check
{
public string $name = 'Перевірка нічного ETL';
public string $description = 'Перевіряє, що останні денні значення попродукції потрапили в додаток.';
public function handle(): string
{
$order = Order::latest()->get();
if ($order->created_at > now()->subDay()) {
$this->pass();
$this->data([
'newest_order_date' => $order->created_at
]);
return 'ПРОЙДЕНО';
} else {
$this->fail();
return 'НЕПРОЙДЕНО';
}
}
}
Тепер нам потрібно додати нашу перевірку до файлу FireTowerServiceProvider.php
:
<?php
namespace App\Providers;
use App\Checks\EnsureNightlyDataLoadCheck;
//...
class FireTowerServiceProvider extends ServiceProvider
{
public function boot()
{
FireTower::checks(function () {
return [
DebugModeInProductionCheck::check(),
LaravelVersionCheck::check(),
PhpVersionCheck::check(),
//MailConfigInProductionCheck::check(),
//StripeKeyCheck::check()
EnsureNightlyDataLoadCheck::check(),
];
});
}
}
Щоб дізнатися більше:
``````htmlВ ідеальному світі всі наші проєкти, сайти для розробників, системи для клієнтів та інші Laravel-додатки завжди були б оновлені: на Laravel 12, PHP 8.4 та з останніми версіями всіх улюблених пакетів. Кожен додаток працював би бездоганно, зовнішні ETL-процеси надавали б правильні дані, а ми ніколи не забували б налаштувати змінні в нашому файлі .env
На жаль, у більшості з нас таких можливостей немає
Fire Tower пропонує простий у використанні пакет для Laravel, який інтегрується у ваш додаток і моніторить важливу інформацію за допомогою наших розширених перевірок та версій. За замовчуванням Fire Tower перевіряє, чи ви використовуєте останню версію Laravel та PHP, підтверджує, що режим налагодження вимкнено в Production, а також зауважує, якщо ви забули налаштувати конфігурацію Mail для електронних листів скидання пароля
Але це ще не все. Fire Tower дозволяє вам створювати власні унікальні перевірки. Чи потребує ваш додаток перевірки, чи знаходиться певний об'єкт у заданому діапазоні? Чи потрібно перевірити, що в колонці існує певна кількість рядків? Чи необхідно перевірити найновішу дату created_at
у таблиці, щоб впевнитися, що ваш ETL-процес був виконаний? Усі ці перевірки можна легко створити й використовувати з Fire Tower
Якщо ви такі, як і я, то маєте безліч маленьких додатків, які ви створили для різних завдань, і вони не завжди отримують належну увагу. Безумовно, останній з них працює на Laravel 11, але що щодо того, що ви створили кілька років тому? Чи оновили ви його до 10?
А можливо, ви також маєте кілька Statamic-сайтів або кастомних додатків, створених для клієнтів, які можуть відставати в оновленнях?
Fire Tower дозволяє швидко бачити, яку конкретну версію пакету Composer використовують ваші додатки. Легко дізнайтеся, які з них потребують підтримки, і працюйте над їх оновленням
Кілька років тому я допомагав розробляти пакет Laravel, який на 99% був додатком Laravel. Його розгортали переважно як пакет, щоб спростити оновлення та надати деяку гнучкість для окремих додатків. Протягом кількох років ми зрозуміли, що оновлення попередніх клієнтів до нових версій стало проблемою. Ми намагалися вести таблиці та інші способи, щоб тримати все під контролем
Продукт, подібний до Fire Tower, заощадив би нам багато часу та зусиль. Щоб вибрати конкретні пакети для відображення на панелі, просто перейдіть на сторінку налаштувань команди та оберіть потрібні пакети
Fire Tower пропонує два тарифних плани: один для користувачів, які контролюють лише кілька додатків, та один для просунутих користувачів або агентств, що мають більше п'яти додатків. Професійний план також забезпечує розширений інтерфейс для управління додатками з кількома серверами
Отримайте 20% знижки на перший місяць, використавши код купону LARAVELNEWS
. Цей купон дійсний до опівночі 25 лютого 2025 року
Щоб розпочати, зареєструйтесь на Fire Tower та встановіть пакет Fire Tower у вашому додатку:
composer require krakero/firetower
Наступний крок – запустити інсталятор:
php artisan firetower:install
Інсталятор опублікує потрібний сервіс-провайдер і конфігураційний файл
Далі, ми створюємо додаток та вводимо ключі нашого акаунту та додатка у файл .env
.
FIRETOWER_ACCOUNT_KEY="laravel-news-4ee4-838a-250aa0fb17f0"
FIRETOWER_APPLICATION_KEY="fire-tower-4181-936f-6f0f3f754ca3"
Коли все налаштовано, ви готові надіслати свій звіт:
php artisan firetower:report
Рекомендуємо запланувати виконання команди раз на тиждень. Докладніше про налаштування читайте в документації
Ми маємо команду artisan для створення перевірки:
php artisan make:firetower-check
Вона запитає вас про ім'я, а потім згенерує наступний файл:
<?php
namespace App\Checks;
use Krakero\FireTower\Checks\Check;
class EnsureNightlyDataLoadCheck extends Check
{
public string $name = 'Моя нова перевірка';
public string $description = 'Ця перевірка важливих даних';
public function handle(): string
{
$this->pass();
// Зауважте: Ці дані зберігаються на серверах Fire Tower.
// БУДЬ ЛАСКА, НЕ НАДСИЛАЙТЕ ЖОДНИХ ЧУТЛИВИХ ДАНИХ.
$this->data([
'my_variable' => 8675309
]);
return 'Успішно';
}
}
Ми внесемо деякі швидкі зміни в нашу стандартну перевірку, щоб надіслати відповідні дані:
<?php
namespace App\Checks;
use Krakero\FireTower\Checks\Check;
use App\Models\Order;
class EnsureNightlyDataLoadCheck extends Check
{
public string $name = 'Перевірка нічного ETL';
public string $description = 'Перевіряє, що останні денні значення попродукції потрапили в додаток.';
public function handle(): string
{
$order = Order::latest()->get();
if ($order->created_at > now()->subDay()) {
$this->pass();
$this->data([
'newest_order_date' => $order->created_at
]);
return 'ПРОЙДЕНО';
} else {
$this->fail();
return 'НЕПРОЙДЕНО';
}
}
}
Тепер нам потрібно додати нашу перевірку до файлу FireTowerServiceProvider.php
:
<?php
namespace App\Providers;
use App\Checks\EnsureNightlyDataLoadCheck;
//...
class FireTowerServiceProvider extends ServiceProvider
{
public function boot()
{
FireTower::checks(function () {
return [
DebugModeInProductionCheck::check(),
LaravelVersionCheck::check(),
PhpVersionCheck::check(),
//MailConfigInProductionCheck::check(),
//StripeKeyCheck::check()
EnsureNightlyDataLoadCheck::check(),
];
});
}
}
Щоб дізнатися більше:
```