Директива production
Директива production в Blade-шаблонах Laravel
позволяет выполнять условный вывод контента только в том
случае, когда приложение работает в production-окружении.
Она является удобной альтернативой использованию директивы
env с проверкой на 'production'. Директива не
принимает никаких параметров и используется совместно с
директивами else и endenv.
Синтаксис
@production
{{-- Контент для production --}}
@else
{{-- Контент для других окружений --}}
@endenv
Пример
Давайте выведем разные сообщения в зависимости от текущего окружения:
@production
<h1>Добро пожаловать на наш сайт!</h1>
@else
<h1>Тестовая версия сайта</h1>
@endenv
Результат выполнения кода в production-окружении:
<h1>Добро пожаловать на наш сайт!</h1>
Пример
Давайте используем директиву для скрытия отладочной информации на production-сервере:
<header>
<h1>Мой сайт</h1>
</header>
<main>
@yield('content')
</main>
@production
<footer>
<p>© 2024 Все права защищены</p>
</footer>
@else
<footer>
<p>Отладочная информация: время выполнения
{{ microtime(true) - LARAVEL_START }} сек.</p>
</footer>
@endenv
Результат выполнения кода в production-окружении:
<header>
<h1>Мой сайт</h1>
</header>
<main>
<!-- Контент страницы -->
</main>
<footer>
<p>© 2024 Все права защищены</p>
</footer>
Пример
Давайте используем директиву для подключения разных скриптов аналитики в зависимости от окружения:
<!DOCTYPE html>
<html>
<head>
<title>{% yield('title') %}</title>
</head>
<body>
@yield('content')
@production
<script src="https://analytics.example.com/script.js"></script>
@else
<script>
console.log('Скрипты аналитики отключены в тестовом окружении');
</script>
@endenv
</body>
</html>
Результат выполнения кода в production-окружении:
<!DOCTYPE html>
<html>
<head>
<title>Мой сайт</title>
</head>
<body>
<!-- Контент страницы -->
<script src="https://analytics.example.com/script.js"></script>
</body>
</html>