Задать вопрос
  • Как безопасно пользоваться PHP Imagick?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Читать и собирать код из репозитория самостоятельно и следить за его разработкой (багтрек и обновления файлов).
    2. Проверяйте все входные данные ("body" изображений) на соответствие ожидаемому формату.
    3. Запускать скрипт для обработки изображений в защищённой и полностью изолированной PHP-среде.
    Ответ написан
    Комментировать
  • Какой стиль ООП выбрать?

    @egormmm
    Борітеся — поборете!
    1. Похож на "рецепт приготовления пирога". Чтобы испечь пирог - сделай а,б,в, .... и положи в печь.
    Минусы: вам нужно знать рецепт, какие ингредиенты могут быть, в какой последовательности их класть, и т.д. Это потребует изучение мануалов.

    2. Можно использовать, если параметр метода - это некоторое "уточнение" для метода, а не его зависимость.

    3. Я использую этот. Небольшие классы, легко тестировать и расширять. В конструкторе необходимо указать тип для параметра. Тогда приготовление пирога сводится к предоставлению определенных зависимостей, и самого процесса "выпечки" (вызова метода).
    Ответ написан
    4 комментария
  • Какой стиль ООП выбрать?

    @synapse_people
    пример 2 и только
    Обьясню
    Например, SomeClass - сервис логгирования.
    Тогда сделаем ему интерфейс, создадим 2 подтипа - логер на файлах и в БД.
    Итого 1 интерфейс, 2 класса реализации.
    Параметры метода описаны в интерфейсе..
    Вот и имеем, что метод будет вызван с конкретным аргументом...
    В других случаях не понятно поведение подклассов, которые будут это реализовать.. А именно в плане того, что должен делать setItem в 1 случае, и ессно интерфейсы не могут описывать конструкторы как в примере 3...
    В итое имеем, что можно легко заменить объект другим объектом ТОЛЬКО в примере 2.
    Насчет геттеров - имхо, лучше создавать приватные свойства и геттер+сеттер
    Т.к. на больших проектах чаще всего получается лапша, да и в плане многопоточности, и опять же-интерфейсов -просто свойства не есть хорошо...
    Ответ написан
    Комментировать