พอยน์เตอร์บางส่วน:
ความไวของระบบไฟล์
หากไฟล์ของคุณชื่อ HelloWorld.php สิ่งนี้:
include "helloworld.php";
ถูกต้องบน Windows และจะทำงาน แต่ชื่อไฟล์ลินุกซ์เป็นกรณีที่สำคัญคุณสามารถมีไฟล์ที่เรียกว่าHelloWorld.php
, helloworld.php
, hEllOwOrlD.php
ในไดเรกทอรีเดียวกัน ดังนั้นคุณควรจะพัฒนาบน Windows เช่นถ้าคุณมีการพัฒนาในกรณีที่ระบบแฟ้มที่มีความสำคัญ: การใช้งานตรงชื่อไฟล์ที่ถูกต้องชื่อไดเรกทอรีชื่อนามสกุล - นอกจากนี้ยังแตกต่างจาก.php
.PHP
ตัวคั่นไดเร็กทอรีและพา ธ
ใน Windows เราพูดว่า:
include 'classes\myClass.php';
แต่ใน Linux เราจะพูดว่า:
include 'classes/myClass.php';
PHP นั้นฉลาดพอที่จะไม่สนใจตัวคั่นทั้งสองทำงานในทั้งสองระบบ แต่คุณควรจะสอดคล้องกันและไปกับเครื่องหมายทับ (/) ทุกที่เพราะมันเป็นบรรทัดฐานในระบบส่วนใหญ่ มีค่าคง DIRECTORY_SEPARATOR
ที่ที่กำหนดไว้ล่วงหน้าที่ดีซึ่งแปลเป็นค่าที่ถูกต้องหากคุณต้องการไปไกลขนาดนั้น:
include "classes" . DIRECTORY_SEPARATOR . "myClass.php";
เช่นเดียวกับตัวคั่นพา ธ ซึ่งเป็นเครื่องหมายอัฒภาคบน Windows ไม่เช่นนั้นโคลอน เพื่อความปลอดภัยคุณควรทำ:
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
เมื่อต้องการตัวแยกพา ธ แม้ว่าคนส่วนใหญ่คิดว่าเนื่องจาก PHP ไม่ได้คำนึงถึงตัวคั่นที่คุณใช้มันก็โอเค แต่มีสิ่งหนึ่งที่สำคัญ: ตัวคั่นจะเป็นตัวระบุระบบเมื่อคุณถามระบบสำหรับไดเรกทอรีหรือเส้นทาง ดังนั้นสมมติว่าคุณต้องการระเบิดเส้นทางรวมเข้าไปในส่วนของมัน:
$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!!!
การเข้ารหัสไฟล์และตัวคั่น
คุณควรตั้งค่า IDE ของคุณเพื่อตั้งค่าการเข้ารหัสไฟล์สำหรับสคริปต์ทั้งหมดของคุณเป็น UTF-8 แทน Cp * และตัวคั่นบรรทัดไฟล์เป็น Unix ( "\n"
แทน"\r\n"
) ในกรณีส่วนใหญ่มันจะไม่สำคัญ แต่คุณควรจะสอดคล้องกันและวิธีที่ดีที่สุดคือวิธี Unix (ซึ่งทำงานได้ดีบน Windows แต่ไม่ใช่ในทางกลับกัน)