RkBlog

Hardware, programming and astronomy tutorials and reviews.

Wiele projektów w jednym CI

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";
 }
W zależności od domeny wykorzystany zostanie inny projekt.
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

Kurs Code Igniter, 14 July 2008, Piotr Maliński

Comment article