Một số gợi ý:
Độ nhạy trường hợp hệ thống tập tin
Nếu tệp của bạn được gọi là HelloWorld.php này:
include "helloworld.php";
là hợp pháp trên Windows và sẽ hoạt động. Nhưng tên tập tin Linux là trường hợp nhạy cảm, bạn có thể có file gọi HelloWorld.php
, helloworld.php
, hEllOwOrlD.php
trong cùng thư mục. Vì vậy, bạn nên phát triển trên Windows như thể bạn đang phát triển trên một hệ thống tệp phân biệt chữ hoa chữ thường: sử dụng chính xác tên tệp, tên thư mục, tên mở rộng - .php
cũng khác với .PHP
.
Thư mục và phân cách đường dẫn
Trong Windows, chúng tôi nói:
include 'classes\myClass.php';
Nhưng trong Linux, chúng ta sẽ nói:
include 'classes/myClass.php';
PHP đủ thông minh để không quan tâm, cả hai trình phân tách đều hoạt động trong cả hai hệ thống. Nhưng bạn nên nhất quán và đi với dấu gạch chéo (/) ở mọi nơi vì đó cũng là chuẩn mực trên hầu hết các hệ thống. Có một hằng số được xác định trước tiện lợi DIRECTORY_SEPARATOR
chuyển thành chính xác, nếu bạn muốn đi xa đến mức đó:
include "classes" . DIRECTORY_SEPARATOR . "myClass.php";
Điều tương tự cũng xảy ra với dấu phân cách đường dẫn, đó là dấu chấm phẩy trên Windows, ngược lại. Vì vậy, để an toàn bạn nên làm:
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
khi cần một dải phân cách. Mặc dù hầu hết mọi người nghĩ rằng vì PHP không quan tâm đến việc bạn sử dụng trình phân tách nào nhưng nó vẫn ổn, nhưng có một nhược điểm quan trọng: Các phân cách sẽ là các phân tách cụ thể của hệ thống khi bạn hỏi hệ thống về các thư mục hoặc đường dẫn. Vì vậy, hãy nói rằng bạn muốn nổ bao gồm đường dẫn vào bộ phận của nó:
$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!!!
Mã hóa và dấu phân cách tệp
Bạn nên đặt IDE của mình để đặt mã hóa tệp cho tất cả các tập lệnh của bạn thành UTF-8 thay vì Cp * và phân cách dòng tệp thành Unix ( "\n"
thay vì "\r\n"
). Trong hầu hết các trường hợp, điều đó sẽ không thực sự quan trọng nhưng bạn nên nhất quán và cách tốt nhất là cách Unix (hoạt động tốt trên Windows nhưng không phải ngược lại).