2009-08-17 2 views
1

Какова цель этих строк:PHP OOP использование линий объяснение

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

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

Может кто-то объяснить использование здесь?

Я вижу, что верхняя строка используется как первая строка в php-файле, затем вторая строка используется для заполнения заголовка.

Зачем нужна эта реализация? Какова цель, отличная от объекта?

Я предполагаю, что целью может быть повторное использование объекта во время сеанса. Неуверенный.

ответ

7

Добавление разрывы строк и комментарии:

<?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 

В основном все это делает проверяет ваш $cfg объект (что бы это ни), чтобы увидеть, если есть title набор - если нет, то он обеспечивает по умолчанию. Затем он печатает его на экране с помощью html-friendly. Ничего общего с сеансами или что-то в этом роде.

Еще один момент: в своем коде вы должны избегать использования ярлыка <?=, так как он не очень портативен. То есть, даже если это может работать на вашем сервере тестирования, ваш сайт развертывания или кто-то другой, кто хочет использовать ваш код, может отключить его. Рекомендуется избегать этого.

+0

Спасибо за отличный ответ, фантастический. Один быстрый. Что означает формат в этой строке? – Codex73

0

Это, кажется, общий шаблон, который вы можете настроить, предоставив объект $ cfg. В этом кратком примере, если вы указываете заголовок для текущей страницы, это; в противном случае печатается по умолчанию.

0

Первая строка проверяет, является ли допустимая переменная $cfg, и если это объект. Если $cfg является допустимым объектом, он устанавливает значение $ title в возвращаемое значение $cfg->getTitle(), в противном случае он устанавливает $ title на 'Apptitle :: My First App'.

Вторая строка затем выводит возвращаемое значение метода Format :: htmlchars, которому передается переменная $title.