Praca w kilku środowiskach - cz. II

W odpowiedzi na mój wpis Praca w kilku środowiskach Marcin Sztolcman zaproponował inne rozwiązanie (trackback już włączony - kilka pierwszych wpisów miało wyłączony), oparte na analizie zmiennej $_SERVER['HTTP_HOST']. Niestety, takie rozwiązanie “gryzie” się z inną sztuczką którą stosuję.

Nie zawsze jest możliwość takiego napisania strony/skryptu/czegokolwiek, aby można było parametryzować URL lub stosować URL względny. Warto także czasem sprawdzić, jak będą się zachowywały skrypty po zmianie domeny. Do tego właśnie wykorzystuję plik hosts. Wpisuję do niego 127.0.0.1 www.netcoffee.pl, przeładowuję Apache, uruchamiam ponownie przeglądarkę i już strona ładuje się z testowego serwera. Oczywiście dzięki skryptom całe przełączenie środowiska odbywa się dosyć szybko.

Dlatego właśnie nie mógłbym polegać na metodzie Marcina - od dawna nie pracuję na localhoscie - do testowych projektów zawsze odwołuję się przez nazwę domenową, podobną lub identyczną z domeną serwera, na którym działa projekt.

4 odpowiedzi to “Praca w kilku środowiskach - cz. II”

  1. MySZ Says:

    Miałem nadzieję, że siłowe potraktowanie zwróci Twoją uwagę ;)

    To oczywiście też można obejść (tzn. zmiany w hosts) dodając dodatkowy parametr w wywołaniu strony etc - ale jest to zawsze w którąś stronę mniej wygodne.

    Tak czy inaczej nie stosuje tego, bo mi wystarczy że widzę jak się sprawuje na localhost, a później na zupełnie innej domenie, na innej konfiguracji (czyli docelowym serwerze). I tak mi po prostu wygodniej ;)

  2. Jarosław Mężyk Says:

    Bezsprzeczne jest, że to o czym piszemy jest bardzo wygodne, obojętnie czyją metodą to zrobimy. Po przekroczeniu pewnej granicy użyteczności, wszystko staje się już tylko kwestią przyzwyczajeń i preferencji programisty.

    I to właśnie w tym zawodzie jest piękne - nie ma jednej, jedynie słusznej metody działania. Możesz zrobić coś na wiele sposobów - tak jak Ci wygodniej.

  3. Maciej Łebkowski Says:

    Skoro u Ciebie różnicą nie jest host tylko IP, to czemu nie $_SERVER[’REMOTE_ADDR’] ?

  4. Jarosław Mężyk Says:

    Oczywiście, można i w ten sposób.
    Czasem jednak w pracy, koledzy oglądają strony jeszcze na serwerze testowym (sieć lokalna, też mają zmodyfikowany plik hosts a na serwer testowy wskazuje nieistniejąca domena). Gdybym brał pod uwagę $_SERVER[’REMOTE_ADDR’], musiałbym przeanalizować kilka wariantów.

    Takie rozwiązanie raczej nie byłoby odporne na zmiany. I zrobiłoby się zbyt skomplikowane. Teraz jest tak, że w pliku konfiguracyjnym na serwerze testowym dodałem define(’__THIS_DEVELOP_MODE’, true); i mam spokój. Sam plik konfiguracyjny uaktualniany jest bardzo rzadko, więc nie ma problemu.

Nie zostawiaj tak tego! Dodaj komentarz!


statystyki