Niektóre wskazówki:
Rozróżnianie wielkości liter w systemie plików
Jeśli plik nazywa się HelloWorld.php to:
include "helloworld.php";
jest legalny w systemie Windows i będzie działać. Ale nazwy plików Linux jest wielkość liter, można mieć pliki o nazwie HelloWorld.php
, helloworld.php
, hEllOwOrlD.php
w tym samym katalogu. Powinieneś więc rozwijać się w systemie Windows, tak jakbyś tworzył system plików z rozróżnianiem wielkości liter: użyj dokładnie poprawnych nazw plików, nazw katalogów, nazw rozszerzeń - .php
również różni się od .PHP
.
Separatory katalogów i ścieżek
W systemie Windows mówimy:
include 'classes\myClass.php';
Ale w Linuksie powiedzielibyśmy:
include 'classes/myClass.php';
PHP jest wystarczająco inteligentny, aby się tym nie przejmować, oba separatory działają w obu systemach. Ale powinieneś być konsekwentny i stosować wszędzie slash (/), ponieważ jest to również normą w większości systemów. Istnieje sprytnie zdefiniowana stała, DIRECTORY_SEPARATOR
która przekłada się na poprawną, jeśli chcesz posunąć się tak daleko:
include "classes" . DIRECTORY_SEPARATOR . "myClass.php";
To samo dotyczy separatora ścieżek, który w systemie Windows ma średnik, w przeciwnym razie dwukropek. Aby być bezpiecznym, powinieneś:
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
gdy potrzebujesz separatora ścieżek. Chociaż większość ludzi myśli, że ponieważ PHP nie ma nic przeciwko temu, którego separatora używasz, jest w porządku, ale jest jeden ważny haczyk: Separatory będą specyficzne dla systemu, gdy poprosisz system o katalogi lub ścieżki. Powiedzmy, że chcesz rozbić ścieżkę dołączania na jej części:
$includePath = get_include_path();
$pathParts = explode(";", $includePath) // Will only work on Windows
$pathParts = explode(":", $includePath) // Will work on other systems but not Windows
$pathParts = explode(PATH_SEPARATOR, $includePath) // Will work everywhere!!!
Kodowanie plików i ogranicznik
Powinieneś ustawić swoje IDE, aby ustawiało kodowanie plików dla wszystkich twoich skryptów na UTF-8 zamiast Cp *, a separator linii plików na Unix ( "\n"
zamiast "\r\n"
). W większości przypadków nie ma to większego znaczenia, ale powinieneś być konsekwentny, a najlepszym sposobem jest sposób uniksowy (który działa dobrze w systemie Windows, ale nie odwrotnie).