PHP OOP hatları kullanımı açıklama

2 Cevap php

Bu satırların amacı nedir:

<?php $title=($cfg && is_object($cfg))?$cfg->getTitle():'Apptitle :: My First App'; ?>

<?=Format::htmlchars($title)?>

Birisi burada kullanımını açıklayabilir misiniz?

Ben bir php dosyasındaki ilk satırı olarak kullanılan üst çizgi, sonra ikinci satır başlığı doldurmak için kullanılan görebilirsiniz.

Neden bu uygulama? Bir nesnenin başka amacı nedir?

Ben amaç belki oturumu boyunca nesneyi yeniden olabilir sanırım. Emin.

2 Cevap

Linebreaks ve yorum ekleme:

<?php
$title = $cfg && is_object($cfg)   // if $cfg isn't empty (false, 0, null) and it's an object
       ? $cfg->getTitle()  // then set $title to the return of getTitle()
       : 'Apptitle :: My First App'; // otherwise use this as a default
?>

<?=Format::htmlchars($title)?>  // this is a shortcut for echo. it probably escapes
                                // special characters: < becomes &lt; etc
                                // it doesn't change any values: it just echoes

Değilse, bu bir varsayılan sağlar - temelde yapıyor tüm title kümesi olup olmadığını görmek için $cfg nesne (ne olursa olsun) kontrol ediyor. Daha sonra html-dostu bir şekilde ekrana yazdırır. Oturumları ya da böyle bir şey ile ilgisi yok.

Başka bir hızlı noktası: çok taşınabilir değil çünkü kendi kod, kısayolu <?= kullanmaktan kaçınmalısınız. Bu özelliği test sunucusu üzerinde çalışmak olsa bile olduğunu, dağıtım siteniz ya da kodu kullanmak isteyen başka birisi bunu kapattınız gerekebilir. Onu önlemek için tavsiye edilir.

Bir nesne ise ilk satırı $cfg geçerli bir değişken olup olmadığını görmek için kontrol ve. $cfg geçerli bir nesne ise, aksi takdirde 'Apptitle :: My First App' için $ başlığını ayarlar, $cfg->getTitle() dönüş değeri $ başlığın değerini ayarlar.

İkinci satır daha sonra $title değişkeni geçirilen Biçim :: htmlchars yöntemin dönüş değeri çıktısı.