Глобально доступная переменная для задания путей — Laravel 4

настраивая Laravel 4 и ища способ слишком сильно разобраться в базовом пути для локальной и живой разработки.

Мой веб-сайт в настоящее время работает на «www.project.com», а затем я захожу на сайт на локальном компьютере как «localhost: 8888 / project».

Для таких вещей, как CSS, пути к изображениям и т. Д. Я ищу способ иметь переменную для базовых путей, поэтому мне не нужно вручную менять пути и т. Д. При переключении на работающий хост.

В настоящее время я использую среду для своих настроек базы данных:

$env = $app->detectEnvironment(array(

'local' => array('MacBook.local'),
'production' => array('project.com'),

));

Могу ли я работать с чем-то похожим на это, чтобы все делалось автоматически?

Мои пути CSS в моем файле шаблона:

'/css/main.css'

А потом по местному:

‘/Project/public_html/css/main.css’

Разве есть способ узнать, что я пытаюсь сделать с помощью PHP?

Благодарю.

0

Решение

Вы можете использовать что-то вроде этого:

<!--Blade-->
<link href="{{ asset('css/main.css') }}" rel="stylesheet" />

<!--Non-Blade-->
<link href="<?php echo asset('css/main.css') ?>" rel="stylesheet" />

Это решит проблему. Проверить asset вспомогательная функция на документация.

1

Другие решения

Вы могли бы использовать App::environment() проверить текущую среду, а затем установить соответствующий базовый путь для всех активов, используя HTML база тег. Затем, когда вы захотите сослаться на ресурс, просто ссылайтесь на него относительно этого базового пути, а браузер сделает все остальное.

Таким образом, вы получите что-то вроде:

Производство:

<base href="http://www.project.com/">

Местный:

<base href="http://localhost:8888/project/public_html/">

Очевидно, что вы захотите использовать функции URL Laravel для создания этих URL, а не жестко их кодировать …

0

По вопросам рекламы [email protected]