PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Perun
Отправлено: 21 Апреля, 2019 - 11:27:49
Post Id


Гость


Покинул форум
Сообщений всего: 74
Дата рег-ции: Дек. 2016  


Помог: 0 раз(а)




Например:

Если существует переменная, выводим ее, если нет, то ничего выводить на экран не нужно.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $res=mysqli_query($link,"SELECT * FROM `comments`") or exit('error: '.mysqli_error($link));
  3. $entries_amount = mysqli_num_rows($res);
  4. echo 'Comments('.@$entries_amount.'):';
  5.         if($entries_amount){
  6.                 while($row=mysqli_fetch_assoc($res)){
  7.                         echo '<div class="comment"> -'.$row['name'].' '.$row['date'].'<br>'.$row['text'].'</div>';
  8.                 }
  9.         }
  10.         else{
  11.                 echo 'No entries yet';
  12.         }?>



Корректно ли вообще использование собаки? Как обойтись без нее? И как это можно записывать через тернарный оператор?

И насколько корректн/некорректно использование определения в условии(строка 6)? Редактор кода PHP Storm ругается, говорит, что это плохая практика.

(Отредактировано автором: 21 Апреля, 2019 - 11:33:35)

 
 Top
Строитель Модератор
Отправлено: 21 Апреля, 2019 - 12:05:18
Post Id



Участник


Покинул форум
Сообщений всего: 1444
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 64 раз(а)




Perun, конечно лучше не использовать @. Вместо этого оператора можно взять языковую конструкцию ! empty().
PHP:
скопировать код в буфер обмена
  1. if (! empty($entries_amount)) {
  2.     echo 'Comments(' . $entries_amount . '):';
  3.     // остальной код
  4. }


-----
~ PHP-7 & REGEXP - This is a really powerful kit ~
****************************************
 
 Top
LIME
Отправлено: 21 Апреля, 2019 - 12:09:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 10220
Дата рег-ции: Нояб. 2010  


Помог: 306 раз(а)




Строитель согласен
Но не так уверенно и однозначно
Есть мнение что сабаки упрощают чтение кода
Но я могу сильно этому возразить
Про то например что инфраструктура сильно часто не читается
Короче не однозначно
(Добавление)
Perun не слушай меня


-----
DDD
 
 Top
Perun
Отправлено: 21 Апреля, 2019 - 16:29:50
Post Id


Гость


Покинул форум
Сообщений всего: 74
Дата рег-ции: Дек. 2016  


Помог: 0 раз(а)




С тернарным оператором я так понял он в таком случае неуместен?
Ну и с этим
Perun пишет:
насколько корректн/некорректно использование определения в условии(строка 6) и вообще такие записи в фале разметки, а не в php? Редактор кода PHP Storm ругается, говорит, что это плохая практика.

Вопрос открыт..
 
 Top
Строитель Модератор
Отправлено: 21 Апреля, 2019 - 22:50:05
Post Id



Участник


Покинул форум
Сообщений всего: 1444
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 64 раз(а)




Perun пишет:
С тернарным оператором я так понял он в таком случае неуместен?
Не уместен, т.к. он подходит для одной строки, а у вас от этого условия зависит ещё и выполнение цикла.

На счёт 6-й строки:
У меня PhpStorm на неё не ругается.


-----
~ PHP-7 & REGEXP - This is a really powerful kit ~
****************************************
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB