Согласно шаблону Information Expert нужно назначит эту обязанность тому классу, который обладает достаточной информацией для ее выполнения. Если такого класса не существует, то можно воспользоваться шаблоном Pure Fabrication и создать новый класс для этой обязанности, как посоветовал другой автор ответа.
Нужно создать интерфейс с методами sendSms() и getBalance(), затем реализовать его для каждого провайдера. Количество классов будет соответствовать количеству провайдеров, у всех будет один общий интерфейс.
В статических методах не видны не статические члены класса. Если объекта нет, значит и значений нет. Как вариант, передавайте указатель на объект вторым аргументом, а внутри метода используйте $obj->b и $obj->c или сделайте $b и $c тоже статическими если вам так надо.
Для заголовков надо поставить dev пакет (php7.0-dev). Почему качаете исходники с гитхаба, да еще и dev версию? Вы это собираетесь на проде использовать? Если вам надо только конкретное расширение, не надо собирать PHP. Заходите в папку с расширением, выполняете phpize && make && make install. Подключаете расширение как библиотеку к установленной из пакетов версии PHP.
Можно скопировать файл lib/Varien/Db/Adapter/Pdo/Mysql.php в app/local/Varien/Db/Adapter/Pdo/Mysql.php и в функции _connect() выполнить $this->_connection->query("SET GLOBAL connect_timeout=28800");, лучше такие вещи прописывать в my.cnf. Но мне кажется у вас в чем-то другом проблема, 8000 товаров это мало.
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.