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

    "Все" давно уже делают сайты без программирования - на Тильде или Битриксе (да, другие "все" знают, что Битрикс - [да]вно, но жизнь такова, что первые "все" продолжают его хавать).
    Ещё более другие "все" (те, которые разрабатывают не сайты, а веб-приложения или/и веб-сервисы), как правило, программируют "админки" на том, что лучше знают, или что им больше нравится.
    И эти "все", да, всё чаще делают фронт а-ля SPA, а на бэке остаётся только API.
    Ответ написан
    2 комментария
  • Где взять реальные примеры кода использования ооп в веб-сервисах?

    ООП для веба - это так же, как в книжках.
    Делаете класс ПостВБлоге
    Описываете его свойства (они же атрибуты).
    Реализуете методы для чтения и записи из/в БД.
    Получается что-то вроде
    class BlogPost {
        public $id;
        public $title;
        public $text;
        public $date;
        
        public function write() {
            // код записи в БД
        }
        
        public function read() {
            // код чтения из БД
        }
    }

    Делаете класс Комментарий
    class Comment {
        public $id;
        public $text;
        public $date;
        public $blogpostId;
        
        // чёрт, здесь почти такой же код, как и в классе BlogPost
    }

    Придётся делать класс-предок для BlogPost и Comment
    class DatabaseRecord {
        public function write() {
            // универсальный код записи в БД
        }
        
        public function read() {
            // универсальный код чтения из БД
        }
    }
    class Comment extends DatabaseRecord {
        // ....
    }
    class Comment extends DatabaseRecord {
        // ....
    }


    Потом идёте на https://laravel.ru/docs/v5/eloquent и с восхищением обнаруживаете, что всё уже написано за вас и для вас, и как раз с использованием ООП.
    Ответ написан
    2 комментария
  • Какой фреймворк актуален на 2019 год и будет актуален хотя бы годик ещё?

    Laravel 5 или Symfony 4.
    На другие лучше даже не смотреть, ни один из прочих не обладает ни актуальностью, ни распространённостью этих двух.
    Ценность параметра "распространённость" вы оцените, когда будете искать работу в достаточно большой команде.
    Ответ написан
    Комментировать
  • На сколько хороша/плоха идея перенести сайт на АПИ для этого же сайта?

    если сайт начать писать с API ( json ) и потом на всех требуемых страницах сайта делать запрос к АПИ?

    да
    И как было бы удобнее обрабатывать это АПИ? Не через curl же запрос делать на свой же сервер?

    через AJAX
    Опишите, какие знаете плюсы и минусы такового. Как мне показалось, это достаточно удобно.

    всегда удобно, кроме случаев, когда неудобно
    Ответ написан
    Комментировать
  • Как сервисы такси учитывают особенности городов?

    Конечно, в Я.Такси всё решается
    пачками говнокода
    , не сомневайтесь
    Ответ написан
    Комментировать
  • Вы делаете unset() в своём коде?

    В большинстве скриптов в этом нет необходимости.
    Если вы в коде получаете, например, один массив на много N (зависит от сервера) мегабайт, а потом хотите получить другой массив такого же объёма, может иметь смысл что-то типа такого:
    for () {
      $arr2[] = new_value($arr1[i]);
      unset($arr1[i]);
    }

    В этом случае вам памяти понадобится не 2*N, а где-то ближе к N.
    Но на практике необходимость такого - большая редкость.
    Ответ написан
    Комментировать
  • Есть ли простая CMS или PHP-фреймворк для решения моей задачи?

    Вам сейчас каждый будет советовать то, что он знает и/или на чём он зарабатывает.
    С точки зрения перспектив из CMS у Wordpress конкурентов фактически нет.
    С учётом, что Unyson Framework - что-то экзотическое (я вообще, похоже, первый раз увидел такое название), выкиньте его (зачем вам возиться с тем, что "никто" не использует?)
    В противовес, самый распространённый фрейм - Laravel.
    Ответ написан
  • Реализация MVC для Wordpress?

    В принципе, это возможно.
    Вешаете хук
    add_action('wp', function(){
    });
    внутри которого разбираете каждый запрос, и, в зависимости от, вызываете соответствующий "контроллер", а в теме (которая, суть, View), вставляете только вывод данных, полученных в "контроллере".
    Но это сильно идёт в разрез с общей философией WP, а значит, лучше это не использовать (никто не поймёт).
    Уж лучше переходите на фрейм типа Laravel.
    Ответ написан
    Комментировать
  • Целесообразно ли использовать Angular 4 на классическом PHP сайте, а не в роли SPA?

    Вы же сами всё верно написали.
    Если только вы не имели в виду и страницы, которые сейчас рендерятся на сервере для поисковиков, перевести на Ангуляр - это ерунда (бессмысленно вообще и через жопу в частности).
    Т.е. то, что у вас сейчас на jQ+KO - можно и переписать, но вряд ли это какой-то выигрыш даст кроме того, что станет "стильно модно молодёжно".. и геморройно..
    И кстати, если уж всё равно захотите переписать по-современному, очень рекомендовал бы выкинуть Ангуряр из кандидатов, и в первую очередь смотреть на Vue.
    Ответ написан
    4 комментария
  • Как вывести ответ сервера?

    Вы собираете как минимум 2 плохих практики.
    1. При использовании Аякса используйте не текст, а JSON.
    2. add.php говорит о том, что вы используете PHP на уровне 2000 года, что наверняка означает много дыр и неподдерживаемого кода.

    Тем не менее, выдавать результат нужно, конечно, через echo, если вы не используете обёртки более высокого уровня (для JSON-ответа:
    echo json_encode(['result' => 'some text'])
    )
    а в браузере, как уже писали:
    success: function(data) {
        $(<селектор>).html(data);
    }

    для JSON:
    success: function(data) {
        $(<селектор>).html(data.result);
    }
    Ответ написан
    Комментировать
  • Почему выдаёт ошибку только через bat - Fatal error: Call to undefined function curl_init()?

    У вас разный PHP запускается.
    В браузере - сконфигуренный через Openserver, в консоли Openserver - тоже таки через сконфигуренный Openserver.
    А в консоли винды - какой-то другой.
    Самый тупой и простой метод - делаете php.bat, доступный по путям (в c:\Windows, например), такой:
    путьдоPHPвOpenserver %*
    Ответ написан
    Комментировать
  • Как ускорить процес проверки и записи в базу?

    Делайте один SELECT .. WHERE `link` IN (val1, ..., val44).
    А в цикле уже этот результат перебирайте.
    Вставку новых делайте одним запросом.
    INSERT IGNORE или INSERT ... ON DUPLICATE лишним при этом не будут.
    Это самый быстрый вариант, у вас будет всего 2 запроса к БД - один на выборку, один на вставку.
    Ответ написан
    Комментировать
  • Какой фреймворк посоветуете для написания блога?

    Это смотря с какой целью "практиковаться".
    Если для личного развития личных мозгов, возможно, лучше посмотреть на другие языки - Node.JS, Go, Kotlin.
    Если с тем, чтобы эта практика максимально капитализировалась - "прямо сейчас" (и только в РФ, даже не в СНГ) пока ещё самый популярный Yii2.
    Если хотите на долгосрочную перспективу, альтернатив Laravel 5 (скорее, сразу берите 5,5) вообще не видно.
    php_mvc_frameworks_2017.png
    Ответ написан
    1 комментарий
  • Каким должен быть правильный контроллер?

    действия не по названиям методом, а по типу пришедшего запроса (POST/GET/DELETE).

    Почитайте учебник по HTTP и REST
    в чужих проектах [...] ради CRUD к одной модели создаётся 4 контроллера

    Не читайте давнокод.
    Ответ написан
    Комментировать
  • Как создать функцию добавления объявления?

    Идите от простого с сложному.
    Как минимум,
    "добавления объявлений с возможностью загружать несколько фотографий сразу" и "выводить изображения с данными" - это уже две разные "функции".
    Попробуйте начать со второй - она проще.
    Далее:
    "добавления объявлений" и " несколько фотографий сразу" - тоже можно разбить на шаги "добавить только объявление", "добавить с 1 фото".
    Но вообще, сейчас обычно требуется, тем более для нескольких изображений, асинхронная загрузка, с этим не любой крепкий "середнячок" грамотно справится "с лёту".
    Ответ написан
    Комментировать
  • Как вести лог запросов на сервере и при этом не уронить сервер?

    Телепатически сложно попасть в 100%, но выглядит так:
    1. Сделайте для начала просто сбор логов запросов (поисковых или подобных, видимо?) за сутки, например. Можно просто в текстовый файл.
    2. Выкачайте получившийся лог на локальный комп, проанализируйте.
    3. Если на этапе 2 вы выясните, что какие-то запросы повторяются, прикрутите кеш в памяти (сейчас самый модный в хорошем смысле - Redis).
    Причём может оказаться, что повторяется часть запроса, которую можно кешировать (например, "лопаты совковые", "лопата грести деньги" - можно кешировать запрос "лопаты", а фильтровать уже по дополнению).
    Если запросы совсем всегда разные, возможно, имеет смысл какие-то SQL-таблицы (которые участвуют в большинстве запросов) перекинуть на движок "memory" (для MySQL), или, опять же - в Redis.
    Ответ написан
    Комментировать
  • Какой фреймворк выбрать?

    Непонятно, если вы намастрячились использовать Laravel (что, скорее всего, лучший выбор в мире PHP), зачем вы что-то ещё выбираете?
    Ответ написан
    Комментировать
  • CMS vs PHP Framework. Что выбрать для фриланса?

    Фактически, этот же ответ есть, и не один раз, выше, но просто в качестве плюсования к предыдущим отвечающим, и чтобы немного развернуть:
    Если делать сайты - это CMS. В мире и в России наиболее популярен Wordpress, и он достаточно хорош, чтобы можно было остановиться на нём и (как минимум, поначалу), ни о чём больше не думать.
    В России есть ещё специфический сегмент Битрикса. Специфичность в том, что Битрикс - полное давно, но реально много заказчиков схавали его рекламу, и продолжают колоться и жрать кактус.
    Из фреймворков в мире номер 1 - Laravel 5, в России пока его обгоняет Yii2 (в мире Yii2 почти не существует). Но фреймворки - не для сайтов, а для веб-приложений (хотя, конечно, границу между небольшим приложением и развесистым сайтом обозначить невозможно).
    Ответ написан
    Комментировать
  • Как делают защиту на сайте на PHP?

    Защита от DDoS реализуется на уровне до веб-сервера, и без таковой защиты очень легко уронить сервер на любой технологии, это [очень большие специалисты] выше пишут, что PHP для этого "лучше подходит".
    А XSS и SQL injection легко гуглятся, но основное правило такое:
    Никогда не доверяйте данным, пришедшим в запросе.
    Ответ написан
    Комментировать