• Каким из указанных способов проще и лучшее создать загрузку фотографий в бд?

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

    Kasperenysh
    @Kasperenysh
    Рецидив в особо острой форме))
    PHP... в процедурном стиле (а снего и надо начинать) для мння похож на книгу, открываешь ее а там по порядку весь сюжет, каждая строка - действие главного героя xD, пошел к соседке (MySQL), взял у нее 3 банки огурцов (какие-то строки и бд), разлил (создал массив), выпил (обработал каждый элемент массива), закусил (сохранил в файл) и отправился спать...
    Каждая строка, какая-то операция, которая производит определенные манипуляции, если это понимать, то легко понимаешь что у тебя происходит в определенной строке кода, что туда подается, как обрабатывается и что получаешь на выходе...
    Если результат не оправдал ожидания - спасает:
    var_dump($var);
    die();

    После каждой строки, и смотришь где у тебя программа "ломается".
    Усвоишь процедурку, поймешь как это работает, дальше будет легко)
    Ответ написан
    4 комментария
  • Почему в WooCommerce не добавляется товар в корзину у не авторизованных пользователей?

    @walfter Автор вопроса
    Путём более правильного гугления, нашёл таки ответ на свой вопрос, как выяснилось не я один такой=(

    Необходимо добавить для не авторизованных пользователей вызов функции WC()->session->set_customer_session_cookie(true);

    if (!is_user_logged_in()){
            WC()->session->set_customer_session_cookie(true);
        }


    В файл темы functions.php

    Решение на wordpress.org

    Вопрос считаю закрытым
    Ответ написан
    Комментировать
  • Что это за ошибки?

    Это блокировщик рекламы или прочее сторонее расширение, которое блокирует определенные ресурсы (из-за этого и написано «ERR_BLOCKED_BY_CLIENT»).

    По ошибке SyntaxError: проверьте валидность своего JSON, который получаете / отправляете.
    Ответ написан
    Комментировать
  • Что это за ошибки?

    Eridani
    @Eridani
    Мимо проходил
    Работает Adblock
    Ответ написан
    Комментировать
  • Изучение Laravel, с чего начать?

    Рано имхо. Ларавел прост только если php знаешь. Сделай сначала пару простых сайтов на голом php, граббер пикабу с добавлением своих новостей, например, плюс какой-нибудь бложек или иной парсер. Потом посмотри, как работают разные cms, вордпресс, опенкарт, сделай на них несколько сайтов и напиши пару плагинов для каждого. Пускай они говеные будут, главное чтобы свои функции исполняли. Я лично после голого пхп и нескольких cms потренировался хорошо на опенкарте - у него очень простая для понимания структура, такое сферическое mvc в вакууме для изучения, потом кохану попробовал (она легче ларавела и приложения на ней по структуре похожи на опенкарт, но без уклона в магазины) и только после этого на ларавел перешел. Ларавел хорош, но надо некий базис в голове иметь и опыт, чтобы на нем что-то делать.
    Ответ написан
    Комментировать
  • Изучение Laravel, с чего начать?

    Sinersis
    @Sinersis
    Специальст широкого профиля
    Ну наверное я щас напишу еще раз то что многие уже написали:
    1. Обязательно вам нужна голова на плечах.
    2. Желание прочитать тонну документации с примерами по PHP
    3. Большая кружка для кофе\чая (нужное подчеркнуть)
    4. Освежитель для мозгов
    5. Умение пользоваться Google.com
    6. Cайт с документацией по Laravel
    7. Готовность к выполнению кучи рутинных задач для набивания руки.
    8. ТЕРПЕНИЕ! ТЕРПЕНИЕ! ТЕРПЕНИЕ! ЗАИНТЕРЕСОВАННОСТЬ!
    Ответ написан
    1 комментарий
  • Как показать div при одном значении селекта и скрыть при другом?

    Beeetle
    @Beeetle
    Ответ написан
    Комментировать
  • Можно ли это переписать на ООП? И как примерно всё это можно распределить по классам?

    gzhegow
    @gzhegow
    aka "ОбнимиБизнесмена"
    Мне очень понравилось, как мне объяснил это Алексей Пастушенко

    Так я понял что он сказал:
    Смотри, компьютер все равно будет под капотом выполнять машинный код, процедурщину - функция в нее аргументы и поехали, а еще точнее - машинный код, логические И / ИЛИ, но думать так как машина здесь больше проблем чем преимуществ, хотя для общего развития можно просвятиться про диоды, транзисторы pn переходы и куда только не улетишь. Но если ты попробуешь на доске квадратами обрисовать что к чему цепляется, то у тебя миллион квадратов получится, ведь каждая функция это будет отдельный квадрат.

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

    В действительности - косячит какая-то функция. Но когда есть некий обьект где она лежит, нам проще найти "виноватого" (модуль в коде) и пофиксить его.

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

    Отдельная фишка это предсказуемость если в функцию приходят два обьекта которые должны как-то между собой взаимодействовать - то первое что придется делать это проверить - а то вообще пришло? В случае с ООП как минимум один из этих обьектов будет главным и его проверять не нужно (он будет $this). Либо это будет третий обьект, в который ты зашьешь проверку этих двух как будто это была простая функция. но код самой функции будет чище, т.к. проверки оказались в других местах, а здесь выполняется одно какое-то действие

    В остальном ООП это усложнение кода, которое стоит того. Но если тебе нужно быренько связать два сайта через один скрипт, то попытка нарисовать карту этой связи выжрет у тебя неделю. А написать функцию, которая это делает - займет минут 10. Поэтому надо быренько сделать - забей. Надо предсказуемость, логируемость, понимание что где происходит, история изменений, или что самое ядерное - откат в обратном порядке от того, как это делалось - придется рисовать карту. Или сдохнуть на проекте
    Ответ написан
    3 комментария
  • Как выбрать случайное знаниче массива?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    меняется если обновить страницу, а если просто открывать новую вкладку с сайтом
    В чём разница между этими двумя действиями?

    У вас кеш какой-то срабатывает, судя по описанию, к php эта проблема не имеет никакого отношения. Php не знает "обновили" вы страницу или "просто открыли новую вкладку". Он просто всегда генерирует случайное* значение.
    Если у вас в массиве мало значений, то вероятность получения одного и того же подряд относительно большая.

    * Псевдослучайное, на самом деле.
    Ответ написан
  • Сохранение пути изображения в php?

    @Siverius
    Хм...
    $filename = $_FILES["filename"]["name"];
    move_uploaded_file($_FILES["filename"]["tmp_name"], "avatar/$filename");
    $query = $connection->prepare("UPDATE table_user SET avatar = :avatar WHERE user_id = :user_id");
    $query->bindParam(':avatar', $filename);
    $query->bindParam(':user_id', $user_id);
    $query->execute();


    Примерно так

    PS Если папка одна и та же, то, имхо, лучше сохранять не пути, а только названия файлов.
    PPS Да, верно, нужно ещё защититься от sql-инъекций.
    Ответ написан
    3 комментария
  • Формирование заголовков, что верно?

    @Lord_Dantes
    <?php the_title(); ?>
    Потому-что вы формируете в своем шаблоне уже сразу готовую статику.
    Ответ написан
    Комментировать
  • Как подключить github к реальному проекту?

    @malbaron
    Если речь идет об открытой разработке - то вполне github.
    Если речь идет о закрытой разработке с постоянной командой, то лучше что-то типа gitlab, он позволяет плотнее организовать работу над проектом.

    Github и пр. - всего лишь хранилища.
    Как подключить к вашему проекту - решаете вы в каждом проекте отдельно.
    У нас просто при очередном коммите срабатывает хук в Gitlab, который дергает утилиту, которая засасывает файлы в Docker-образ. Этот образ запускается на тестовом сервере. Если проходят тесты успешно то образ запускается на боевом сервере, запросы роутятся на новый сервер, старый образ на боевом сервере отключается.

    Как сделать - также читать тут:
    https://flynn.io/docs/basics
    или тут:
    https://deis.com/workflow/how-it-works/

    Git, Github, Gitlab, Bitbucket и т.п здесь не более чем хранилище исходных файлов.
    Возможно, умное хранилище, но не более того.

    Само по себе оно ваш сайт не запустит.
    Исключение - статические сайты или сайты где вся логика во фронтенде.
    См. github pages и т.п.
    Ответ написан
    1 комментарий
  • Как подключить github к реальному проекту?

    sabramovskikh
    @sabramovskikh
    github это только место хранения информации из git.
    Создаете там пустой проект (репозиторий). Создаете на хостинге git clone этого проекта, добавляете файлы и делаете push на сервер гитхаба.
    Далее ваша команда делает git clone вашего репозитория и делает нужную им работу, так же пушит на сервер. Когда вам нужно вы делаете pull с сервера гитхаба на хостинг сайта.
    Ну это вкратце и этого должно хватить на первое время.
    На ютубе вроде есть уроки по гиту, советую посмотреть их
    Ответ написан
    4 комментария
  • Какие есть инструменты для проверки кода на "дырявость"?

    sim3x
    @sim3x
    https://en.wikipedia.org/wiki/Dynamic_Application_...
    projects.webappsec.org/w/page/13246988/Web%20Appli...
    https://en.wikipedia.org/wiki/Burp_Suite

    Крайне не советую качать такой софт с не офф сайтов
    Ответ написан
    Комментировать