За последние 24 часа нас посетили 52386 программистов и 1756 роботов. Сейчас ищут 916 программистов ...

Нужна помощь по коду

Тема в разделе "PHP для новичков", создана пользователем Неугомонный, 12 апр 2018.

  1. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    Пытаюсь отказаться от echo но не приходит в голову как бы его перезаписать, выслушаю ваши идеи, перезаписал через шорт теги не работает :(
    PHP:
    1. <head>
    2. <?php
    3.     if(!empty($config['description']))
    4.         <meta name="description" content="<?=$config['description']?>">
    5. <?php
    6.     if(!empty($config['keywords']))
    7.         <meta name="keywords" content="<?=$config['keywords']?>">
    8.  
    9. <?php
    10.     if(isset($user))
    11.         <link rel="stylesheet" href="style.css" type="text/css">
    12.     else
    13.         <link rel="stylesheet" href="style.css" type="text/css">
    14.  
    15. <?php
    16.     if(isset($title))
    17.         <title><?=$title?></title>
    18. </head>
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты крепко подсел на него, парень


    [​IMG]
     
  3. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    мне это не помогло
     
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    @Неугомонный, какие нафиг шорт теги! Обычные теги и альт. синтаксис.
     
  5. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    ну да уже не считается <?= шорт тегом, можно совмещать с <?php а не только с <?
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    PHP:
    1. <?php if (...): ?>
    2. ...
    3. <?php endif; ?>
    Иногда можно так, особенно если имеем дело с короткими строками и полным ветвлением:
    PHP:
    1. <?= ...?'...':'' ?>
    --- Добавлено ---
    для if ($user) что ли влом было прописать разное содержимое веток? Мы типа сами должны додумывать? Нах нам это надо?
     
  7. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    тут вопрос не в if($user) был а почему не выводится ничего в браузер,за if($user) забудь вообще
     
  8. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Написали хрень, поэтому и не выводится.
     
  9. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    Смешно, согласен лучше отделить код php от html через file_get_contents и str_replace
     
  10. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    o_O
    --- Добавлено ---
    Алг. конструкции тоже сами будете реализовывать? Если оч. хочется пострадать фигней, возьмите готовый шаблонизатор. Лично меня пых в чистом виде вполне устраивает.
     
  11. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    уже разобрался в чем была моя проблема
    <? if($var) { ?>
    HTML content here
    <? } else { ?>
    Other HTML content here
    <? } ?>

    можно юзать Фреймворки я не спорю, но мне приятней изобретать самому
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Ну и изобретали бы себе молча. Нафиг будущих читателей ветки сбивать с толку, когда вам уже четко сказали: альтернативный синтаксис, а не эта хрень:
    PHP:
    1. <? } ?>
    Короче успехов!
     
  13. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    Я только согласен с одним если писать чисто и кратко то
    PHP:
    1. <? if(!empty($config['description'])): ?>
    2.         <meta name="description" content="<?=$config['description']?>">
    3.     <? endif; ?>
     
    #13 Неугомонный, 12 апр 2018
    Последнее редактирование: 12 апр 2018
  14. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Покопаетесь в реальных шаблонах, узнаете, почему {} – зло.

    PHP:
    1. <?
    Проблемы с совместимостью. Некоторые даже <?= не признают, предпочитая <?php echo. Однако сейчас <?= уже не считается шорт тегом, как вы верно заметили.
     
  15. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    покороче - это когда покороче...

    PHP:
    1. <head>
    2. <? if ( !empty ( $config['description'] ) ) { ?>
    3.     <meta name="description" content="<?= $config['description'] ?>">
    4. <? }
    5.  
    6. if ( !empty ( $config['keywords'] ) ) { ?>
    7.     <meta name="keywords" content="<?= $config['keywords'] ?>">
    8. <? }
    9.  
    10. if ( isset ( $user ) ) { ?>
    11.     <link rel="stylesheet" href="style.css" type="text/css">
    12. <? }
    13. else
    14. { ?>
    15.     <link rel="stylesheet" href="style.css" type="text/css">
    16. <? }
    17.  
    18. if ( isset ( $title ) ) { ?>
    19.     <title><?= $title ?></title>
    20. <? } ?>
    21. </head>
    совсем покороче!
    --- Добавлено ---
    @miketomlin юзероПиксель, мне кажется или действительно дичь передаете по трафику на форум.
    --- Добавлено ---
    кто, что не признают ? Какие проблемы ? юзаем значит PHP 2.0 ?
     
  16. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Скорее, привлекаю.

    Mля, я не себя имел в виду.
     
  17. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    Я тоже раньше не признавал юзал echo , <?= сейчас только его и пытаюсь использовать очень удобно совмещать с html
    только что подкинули статью
    https://www.php-fig.org/psr/psr-1/
     
  18. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Это верно. Я вам специально выше выделил, о каких шорт тегах идет речь, чтобы не было недопонимания.
     
  19. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Код (Text):
    1. <? if ( !empty ( $config['description'] ) ) { ?>
    2.     <meta name="description" content="<?= $config['description'] ?>">
    3. <? }
    Blade
    HTML:
    1. @isset($config['description'])
    2.     <meta name="description" content="{{ $config['description'] }}">
    3. @endisset
    Vue
    HTML:
    1. <meta name="description" v-if="config.description" :content="content.description">
    хватит страдать )
     
  20. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    зоглазен с предыдущим оратором
     
  21. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Вот бы этот предыдущий оратор еще и ссылок на свой сайт сделанный на nuxt поделился:)
    --- Добавлено ---
    Тоже не слишком громоздко
    Код (Javascript):
    1. {config.description && <meta name="description" content={content.description}>}
     
  22. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    Вообще не понял двух выше примеров
     
  23. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Это react в него все это дело еще и передать нужно так же как и в vue window.DATA = {} а еще ssr но если не вникать то красиво
     
  24. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    вот например один http://2018.besmarter.ru/
     
  25. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Это статика. Мне бы с api