• Для веб разработки php важнее остальных ЯП?

    @MagicMight
    Нет, PHP не важнее других ЯП для веб-разработки. То, что он популярен и прост - да, и позиции он сдавать пока не собирается.
    Но это язык строго серверный. Та же клиентская часть wordpress'а написана с использованием javascript, сверстана html и раскрашена css :)

    И не нужно путать веб-разработку и ее частный случай - сайтостроение. Серверная логика может писаться на любом языке программирования, поддерживающем работу с сетью. Ведь то могут быть и облачные сервисы, и браузерные игры, и тд.
    Для всех задач - свои инструменты.

    P.S. Можно так же спросить, зачем учить PHP, если можно все написать на Django (Pyhton) или на Express (Node.js)
    Ответ написан
    2 комментария
  • Нужно ли преобразовывать кириллицу в unicode?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    в первую очередь не нужно преобразовывать данные в JSON.

    В базе данных нужно сделать таблицу с полями, которые есть в JSON, и при добавлении записи в БД записывать кажде поле в свою ячейку.
    Именно так работают базы данных.
    Ответ написан
    6 комментариев
  • Как создать серию PDF-файлов в PHP 7.3.5 через domdpf?

    @shevchenko__k
    Помогаю новорожденным web программистам
    проблема в том что метод render выдает return и получается так что в цикле отрабатывает только один виток. тебе надо в цикле собрать весть html с помощью конкатенации и только потом один большой html подавать на конвертацию в pdf
    примерно вот так у вас должно быть
    $html = '';
    
    foreach($links as $link) {
    
      //decode url to cyrillic
      $linkDecoded = urldecode($link);
    
      //if url contains unneeded words, delete them
      if ( (strpos($linkDecoded, 'Категори') === false) && (strpos($linkDecoded, 'Википедия') === false) && 
        (strpos($linkDecoded, 'index.php') === false) && (strpos($linkDecoded, 'Файл') === false) && 
        (strpos($linkDecoded, '#') === false) ) {
        
        //if $linkDecoded[0] === '/' -> add 'https://ru.wikipedia.org'
        if ($linkDecoded[0] === '/') {
          $linkDecoded  = 'https://wikipedia.ru.org' . $linkDecoded . '<br>';
    
          // 5 === len(wiki/); https://stackoverflow.com/questions/11290279/get-everything-after-word
          $title = substr($linkDecoded, strpos($linkDecoded, 'wiki/') +5); 
          
          echo $linkDecoded;
    
          
    
          //не было тут его, если что - убрать
          $html .= file_get_contents($url);
        } 
      }
    }
    
    //DOMpdf -> pdf
          $options = new Options();
    
          $options->set('defaultFont', 'DejaVu Sans');
    
    $dompdf = new Dompdf($options);
          $dompdf->loadHtml($html);
    
          //(Optional) Setup the paper size and orientation
          $dompdf->setPaper('A4', 'landscape');
          // Render the HTML as PDF
          $dompdf->render();
          
          // Output the generated PDF to Browser
          //title is basename === https://wikipedia.ru.org/wiki/             ->      Протокол_передачи_данных
          $dompdf->stream($title);
    Ответ написан
    1 комментарий
  • Стоит ли бросать учебу в колледже ради узучения ЯП?

    prrrrrrr
    @prrrrrrr
    Верстаю сразу на PHP.
    стоит ли не оплачивать учебу а потратить на курсы по изучению ЯП

    facepalm.jpg
    Ответ написан
    3 комментария
  • Собираюсь убегать от 1С-Битрикс. А на что убегать-то?

    @jazzus
    В Laravel нет функционала, это фреймворк. Сравнивать фреймворк и cms некорректно. Любой функционал в Laravel нужно будет создавать с 0, развивать и поддерживать руками программиста. Скачать новую версию здесь не получится. По деньгам будет гораздо дороже чем битрикс и качество/надежность будет зависеть от умения/совести/настроения программиста
    Ответ написан
    5 комментариев
  • Как показать/скрыть блок при совпадении нескольких условий?

    hzzzzl
    @hzzzzl
    let hideBlock = true
    
    document.querySelectorAll('input')
    	.forEach(input => {
    		// console.log(input.min, input.max, input.value)
    		if (input.value && input.value > input.min) 
    			hideBlock = false
    	})
     
    if (hideBlock) {
    	document.querySelector('.block').style.display = 'none'
    } else {
    	document.querySelector('.block').style.display = 'block'
    }
    Ответ написан
    3 комментария