настраивая 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?
Благодарю.
Вы можете использовать что-то вроде этого:
<!--Blade-->
<link href="{{ asset('css/main.css') }}" rel="stylesheet" />
<!--Non-Blade-->
<link href="<?php echo asset('css/main.css') ?>" rel="stylesheet" />
Это решит проблему. Проверить asset
вспомогательная функция на документация.
Вы могли бы использовать App::environment()
проверить текущую среду, а затем установить соответствующий базовый путь для всех активов, используя HTML база тег. Затем, когда вы захотите сослаться на ресурс, просто ссылайтесь на него относительно этого базового пути, а браузер сделает все остальное.
Таким образом, вы получите что-то вроде:
Производство:
<base href="http://www.project.com/">
Местный:
<base href="http://localhost:8888/project/public_html/">
Очевидно, что вы захотите использовать функции URL Laravel для создания этих URL, а не жестко их кодировать …