Деякі вказівки:
Чутливість регістру файлової системи
Якщо ваш файл називається HelloWorld.php це:
include "helloworld.php";
є законним у Windows та працюватиме. Але імена файлів Linux чутливі до регістру, ви можете мати файли з іменами 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, але не навпаки).