Новичковый вопрос о ссылках..

Talker68

Новичок
Привет!

Такой вопрос - на многих сайтах явно написанных на php ссылки не заканчиваются на ".php" До сих пор я полагал что это означает что ссылка показывает на подкаталог сайта, а там лежит index.php

Однако если рассматривать магазины написанные на php , то вряд ли под каждый товар отводят по отдельному каталогу, если товаров тысячи..
Можно предположить что апач настроен так что любые файлы без расширений воспринимает как php скрипт?

Не сочтите за труд, разъясните эту тему. Ну и если дело действительно в настройках апача, то какие настройки за это отвечают?

Спасибо!
 

hell0w0rd

Продвинутый новичок
http://www.phpinfo.su/articles/additionally/o_kommentirovanii_programmnogo_koda.html
Ну и контентик на этом сайте:)
Лучше бы объяснили как работать с phpdoc, а обычные комменты не нужны в большинстве случаев, где нужен коммент - надо делать функцию, а функциям и переменным давать названия не a, b, c, а говорящие сами за себя
 

fixxxer

К.О.
Партнер клуба
GusakovNick
У него с английским не очень, оттуда и проблемы такие. ;)

А контентик... ну нельзя же запретить ему писать что он хочет на его собственном сайте.
 

Василий М.

Новичок
обычные комменты не нужны в большинстве случаев, где нужен коммент - надо делать функцию, а функциям и переменным давать названия не a, b, c, а говорящие сами за себя
Так может утверждать человек, который ни разу не сталкивался с масштабными проектами и не работал в команде.
Вы видели когда-нибудь корзину ИМ на 6000 строк кода в виде лапши?
А я работаю с таким кодом и одними лишь корректными именами не обойтись.

Очевидные названия переменных и функций - не скажут ничего ровным счетом об неочевидным или сложном участке кода, о применении "хардкода", почему тут сделано не совсем очевидно (хотя на первывй взгляд можно было написать проще).
Комментарии позволяю внести ясность относительно изменений, которые были затребованы в процессе или после написания основго кода.
 

hell0w0rd

Продвинутый новичок
Так может утверждать человек, который ни разу не сталкивался с масштабными проектами и не работал в команде.
Вы видели когда-нибудь корзину ИМ на 6000 строк кода в виде лапши?
А я работаю с таким кодом и одними лишь корректными именами не обойтись.

Очевидные названия переменных и функций - не скажут ничего ровным счетом об неочевидным или сложном участке кода, о применении "хардкода", почему тут сделано не совсем очевидно (хотя на первывй взгляд можно было написать проще).
Комментарии позволяю внести ясность относительно изменений, которые были затребованы в процессе или после написания основго кода.
Нет, если вы работаете с гавно-кодом, лапшой, или чем-то подобным - конечно. Тот кто такое написал, и не расставил комменты - не хороший человек. Но если вы пишите понятноый код, распределяя по классам, когда по названию класса можно понять за что он отвечает, а по методам - что они делают - не нужны комментарии. Те, что нужны - в phpdoc, о котором вы не рассказываете.
И еще, раз уж вы ответили, не удалось запостить вам коммент про 2 часть о шаблонизации:
PHP:
{% if items %}
    <ul>
    {% for item in items %}
        <li>{{ item }}</li>
    {% endfor %}
    </ul>
{% else %}
      No item has been found.
{% endif %}
Такое вы написали совершенно не разобравшись, ибо в шаблонизаторе twig, видимо созданный по образу и подобию с django это будет выглядеть иначе:
PHP:
<ul>
{% for item in items %}
      <li>{{ item }}</li>
{% else %}
      No item has been found.
{% endfor %}
</ul>
ветвление есть еще и у цикла, также в циклах можно прописывать условия
Совсем ничего не рассказали о наследовании, а просто объяснили почему вам кажется что шаблонизаторы - зло. В общем новичкам этот сайт скорее зло)
 

Василий М.

Новичок
о котором вы не рассказываете
Совсем ничего не рассказали о наследовании
))) я никому ничего не должен))
Такое вы написали совершенно не разобравшись, ибо в шаблонизаторе twig, видимо созданный по образу и подобию с django это будет выглядеть иначе
это что за невалидный кусок кода? в чем я не разобрался?
 
  • Like
Реакции: WMix

hell0w0rd

Продвинутый новичок
))) я никому ничего не должен))
это что за невалидный кусок кода?
Конечно не должны:) Это я новичкам, которые будут ваш сайт читать и верить всему написанному;)
Абсолютно валидный, просто почти все, кто холиварит о шаблонизаторах - не пробовали их на самом деле. А они умеют очень многое, помимо подстановки переменных)
http://twig.sensiolabs.org/doc/tags/for.html
 

hell0w0rd

Продвинутый новичок
что будет если в массиве item ничего не будет? какой будет результат выполнения этого кода?
PHP:
<ul>
{% for item in items %}
      <li>{{ item }}</li>
{% else %}
      No item has been found.
{% endfor %}
</ul>
PHP:
<ul>No item has been found.</ul>
Вот пример из оффициальной документации. В том что ul остается - совсем ничего страшного)
PHP:
<ul>
    {% for user in users %}
        <li>{{ user.username|e }}</li>
    {% else %}
        <li><em>no user found</em></li>
    {% endfor %}
</ul>
 

Василий М.

Новичок
просто почти все, кто холиварит о шаблонизаторах - не пробовали их на самом деле
у статьи №2 цель показать, что php ничем не хуже, а во многом лучше и по сути является сам шаблонизатором.
я не понимаю, что Вы мне пытаетесь доказать?
 

Василий М.

Новичок
почитайте внимательно статью ещё раз - http://www.phpinfo.su/articles/practice/shablony_v_php_chast_2.html
разработчик симфони пишет что "версия на PHP не очень читаема"
я привел пример вероятного кода на Django
ВАЛИДНОГО HTML-кода, а не той х-ни которая была в статье
PHP:
{% for item in items %}
  * {{ item }}
{% else %}
  No item has been found.
{% endfor %}
как видно, версия на PHP ничем не отличается от версии на джанго. что Вы мне пытаетесь доказать, приводя эти кривые куски кода?

PHP:
<ul>No item has been found.</ul>
совсем ничего страшного
Error found while checking this document as HTML5!
Text not allowed in element ul in this context.
 
Сверху