PHP veb tərtibatında ən çox istifadə olunan proqramlaşdırma dillərindən biridir. Bu dilin ən mühüm xüsusiyyətlərindən biri fərqli məhdudlaşdırma üsulları təklif etməsidir. PHP-nin açılış və bağlanma teqlərinə qısaca nəzər salaq:

  • <?php ?>
  • <?= ?>
  • <? ?>
  • <% %>

PHP-dən daha səmərəli istifadə etmək üçün bu teqlərin fərqlərini və əhəmiyyətini başa düşmək lazımdır. Bu yazıda biz PHP teqlərindən necə səmərəli istifadə edəcəyimizi öyrənəcəyik.

Niyə Qısa PHP Teqlərindən İstifadə Etməməliyik?

Qısa PHP teqləri kodlaşdırmanın asanlığı və sürəti üçün daha faydalı ola bilər. Bununla belə, əksər hostinq və serverlərdə o, PHP.ini konfiqurasiyasında defolt olaraq söndürülür. Bu qısa teqlərin işləməsi üçün PHP.ini konfiqurasiyasında short_open_tag seçimi aktivləşdirilməlidir. Beləliklə, hər bir PHP serverində mütləq işləyəcək yeganə üsuldur . PHP-ni nəzarət etmədiyiniz serverə yerləşdirməyi düşünürsünüzsə, həmişə edə bilərsiniz <?php ?> yanaşmadan istifadə etməlisiniz.

Qısa PHP Echo Tag və PHP.ini

<?php echo() ?>

PHP-də <?= PHP konfiqurasiyasında etiket short_open_tag Seçim aktiv olub-olmamasından asılı olmayaraq istifadə edilə bilər, ona görə də yuxarıdakı qısa yoldan etibarlı şəkildə istifadə edə bilərsiniz.
Əgər sadəcə özünüz üçün kod yazırsınızsa və istifadə etdiyiniz PHP konfiqurasiyasına nəzarət edə bilirsinizsə, qısa teqləri daha faydalı tapa bilərsiniz. Amma bunu yadda saxla <? ?> etiket XML bəyannamələri ilə ziddiyyət təşkil edə bilər. Həmçinin <% %> Teq əslində ASP üslubundadır.

PHP Bağlama Teqləri və Potensial Problemlər

Saf PHP faylının bağlanması (məsələn, yalnız sinif tərifini ehtiva edən fayl) ?> Etiketi əlavə edərkən arxada heç bir boş sətir buraxmamağa diqqət edin. PHP tərcüməçisi bağlanma teqindən sonra tək sətir kəsmə simvolunu təhlükəsiz şəkildə "icra edə" bilsə də, digər sətir kəsmələri brauzerə çıxarıla bilər. Əgər HTTP başlıqlarını yazırsınızsa, işlər daha da çaşqın ola bilər.

PHP PSR-2

PSR-2 kodlaşdırma standartı PHP-də ən yaxşı təcrübələri müəyyən etmək üçün yaradılmış PHP PSR kodlaşdırma standartlarının bir hissəsidir. PSR-2 kodlaşdırma standartları yalnız PHP kodu olan fayllara aiddir. ?> bağlama etiketlərindən istifadə etməməyi tövsiyə edir. Bu tövsiyənin əsas səbəbi bağlanma teqindən sonra təsadüfən qalan boşluqlar və ya sətir fasilələri kimi simvolların brauzerə göndərilməsinin qarşısını almaqdır. PHP-də, ?> Teqdən sonrakı hər hansı simvol avtomatik olaraq HTML çıxışının bir hissəsi hesab olunur. Bu, HTTP başlıqlarını emal edərkən xüsusilə problemli ola bilər.

PHP faylının sonundakı lazımsız simvollar HTTP başlıqlarının düzgün işlənməsinin qarşısını ala bilər. HTTP protokolunda hər hansı bir çıxış başlıqların göndərilməsini qeyri-mümkün edir, çünki başlıqlar məzmun göndərilməzdən əvvəl tamamlanmalıdır. Bu, artıq göndərilmiş başlıqlar kimi tanınan problemə səbəb olur və bu, seansa başlamaq, kuki quraşdırmaq və ya səhifəni yönləndirmək kimi hərəkətlərə təsir edə bilər.

Buna görə də, PSR-2 bu cür ümumi xətaların qarşısını almaq və kodun təmizliyini qorumaq üçün yalnız PHP kodu olan fayllarda bağlama etiketindən istifadə etməməyi tövsiyə edir. Bu yanaşma kodun sonunda arzuolunmaz boşluqlar və ya sətir sonu simvolları səbəbindən yarana biləcək mümkün problemləri aradan qaldırır və PHP skriptlərinin daha stabil və xətasız işləməsinə kömək edir.

PHP Teqləri və Uyğunluğu

Köhnə versiyalar üçün veb proqramları yazarkən, bağlanır ?> etiketləri ilə html <!doctype> Teqlər arasında yeni sətir buraxmamağa diqqət edin. IE-nin köhnə versiyaları, doctype deklarasiyasından əvvəl yeni sətirlər də daxil olmaqla, hər hansı bir boşluqla qarşılaşdıqda fərqli səhvlər verə bilər. IE-nin daha yeni versiyalarında və digər, daha təkmil brauzerlərdə belə deyil. (Yəni, IE-dən başqa hər bir brauzer üçün.)