Wiele projektów w jednym CI
14 July 2008
Comments
Code Igniter umożliwia name tworzenie wielu niezależnych projektów z wykorzystaniem jednej kopii plików frameworka. W pliku index.php prawie zaraz na początku znajdziemy:
$application_folder = "";
Zmienna ta określa folder projektu. Domyślnie nie ma ona wartości a katalog projektu to system/application. Gdy podamy określoną wartość np. "test" to nowym katalogiem projektu będzie system/application/test, który musi zawierać taką samą strukturę i pliki konfiguracyjne jak startowy szkielet projektu (kopiujemy zawartość system/application do katalogów i gotowe)Automatyczna zmiana projektu w zależności od domeny
Gdy mamy do dyspozycji domenę i możemy np. tworzyć subdomeny to możemy zastosować prostą "sztuczkę" z automatyczną zmianą projektu w zależności od domeny/subdomeny, na którą wchodzimy. Zmienna $_SERVER['HTTP_HOST'] zawiera nazwę naszej domeny. Łącząc ją z instrukcją IF lub SWITH można osiągnąć zamierzoną zmianę projektu:<?php
IF($_SERVER['HTTP_HOST'] == 'www.strona.pl')
{
$application_folder = "strona";
}
elseIF($_SERVER['HTTP_HOST'] == 'www.podserwis.strona.pl')
{
$application_folder = "poserwis";
}
else
{
$application_folder = "domyslny";
}
NOTKA: aliasy typu prv.pl to nie domeny i nie można ich wykorzystać w ten sposób, tak samo przekierowania (HTMLowe, header location i inne) też nie pozwolą na takie zastosowanie. Muszą to być domeny/subdomeny skierowane w to samo miejsce (najczęściej główny katalog konta). Lub też serwer musi mieć ustawiony wildcardy (tj. www.COKOLWIEK.mojadomena.pl zawsze skieruje na główny katalog konta bez przekierowań).
RkBlog
Comment article