• Срабатывает статический вызов не статического метода, как так?

    @MadridianFox
    Web-программист, многостаночник
    Метод не использует данных объекта, так что ничего не мешает ему быть вызванным статически. Если бы внутри было обращение к полю через $this, то выскочила бы ошибка.
    И да - это PHP...
    Ответ написан
    Комментировать
  • Как правильно сделать запрос?

    @MadridianFox
    Web-программист, многостаночник
    SELECT product_id FROM params WHERE param_id IN(1,2)
    Ответ написан
    Комментировать
  • Как дописать код отправки массива на сервер?

    @MadridianFox
    Web-программист, многостаночник
    Зависит от протокола по которому сервер принимает данные и того в каком формате он эти данные ожидает. Если сервер требует данные по http, то можно использовать curl. Данные что вы показали являются массивом, но это не массив неизвестной длинны с элементами одинакового типа, а скорее список пар ключ-значение. Можно передать его как urlencoded параметры запроса. Можно конвертировать json и отправить в теле POST запроса. Но опять же, всё зависит от от того что ждёт сервер.
    Ответ написан
    Комментировать
  • Получение конкретного блока через ajax?

    @MadridianFox
    Web-программист, многостаночник
    Нужен отдельный файл, который будет отдавать только main. Можно сделать чтобы сама страница сначала отдавалась пустой, но по окончании загрузки автоматически уходил бы ajax запрос на этот отдельный файл. чтобы получить неотфильтрованные данные. Далее при введении данных в форму фильтра можно делать ajax запросы на тот же отдельный файл и заменять содержимое страницы.

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

    @MadridianFox
    Web-программист, многостаночник
    Очень большой пласт информационной безопасности завязан на достаточно низкоуровневом программировании, ведь именно на низком уровне происходит преодоление систем безопасности.
    Поэтому если хотите продолжать учиться по выбранному направлению - учите плюсы.
    Защитить диплом можно и с PHP, если правильно сформулировать тему, но некоторые предметы можно будет понять только если знаешь С/С++/ассемблер.
    Ответ написан
    Комментировать
  • Что такое DI инъекция зависимостей?

    @MadridianFox
    Web-программист, многостаночник
    Инъекция зависимостей, это когда ты не жёстко в коде прописываешь то что один компонент использует другой, а передаёшь один компонент другому.
    Конкретно:
    // без DI
    class Application{
         private $database;
         public function start(){
              $this->database=new Database("localhost","user","pass");
              //....
         }
    }
    $application = new Application();
    $application->start(); 
    
    // с DI
    class Application{
         private $database;
         public fucnction __construct(Database $d){
               $this->database=$d;
         }
         public function start(){
              //....
         }
    }
    $application = new Application(new Database("localhost","user","pass"););
    $application->start()

    Таким образом создание большинства компонентов сосредотачивается в одном месте - там где запускается приложение.
    Зачем?
    Во первых удобно контролировать. Если мы захотим использовать вместо Database другой класс для работы с БД, мы знаем где и что поменять.
    Во вторых удобно тестировать, это вытекает из первого - для юнит тестирования нам наверняка понадобится вместо Database использовать Mock объект. Ну и лёгкость замены компонента нам только на руку.
    Ответ написан
    Комментировать
  • Не заносить пустые значения поля в БД. Codeigniter, как?

    @MadridianFox
    Web-программист, многостаночник
    public function update($id, $password, $email=null, $year=null){
            $arr = array(
                            'password'  => sha1(md5($password)), 
                         );
            if($email) $arr["email"]=$email;
            if($year) $arr["year"]=$year;
            $this->db->where('id', $id);
            $this->db->update('users', $arr);
        }
    Ответ написан
    Комментировать
  • PHP SQLite3 из базы перенести на WordPress?

    @MadridianFox
    Web-программист, многостаночник
    1) найти в БД WP таблицу которая хранит посты, изучить её структуру. Там помимо названия и контента наверняка нужны дополнительные данные, например автор и дата публикации
    2) написать скрипт, который подключается к sqlite и к БД WP и делает что-то вот такое (псевдокод):
    while($post=$sqlite->fetch()){
        $wp_db->insert("wp_post", ["title"=>$post["title"],"content"=>$post["content"],"author"=>$author_id])
    }
    Ответ написан
  • Как отправить POST-запрос?

    @MadridianFox
    Web-программист, многостаночник
    Скорее всего имеется ввиду
    header("Location: url.php?param=value");
    но только параметр должен быть передан через post, а не get.
    curl такого эффекта не даст. Тут надо пользователю выдать промежуточную страницу с post формой (м.б. даже скрытой), которая при полной загрузке страницы автоматически сделает submit.
    Ответ написан
    Комментировать
  • Как рекурсивно обойти JSON?

    @MadridianFox
    Web-программист, многостаночник
    Может $arr надо передавать по ссылке?
    Ответ написан
    Комментировать
  • VirtualBox не видит сетевые интерфейсы в Windows 10. Что делать?

    @MadridianFox Автор вопроса
    Web-программист, многостаночник
    Помогла установка VB в режиме совместимости с win7
    Ответ написан
    Комментировать
  • Где и как можно обучиться ООП по простому, желательно для web-оринтирования?

    @MadridianFox
    Web-программист, многостаночник
    Согласен с skvot, Мэтт Зандстра "PHP. Объекты, шаблоны и методики программирования" для начала и Мартин Фаулер "Шаблоны корпоративных приложений" для общего развития.
    Да, эти книги для тех кто уже знает что такое классы объекты и прочая лабуда (хотя Зандстра и про это пишет), но в отличие от вездесущих мануалов по ООП, здесь показывается как использовать ООП в реальных задачах.
    Ответ написан
    Комментировать