Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (3) [1] 2 3  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Отличие в написании кода, Отличие в написании кода
Simples  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 1
Пользователь №: 42582
На форуме: 1 год, 1 месяц, 2 дня
Карма:




Не так давно начал изучать php и у меня появился вопрос о корректности написания кода, так как в php можно одну и ту же конструкцию написать различными методами. Отсюда вопрос как это сказывается на качестве кода? И какой метод предпочтительнее. Например:

1)
<div>
<
ul>
<?php foreach ($array as $item )
{
echo ' <li><p>'.$item.'</p></li>';
}
?>
</ul>
</
div>


2)
<div>
<
ul>
<?php foreach ($array as $item):?>
<li><p><?php echo $item?></p></li>
<?php endforeach;?>
</ul>
</
div>
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
vagrand  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2673
Пользователь №: 18145
На форуме: 7 лет, 9 месяцев, 6 дней
Карма: 85




Я обычно использую второй вариант, только использую фигурные скобки


--------------------
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2286
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 26 дней
Карма: 76




Второй предпочтительней тем, что лучше читается.
Ты верстаешь шаблон и встраиваешь в него код, если нужно.
Редактор подсвечивает как html так и php.
Только используй сокращения.
<div>
<
ul>
<?foreach ($array as $item):?>
<li><p><?=$item?></p></li>
<?endforeach;?>
</ul>
</
div>


Сразу видны динамические вставки. В шаблонизаторах типа смарти это {}, в твиге {%%} а в php <??>

А первый вариант это каша)


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 3 месяца, 23 дня
Карма: 10





<div>
<
ul>
<?php foreach ( $array as $item ) { echo '<li><p>'. $item .'</p></li>'; } ?>
</ul>
</
div>


ни такая уж и каша, если расположить вот так, как выше.

касаемо качества кода, со стороны php или html разницы нет, как написано. Оба варианта рабочие. Ну а со стороны того, кто этот код читает, тот и оценит качество написания. По мне, один из критериев качества - это когда по коду сразу ясен алгоритм выполнения. Что бы код одновременно был кодом и, как бы, комментарием.

ПС Знаки препинания не зря появились в русском, да и в других языках. Вот и в php пробел не такое уж пустое место (не в качестве значения переменной, а в качестве разделительной черты). Так легче информация воспринимается и так легче обнаружить не закрытую скобку и другую подобную мелочь, мне, по крайней мере.

Это сообщение отредактировал casper - gg - 25.02.2016 - 23:45
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22830
Пользователь №: 20039
На форуме: 7 лет, 3 месяца, 21 день
Карма: 604




Simples
Если уж сравнивать, но разница ТОЛЬКО в наличии фигурных скобок или их заменой на альтернативный синтаксис через двоеточие.
<?php foreach($var as $v) { ?>
<li>...</li>
<?php } ?>


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26269
Пользователь №: 21350
На форуме: 7 лет, 14 дней
Карма: 729

Не курю:
1 год, 6 месяцев


а я нативный + шорттеги
<div>
<
ul>

<?php foreach ($array as $item):?>

<li><p><?=$item?></p></li>

<?php endforeach;?>

</ul>
</
div>


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2286
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 26 дней
Карма: 76




casper - gg
inpost
Когда скобок больше одной, глаза начинают ломаться пополам =)


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kristall  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



418 I'm a teapot
******

Профиль
Журнал
Группа: Форумчанин
Завсегдатай форума
Сообщений: 647
Пользователь №: 28374
На форуме: 5 лет, 9 месяцев, 13 дней
Карма: 22




Цитата
это когда по коду сразу ясен алгоритм выполнения.

Главное правило: как можно меньше мешать ПХП и ХТМЛ. В идеале, в представлении должны быть только одни <?=$var;?> . На практике это, конечно, недостижимо, но если во вьюхе нужен какой-то алгоритм, ясность которого требуется особо подчёркивать, значит в консерватории нужно что-то менять.


--------------------
echo '<pre>',print_r($var, 1);die;

root@server# make love && war
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22830
Пользователь №: 20039
На форуме: 7 лет, 3 месяца, 21 день
Карма: 604




Arh
{ или :
} или endforeach;

Думаешь разница велика? Мне больше нравится PHP синтаксис, когда вложенность выделяется фигурными скобками:
function {
}

namespace {
}

class
{
}

if() {

}

foreach() {
}


И после этого неожиданно в одном месте написать : вместо привычной { ? Как по мне, так альтернативный синтаксис ЛИЧНО ДЛЯ МЕНЯ хуже.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22830
Пользователь №: 20039
На форуме: 7 лет, 3 месяца, 21 день
Карма: 604




kristall
PHP - некий блок-схема для выполнения определённого действия. Twig, Smarty, PHP - не важно что, важно то, что меняя немного "слово" и "синтаксис" ты получаешь одно и то же, применяешь блок-схему для действия. Тот, кто говорит, что меньше PHP - у него аллергия на PHP, имхо wink.gif Давай будем говорить без аллергии на PHP и скажем коротко - меньше "конструкций", больше чистого HTML.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2286
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 26 дней
Карма: 76




inpost
Невелика, но когда в шаблоне несколько закрывающих скобок, начинаешь путаться, конец форыча это или конец условия, и скобку очень легко не заметить (трудно найти), приходится всматриваться и делать это внимательно, что бы не перепутать endif; с endforeach;


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 3 месяца, 23 дня
Карма: 10




Arh
kristall
в этом частном случае еще рано говорить о шаблонизаторах, MVC и разделении кода на чистый html и php. Но если автор вопроса пишет все таки шаблон, то все верно.

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22830
Пользователь №: 20039
На форуме: 7 лет, 3 месяца, 21 день
Карма: 604




Arh
А синтаксис для кого?
if() {
| blabla;
| blabla;
| foreach() {
| | bla
| | bla
| }
}


Благо норм редакторы это всё выделяют и если видишь начало, то глазами видишь и конец блока!


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2286
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 26 дней
Карма: 76




inpost
А если начало уже пролисталось наверх и ты видишь только конец? Тебе надо в конце форыча еще одну <?=$var?> вставить, а тут непонятно что за скобки =)
Спор конечно о вкусах, но у endif; есть преимущество в читабельности и шаблонном стиле/привычке типа [code]что то[\code] или <script>что то</script> <?if?>что то <?endif?>


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22830
Пользователь №: 20039
На форуме: 7 лет, 3 месяца, 21 день
Карма: 604




Arh
Ну если ты не будешь верстку сосисками делать на 500-600 строк, а пользоваться нормальным распределением верстки/кода тем же MVC, то страницы почти всегда умещаются в размер экрана, максимум там полтора. Но в любом случае каждому своё. У тебя привычка такая, у меня - такая.
Если бы ввели в PHP:
class;
function;
namespace;
я бы не стал ими пользоваться по той же причине.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (3) [1] 2 3  Ответ в темуСоздание новой темыСоздание опроса