2016-03-14 7 views
3

Мне нужно настроить два сайта, работающих с одной и той же кодовой базы в Laravel 4.2, я сделал это раньше, но на этот раз мне нужны несколько разные требования.Laravel Несколько сайтов

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

Мое другое требование состоит в том, что я хотел бы добавить новый PSR-маршрут для сайта 2, который может при необходимости переопределить классы с сайта 1. Поэтому я мог бы назвать пользователя класса, как показано ниже, сайт 1 будет вызывать первый класс, сайт 2 будет вызывать второй класс.

приложение/модели/user.php

приложение/модели/сайт-2/user.php

ответ

2

Ну, вы можете настроить оба домена использовать тот же каталог проекта Laravel, а затем вы можете создать middleware которые проверяют бы для текущего доменного имени:

$currentDomain = $_SERVER['SERVER_NAME']; 

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

+0

Я не думаю, что это отличное решение, в котором будут задействованы многие утверждения if else, когда то, что я действительно хочу, является решением, которое добавляет маршрут PSR для одного сайта, поэтому он использует все классы с другого сайта, если только есть класс, который переопределяет функциональность. –

+0

Вы можете добавить проверку домена в файлы автозагрузки и автоматически загружать только те классы, которые вы хотите, но я не думаю, что это хорошая идея, чтобы вручную обрабатывать автозагрузку (зачем использовать Framework тогда?). Если вы используете одну и ту же установку Laravel для двух веб-сайтов, 90% -99% ваших классов (включая вендоров) будут одинаковыми. Здесь вы не получите никакого значительного выигрыша. –