Pomagałem ostatnio koledze w przepisaniu i uproszczeniu pewnego skryptu w języku PHP. Pomijam jakość samego kodu, która, mówiąc kolokwialnie, nie była zbyt wysoka. Wszystkie pliki które były w trakcie jego działania wstawiane przez różne wywołania funkcji:

js/^(include|require)(_once){0,1}\(\);$/

[include(), require(), include_once() i require_once(), taki mały żarcik ;]] miały rozszerzenie “.inc”, w związku z czym DreamWeaver, którego używaliśmy do edycji kodu, wyświetlał nam jedynie czarny tekst, który był mało czytelny. Jako, że zawsze staram się robić wszystko porządnie, od razu poszukałem rozwiązania problemu, ponieważ praca z nieczytelnym kodem to jedynie strata czasu, a jak wiadomo, czas to pieniądz, nawet, jeśli się pracuje za darmo. ;]

Rozwiązanie jest dosyć proste, ponieważ należy tylko skonfigurować program tak, aby w taki sam sposób traktował pliki o rozszerzeniach innych niż standardowe jak te, które już są zarejestrowane. Plik, w którym zawarte są ustawienia DreamWeavera dotyczące obsługiwanych formatów znajduje się w katalogu [%DREAMWEAVER_PATH% to ścieżka do katalogu, w którym jest on zainstalowany]:

php[%DREAMWEAVER_PATH%]Configuration\DocumentTypes\MMDocumentTypes.xml

W tym wypadku chciałem, aby plik “.inc” był obsługiwany w taki sam sposób jak pliki “.php*“, wobec czego należało odnaleźć następujący blok kodu:

xml<documenttype id="PHP_MySQL" servermodel="PHP MySQL" internaltype="Dynamic" winfileextension="php,php3,php4,php5" macfileextension="php,php3,php4,php5" file="Default.php" writebyteordermark="false"> <TITLE> <MMString:loadString id="mmdocumenttypes_14" /> </TITLE> <description> <MMString:loadString id="mmdocumenttypes_15" /> </description> <dtdcontext>html</dtdcontext> </documenttype>

Znaczenie większości atrybutów elementu “documenttype” jest jasne, w moim przypadku potrzebna była zmiana wartości atrybutu “winfileextension” i dopisanie “,inc” na końcu. Po zapisaniu zmian wyglądało to nastepująco:

xmlwinfileextension="php,php3,php4,php5,inc"

Po restarcie programu pliki “.inc” wyświetlały się tak samo jak te z rozszerzeniem php, tak więc cel został pomyślnie osiągnięty i można było kontynuować pracę.