Beberapa petunjuk:
Kepekaan case sistem file
Jika file Anda disebut HelloWorld.php ini:
include "helloworld.php";
sah untuk Windows dan akan berfungsi. Tapi nama file Linux adalah case sensitif, Anda dapat memiliki file disebut HelloWorld.php
, helloworld.php
, hEllOwOrlD.php
dalam direktori yang sama. Jadi, Anda harus mengembangkan di Windows seolah-olah Anda sedang mengembangkan sistem file case sensitif: gunakan nama file yang benar, nama direktori, nama ekstensi - .php
juga berbeda dari .PHP
.
Direktori dan pemisah jalur
Di Windows kami katakan:
include 'classes\myClass.php';
Tetapi di Linux kita akan mengatakan:
include 'classes/myClass.php';
PHP cukup pintar untuk tidak peduli, kedua pemisah bekerja di kedua sistem. Tetapi Anda harus konsisten dan mengikuti slash (/) di mana-mana karena ini juga merupakan norma pada kebanyakan sistem. Ada konstanta standar yang bagus DIRECTORY_SEPARATOR
yang diterjemahkan menjadi yang benar, jika Anda ingin melangkah sejauh itu:
include "classes" . DIRECTORY_SEPARATOR . "myClass.php";
Hal yang sama berlaku untuk pemisah jalur, yang merupakan titik koma pada Windows, titik dua sebaliknya. Jadi agar aman Anda harus melakukan:
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
ketika membutuhkan pemisah jalur. Meskipun kebanyakan orang berpikir bahwa karena PHP tidak keberatan dengan pemisah yang Anda gunakan tidak apa-apa, tetapi ada satu tangkapan penting: Pemisah akan menjadi sistem yang spesifik ketika Anda menanyakan direktori atau jalur ke sistem. Jadi misalkan Anda ingin meledakkan path include ke dalam bagian-bagiannya:
$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!!!
Pengkodean dan pembatas file
Anda harus mengatur IDE Anda untuk mengatur pengkodean file untuk semua skrip Anda ke UTF-8, bukan Cp *, dan pembatas baris file ke Unix ( "\n"
bukan "\r\n"
). Dalam kebanyakan kasus itu tidak terlalu penting tetapi Anda harus konsisten dan cara terbaik adalah cara Unix (yang berfungsi dengan baik pada Windows tetapi tidak sebaliknya).