Ответы пользователя по тегу PHP
  • Фреймворк для однотипных лендингов?

    @kuftachev
    Конечно все зависит от того, как могут дальше развиваться требования, но если отличия будут не совсем большие, и не нужно динамически из админки менять текст по настроению, то я бы использовал что-то типа Pug, в смысле шаблонизатор HTML.

    Там есть и переменные, и условия, и include, по-моему, наследование шаблонов, и даже возможность выполнить простой JS. А потом все просто превращается в один HTML на каждую страницу. При чем, сразу минифицированный.

    Но если есть необходимость в админке, то брал бы Yii2, чтобы потом не париться, что чего-то не хватает.
    Ответ написан
    Комментировать
  • Как отправить уникальный id заявки?

    @kuftachev
    Файл - это тоже хранилище, не вижу проблем что-то хранить в файле.

    Но нужно понимать "за* и "против". Если эта операция происходит раз в день, то можно придумать тысячу решений с файлами, но если нет, то с файлом не получится конкурентный доступ и все запросы будут выполняться по очереди, что вообще не правильно для веба... но допустимо для двух систем, которые обмениваються информацией раз в день.

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

    P.S. Я не вчитывался, но мне кажется, что много кода как для отправки писем. Может лучше какую-то библиотеку использовать?
    Ответ написан
    Комментировать
  • Как сделать роутинг не на mvc ( интереса ради )?

    @kuftachev
    У Laravel хороший роутинг, если вы реально хотите понять, как устроено, то можете полезть туда и покапаться.

    Роутинг вообще никак не связан ни с MVC, ни с ООП. Это просто какая-то структура данных, в зависимости от языка программирования, в PHP, естественно, массив в которой с одной стороны пути, а с другой функция, которая ему соответствует. А дальше есть сотни способов как собрать эту структуру, а также, может быть более сложный массив, чтобы хранить и какие-то дополнительные параметры.

    Потом $_SERVER['REQUEST_URI'] и пошла жара )))

    P.S. На днях как раз обсуждали, что современный веб вообще не сильно ООП, так как современный контроллер - это просто сгруппированные функции, а реальный объект.

    Тоже самое с моделью, она обычно больше структура, чем класс, за исключением сложных систем, хотя и там есть варианты.
    Ответ написан
    Комментировать
  • Стоит ли удалять переменные?

    @kuftachev
    unset($params);
    $params = [.....];

    Я не знаю, будет ли какая-то оптимизация, но если бы выполнить все как есть, то unset говорит, что нужно удалить переменную, а значение удалиться при сборке мусора, потом создаётся новая переменная с таким же именем.

    Если убрать unset, то не будет создаваться новая переменная, просто той же присвоится новое значение, а старое станет недоступно и соберётся ч сборщиком мусора.

    Это все в том случае, если вообще будет сборка мусора до конца скрипта.

    Так что, unset тут точно не место.
    Ответ написан
    Комментировать
  • Node js однопоточен, а php многопоточен?

    @kuftachev
    PHP однопоточен, но Nginx или Apache имеет определенное количество воркеров для обработки запросов.

    В Node.js также можно запустить много экемпляров. Вопрос в пониманием того, что Вы делаете.

    Ещё не стоит забывать, что можно использовать очереди для обработки тяжёлых вычислений, например, Вы получаете файл на сервер и ставите в очередь на обработку, а потом в отдельном процессе изменяете размер. Но это только пример, все зависит от задачи.
    Ответ написан
    Комментировать
  • Как отфильтровать доступ к API по домену?

    @kuftachev
    Может CORS - это то, что Вам нужно?
    Ответ написан
    Комментировать
  • Какой паттерн или способ использовать, если объект в виде переменной?

    @kuftachev
    Я что-то не сильно из Вашего текста понял, что Вы хотите получить, но возможно речь идёт об Абстрактной фабрике или о Фабричном методе.
    Ответ написан
  • Как вы очищаете POST если нужно работать в пределах 1 страницы?

    @kuftachev
    Про редирект все написали, да, это стандартно...

    Но есть ещё вопрос, на сколько валидные эти одинаковые записи? Может там не хватает ключей на уникальность? Именно на уровне доменного слоя.

    Самый простой пример, уникальный email пользователя в базе.
    Ответ написан
    Комментировать
  • Как с помощью PHP изменить ссылки?

    @kuftachev
    По идее при парсинге сайтов это на себя должна брать библиотека, которая ссылки разбирает.
    Ответ написан
    Комментировать
  • Как отправить значения из input на почту?

    @kuftachev
    Если у Вас просто сайт на который нужно вставить форму, думаю за 20$ Вам это сделают и все будут довольны.

    Если это Вы учитесь, то рано берётесь что-то писать, если ещё ничего не понимаете.
    Ответ написан
    Комментировать
  • Как на сайт через PHP вставить значения из другой БД MySQL на другом сервере?

    @kuftachev
    Нужен http client.
    Ответ написан
    Комментировать
  • Есть ли книга по PHP, в которой в процессе обучения рассматривается вопрос производительности (оптимизации) и безопасности кода?

    @kuftachev
    Прямо про официальную документацию вопрос. У PHP она реально хорошая.
    Ответ написан
    Комментировать
  • Стоит ли дальше изучать фреймворки?

    @kuftachev
    Конечно, все должны быть программистами, поэтому если не получается, то я даже не знаю, как Вы будете жить дальше...

    А если серьезно, как и любая другая профессия, если темпы осваивания Вас не радуют, может это и не Ваше. Может Вы можете делать что-то другое хорошо и просто теряете время.

    Поэтому, решать Вам. Сколько Вы уже вложили сил, сколько ещё готовы вложить? Получаете ли удовольствие от процесса?

    Попробуйте эту книгу:
    https://www.ozon.ru/context/detail/id/24901491/

    Может она Вам даст хороший толчок, но а если и эту не осилите, может реально пробовать что-то другое. Можно, например, администрирование учить, если пойдет.
    Ответ написан
    Комментировать
  • Должен ли я при разработке своего сайта на PHP стараться использовать меньше наименований переменных, переопределяя вместо этого старые?

    @kuftachev
    "Если я пишу длинную функцию."

    Вот уже ответ на Ваш вопрос! Не пишите длинную функцию!!!

    Функция должны выполнять одно осмысленное действие, если она не помещается на экран и это не switch на 30 вариантов, то скорее всего ее нужно разделить.

    На счёт переменных, вопрос в том, что там находится. Если там 10 чисел, то это вообще выделяется на стеке и даже сборщика мусора не будет. Второй вариант, если там 10 массивов, каждый из которых по 10 Мб, то тогда стоит задуматься, что и как Вы делаете.

    Хотя, я сейчас не дам 100%, но мне почему-то кажется, что сборка мусора не выполняется посередине функции, могу ошибаться.

    В общем, то, что Вы задумываетесь о памяти - это правильно, тем более, что одно дело, когда это один запрос на 10 лишних Мб, а другое дело, когда этих запросов 100 одновременно... И если это простой хостинг, то у них к Вам могут возникнуть вопросы.
    Ответ написан
    Комментировать
  • Достаточно ли использовать подготовленные запросы PDO PHP?

    @kuftachev
    Вам уже правильно написали, но без разъяснений, что пользовательский ввод нужно валидировать не только на вход, но и на выход.

    Например, если человек напишет и это будет отправляться на доступную страницу - это вас неприятно удивит.

    И много других приятных сюрпризов может быть.

    Также про CSRF, с аккаунта авторизованно где о пользователя атакующий может делать любые действия доступные пользователю.

    Мораль, не нужно изобретать велосипед на таком уровне знаний, берите фреймворк и в путь. Это когда Вы уже все знаете и понимаете почему решение из Вашего фреймворка Вас не устраивает, вот тогда нужно делать велосипед.
    Ответ написан
    Комментировать
  • Перенос строки?

    @kuftachev
    Эта строка не поддерживает перенос, нужно делать как-то так:

    $mail->Body = $name . "\r\n" . $phone . "\r\n" . ...; //В смысле, и т.д.

    "\r\n" - это перевод строки в email.

    Ещё можно использовать HTML email, тогда или , или
    .
    Ответ написан
    Комментировать
  • Как получить количество строк из MYSQL?

    @kuftachev
    1. "Есть кусок кода который ищет в БД количество юзеров с заданным логином." Оригинальное решение )))))
    Попробуйте подумать о том, что должен быть один логин на пользователя... Сорри, о реально смешно.

    2. Не занимайтесь фигнёй. Освойте азы ПХП и учите какой-то фреймворк, эти вопросы давно решены крутыми чуваками для каждого фреймворка и нужно реально иметь веские причины, чтобы писать это все руками самому.
    Ответ написан
  • Как уменьшить потребление памяти скрипта?

    @kuftachev
    Странно судить нормально или нет, если не понятно, у Вас там только ID товара или описание по 5000 знаков на 10 языках. Но думаю, что да, может быть это и нормально, так как документ в памяти займет много места, а сборщик мусора там ничего особо не уберет.

    Если нужно использовать меньше памяти, то XML - это просто текст. Его можно писать как строку сразу в файл по мере чтения, если нужно просто перенести из базы в файл. Тогда не будет весь документ находится в памяти со всей структурой.
    Ответ написан
    Комментировать
  • Какую книгу купить для изучения mySQL + php на углубленном уровне?

    @kuftachev
    Может уже не актуально, но для не новичков уже нужно учить отдельно базы данных и PHP.

    По PHP основная книга https://www.ozon.ru/context/detail/id/33506422/

    По MySQL, или Вам нужна реально углубленная книга, но думаю, что хватит любого туториала в интернете по основнам синтаксиса. Много чего можно почерпнуть на видео с конференций, там где реально рассказывают, как те же базы данных устроены внутри.
    Ответ написан
  • Практическое изучение PHP. C чего начать? Где брать материал?

    @kuftachev
    https://www.ozon.ru/context/detail/id/24901491/

    Отличная книжка для начинающих.
    Ответ написан
    Комментировать