Задать вопрос
Профиль пользователя заблокирован сроком с 10 апреля 2022 г. и навсегда по причине: систематические нарушения правил сервиса
  • Покритикуйте код! Какие грубые и негрубые ошибки совершил?

    FanatPHP
    @FanatPHP
    Дмитрий, я это все понимаю. но это магия, когда функция возвращает не пойми что.
    Не нужно экономить на методах, запихивая в один кучу функционала. если надо получить count(*), то надо сделать как в ПДО, отдельный метод для этого. И тогда код будет читаться легко и приятно - будет сразу понятно, что вернул вызов метода, без того чтобы анализировать переданный в него SQL.
  • Покритикуйте код! Какие грубые и негрубые ошибки совершил?

    FanatPHP
    @FanatPHP
    Дмитрий,
    isFetch(string $query): бессмысленный костыль
    private function types($value):бессмысленный кривой костыль
    public function result попробуй прикрутить к этой функции декларацию возвращаемого типа
    return $this->count_fields() === 1 адов костыль. Как у автора - такое ощущение, что не класс пишем, а говнякаем функцию на все случаи жизни.
    bindResult(): сто лет как не актуально
  • Как скачать файлы?

    FanatPHP
    @FanatPHP
    Зачем их скачивать?
  • Как подключиться к базе данных хостинга через pdo?

    FanatPHP
    @FanatPHP
    Когда кажется, креститься надо.
    А ошибку надо прочесть. В ней написано, в чем проблема
  • Как на обычном хостинге защитить логи сервера от редактирования, или как получить не измененные логи?

    FanatPHP
    @FanatPHP
    я думаю надо просто выкинуть тот кривой код, который сейчас используется, и взять нормальный, который не сломает пятиклассник на перемене
  • Как на развернуть весь сайт в index.php?

    FanatPHP
    @FanatPHP
    эти рассуждения - такой многоуровневый кринж, что просто слов нет, одни эмоции

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

    но главное - он относится к той части человечества, которая не умеет видеть вещи целиком, а видит перед собой всегда только одну строчку кода. и не в состоянии понять, что будь тут хоть миллион инклюдов - они все равно не сыграют никакой роли в общем времени исполнения скрипта. и никаким микротаймом эту разницу не поймать потому что она заведомо в сотни раз больше погрешности измерения

    ты когда запускаешь свой дебильный микротайм, получаешь каждый раз результаты с разбросом от секунды. КАК ты собираешься измерять разницу в наносекунды? Которой тем более нет?
  • Как на развернуть весь сайт в index.php?

    FanatPHP
    @FanatPHP
    о господи
    откуда в вашей голове берется весь этот чудовищный идиотский мусор? про микротайм и запросы к диску?
    Это какой-то телеграм канал на котором кучкуются отбросы тостера, которые боятся здесь нос показать?
  • Как на обычном хостинге защитить логи сервера от редактирования, или как получить не измененные логи?

    FanatPHP
    @FanatPHP
    РНР применять для этих целей - это примерно как экскаватором воду черпать
    технически можно, но попахивает идиотизмом

    делать надо средствами ОС
  • Как на развернуть весь сайт в index.php?

    FanatPHP
    @FanatPHP
    также надо проредить и сам индекс

    Функция CURL запроса на сервер - в отдельный файл
    огромный кусок кода проверки на мобильную версию - в отдельный файл
    объединенную шапку-подвал - в отдельный файл.
  • Как на развернуть весь сайт в index.php?

    FanatPHP
    @FanatPHP
    Спасибо.
    В этом коде представлено всё, о чем я, хоть и немного нервно, но говорил выше.

    Во-первых в индекс вынесена часть функционала cart.
    И это при том, что сейчас весь сайт состоит из всего одной страницы. А когда страниц будет больше, то индекс раздуется до совершенно неподъемных размеров.
    Видимо, прочитав по рекомендации Alice про шаблоны, вы решили что РНР сайт из них одних и состоит. А код логики приложения можно написать в индексе. Но это же заведомая чушь! У вас у самой, даже для этой примитивной корзины, уже есть довольно значительное количество кода, не относящегося к шаблону. И при этом вы его размазали между индексом и шаблоном.
    А во что превратится индекс после добавления админки?

    Поэтому ещё раз:
    Каждая страница сайта должна состоять из двух файлов: файла с логикой, cart.php, и файла шаблона, templates/cart.tpl.php. Это самое главное правило, которое позволит сделать код сайта читаемым и поддерживаемым. В частности, в cart.php пойдет весь код, относящийся к обработке данных для корзины - и работа с куками, и обращение к АПИ. А в шаблоне будет только код вывода полученных данных.

    В итоге cart.php получит самостоятельность и перестанет быть привязана к выводу HTML. И сможет выполнять любые действия, такие как
    - установка кук
    - отправка НТТР заголовков
    - установка переменных для шапки шаблона
    - выполнение редиректа
    - отправка JSON вместо HTML, то есть появится возможность обрабатывать аякс запросы

    Не говоря уже о том, что логика корзины будет собрана в одном месте, а не размазана по коду.
    Это настолько очевидные и в то же время важные вещи, что моя реакция выше совершенно неудивительна.

    И дальше всё просто - сначала идет матч, который инклюдит cart.php, КОТОРЫЙ НИЧЕГО НЕ ВЫВОДИТ. А потом уже начинается код вывода шаблона. Причем городить буфферинг становится уже не нужно, достаточно вместо <?= $page; ?> написать <?php include "tpl/$template.tpl.php" ?>, где переменная $template задается в cart.php.

    И тогда можно вернуться к варианту match. И в итоге индекс будет заниматься тем, чем должен - решать какой код вызвать, а не содержать в себе всю логику сайта.
    После этого код окажется в одном шаге от нормального варианта с человеческой шаблонизацией. Но главное - он будет нормально структурирован.

    Судя по вашей предыдущей реакции, вы мне всё равно не поверите. Это не страшно.
    просто опубликуйте эти два куска кода отдельным вопросом. Я в него даже не зайду.
    А вы почитаете, что там напишут другие.
  • Как написать функцию автоматизирующую подстановку дат?

    FanatPHP
    @FanatPHP
    какая связь между sleep(10);, зависанием, и большим разбросом дат?
  • Как создать картинку из номера телефона, на лету, на странице html, применив php?

    FanatPHP
    @FanatPHP
    Rsa97, ну видимо про это он и прашивает, только сформулировать толком не может
    а мешает отсутствие знаний о таком способе

    spido, гугли base64 картинки php и тебе дастся
  • Как на развернуть весь сайт в index.php?

    FanatPHP
    @FanatPHP
    Про программиста я беру свои слова обратно, и прошу прощения. Сказал в запале
    Но всё же требовать "конструктива", в то время как твоя собственная позиция весьма далека от него - это несколько нелогично.

    title - это <title> в шапке сайта. Шапка уже вывелась до "шаблона" с кодом.
    поэтому заявления типа
    так я сейчас всё без проблем вывожу!

    надо подкреплять фактами, а не кусками постороннего кода
  • Как создать картинку из номера телефона, на лету, на странице html, применив php?

    FanatPHP
    @FanatPHP
    у тебя про что вопрос-то?
    как напечатать две цифры на картинке или передать данные в скрипт не светя их пользователю?
  • Что плохого в статических функциях?

    FanatPHP
    @FanatPHP
    да. и именно поэтому твой ответ надо удалить
    потому что он "про другое"
    Л - Логика
  • Как на развернуть весь сайт в index.php?

    FanatPHP
    @FanatPHP
    Ой нет, больше ничего. Я уже описал это решение, в комментарии выше.
    Код, написанный на основании не логики, а дамских капризов, состоит из одних костылей.
    И это просто очередная иллюстрация. Ну конечно же надо воткнуть такой костыль, ради столь благой цели как капризульки очередной барышни и решившей что отказаться от прекрасной идеи переименовать файл - это ниже её достоинства.
  • Как на развернуть весь сайт в index.php?

    FanatPHP
    @FanatPHP
    Mellorn, ну когда перестанет, ей куратор тега "тупые ответы" расскажет про аутпут буфферинг, и всё снова прекрасно заработает. Ну и что код в итоге будет состоять в основном из костылей типа preg_replace по буферу? зато решение оригинальное, гениальное и девочковое.