Bazı işaretçiler:
Dosya sistemi büyük / küçük harfe duyarlılık
Dosyanıza HelloWorld.php adı verilirse:
include "helloworld.php";
Windows'da yasaldır ve çalışacaktır. Ama Linux dosya adları aradığınız dosyaları olabilir, küçük harf duyarlıdır HelloWorld.php
, helloworld.php
, hEllOwOrlD.php
aynı dizinde. Bu nedenle, Windows'ta büyük / küçük harfe duyarlı bir dosya sisteminde geliştiriyormuş gibi geliştirmelisiniz: tam olarak doğru dosya adlarını, dizin adlarını, uzantı adlarını kullanın - .php
ayrıca farklıdır .PHP
.
Dizin ve yol ayırıcılar
Windows'da diyoruz:
include 'classes\myClass.php';
Ama Linux'ta şunu söyleyebiliriz:
include 'classes/myClass.php';
PHP umursamayacak kadar akıllıdır, her iki ayırıcı da her iki sistemde de çalışır. Ancak tutarlı olmalısınız ve çoğu sistemdeki norm olduğu için her yerde eğik çizgi (/) ile gitmelisiniz. Eğer bu kadar ileri gitmek istiyorsanız, doğru olana çeviren önceden tanımlanmış şık bir sabitDIRECTORY_SEPARATOR
vardır:
include "classes" . DIRECTORY_SEPARATOR . "myClass.php";
Aynı şey Windows'ta noktalı virgül olan yol ayırıcı için de geçerlidir. Güvende olmak için şunları yapmalısınız:
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
yol ayırıcıya ihtiyaç duyulduğunda. Çoğu insan PHP'nin hangi ayırıcıyı kullandığınızı umursamadığını düşünmesine rağmen, tamamdır, ancak önemli bir yakalama vardır: Sistemden dizinler veya yollar istediğinde ayırıcılar sisteme özel olanlar olacaktır. Diyelim ki içerme yolunu parçalarına patlatmak istiyorsunuz :
$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!!!
Dosya kodlama ve sınırlayıcı
IDE'nizi tüm komut dosyalarınız için dosya kodlamasını Cp * yerine UTF-8 olarak ve dosya satırı sınırlayıcısını Unix ( "\n"
yerine "\r\n"
) olarak ayarlamanız gerekir. Çoğu durumda gerçekten önemli olmayacaktır, ancak tutarlı olmalısınız ve en iyi yol Unix yoludur (Windows'da iyi çalışır, ancak tam tersi değildir).