Задать вопрос
  • Вопрос про статические функции в php, как избавиться от Strict Standards: Non-static method?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Каша. В основном в голове. Не понимаете как работает наследование, не понимаете как работают классы. Ошибку вам четко указали, просто вы не знаете основ.
    Я знаю, как расшифровывается Non-static method и понимаю, что функция идёт не статичной, как её хочет видеть сам php.
    . PHP не хочет ее видеть статичной, просто указывает что вы ее статичной не сделали, а обращаетесь как к статик.
    хочу вызвать класс oldClass, которая наследуется от controllerClass и функцию view, дабы уже вызвать $this->_message (как пример), уже из обновлённого controllerClass

    1) Классы не вызываются, вызываются методы класса.
    2) То что он наследуется от какого-то класса не делает его автоматически видимым внутри родительского класса, это ВООБЩЕ ДРУГОЙ КЛАСС теперь, никак не связанный с родителем, просто имеющий некоторые одинаковые методы и свойства. Чтобы вызвать его метод, сначала нужно создать объект - экземпляр нужного класса.
    Ответ написан
    Комментировать
  • Как удобно работать с языковыми файлами?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Зачем хранить в файлах? Вам отключили бд на хостинге? Пишите в таблицу со структурой
    id | langid | alias | text |, при загрузке выбирайте только тот язык который нужен, и логика нормальная и выборки разные интересные можно делать, и админку прикрутить легко, чтобы рулить налету новыми фразами.
    Ответ написан
  • Почему возникает ошибка Call to undefined function при наследовании классов?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если somefunction1() у вас относится к НАСЛЕДНИКУ то неплохо бы создать экземпляр класса В, а затем уже обращаться к его методам, т.к. А не в курсе что вы там нафигачили в В. Если это метод из А, и(не вижу в этом куске) находится внутри какого-то метода(что логично, где ему еще быть) ), то обращение к нему будет через $this->somefunction1(), если метод не статический.
    Ответ написан
    Комментировать
  • Как правильно написать Controller для блога на MVC PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если для обучения...
    1) Автолоад в контроллере? За что? Хочешь пользоваться автолоадом - выведи в какой-то базовый бутстрап что-ли. Вообще сегодня уже неймспейсы можно юзать, говорят удобно и модно )
    2) Акшн и контроллер нужно бы проверить на наличие левых символов. Например регулярными выражениями.
    3) В идеале все возможные/допустимые роуты должны быть описаны, обычно в отдельном объекте route. Там же и прописываются правила для расшифровки, что(например алиас статьи в $routs[2]) и какое (например альфанумерик) значение лежит в путях. Он и передается в конструктор роутера. По этому он обычно не статик. Хотя тут у кого как реализовано.
    4) Есть ненулевая вероятность существования переменных в урл ДО контроллера, например языковой префикс: www.mysite.com/ru/someaction/somecontroller
    Ответ написан
    Комментировать
  • Какая фриланс работа с наименьшим порогом вхождения?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Последнее время много встречаю вакансий / задач на битриксе, сам в такое чета не хочу лезть, но если вы не брезгливы - учите, и получите кучу задач, а так же на удаленку можете рассчитывать вполне. Вроде цмс не особо сложная, но говорят если шаг вправо/влево от стандартных задач - гемор обеспечен.
    Попроще - вордпресс, как уже писали, друпал, верстка макетов под них.
    Ответ написан
    2 комментария
  • Импорт в Mysql из csv. Как сделать?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    phpMyAdmin позволяет задать разделители и переносы / окончания строк вручную
    Ответ написан
    Комментировать
  • Что делать если Sending Data занимает 99% времени запроса?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    IS NULL неиндексируемый запрос, вся проблема в нем. По этому время работы выборки будет одинаковым для любого количества строк, т.к. перебор идет "в лоб", и до конца таблицы. Думайте как обойти, в идеале заменить на индексируемое поле, например int.
    Ответ написан
    Комментировать
  • Товар по разным ценам, как действовать?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Не понимаю проблемы, у вас 1 таблица справочник товарных единиц, и 2 таблица закупок, в которую пишется id товара, дата, количество, возможно еще какие-то пояснения(допустим поставщик) и цена по которой купили. Все. Или я чего то недопонимаю в вопросе?
    Ответ написан
    5 комментариев
  • Может ли работодатель требовать после увольнения не заниматься тем, чем занимался до приема на работу?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    бред, даже если я подписал какой-то договор с такими требованиями, есть трудовое законодательство, где ясно прописано что работодатель ни коим образом не может препятствовать моей трудовой деятельности по специальности после увольнения. Неразглашению подлежат только коды созданные в рамках проектов компании и защищенные каким-либо видом патента/авторского права. Все что у вас в мозгах, после увольнения компании не принадлежит. Использование этих кодов в других проектах может породить иск, который нужно доказать, то есть сравнить исходники и признать что они идентичны. Пишите другой код с тем же функционалом, благо любой яп это допускает )
    Ответ написан
    Комментировать
  • Что делать с неадекватным фикспрайсом на Upwork?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Так и напишите - "Задача интересная, но как специалист я ее оцениваю иначе(в другую сумму), если Вы заинтересованны в качественном решении - давайте обсудим детали и обговорим стоимость".
    Ответ написан
    2 комментария
  • Как развивать бизнес в сфере handmade?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) etsy.com
    2) канал на ютубе, как у этого парня например
    3) здесь публиковать пины с етси
    4) Свой сайт тоже в тему будет.

    попробуйте вбить в гугл trollsky knife - чувак пиарится как может, и с этого есть нехилый выхлоп. От собственного сайта до реддита и блогпоста. В ход идет все.
    Ответ написан
    Комментировать
  • Как выявить похожие словосочетания в колонке SQL таблицы?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Я бы прошелся по всей выборке сначала - нашел максимальное количество вхождений слов, в топе наверняка будет мусор аля "Группа", "Live" и прочее. В идеале их вообще почистить(или пометить как-то, например так {{live}}). Дальше по 1 слову (допустим Red), делаем выборку, если в выборке много двух и более -словных сочетаний и мало однословных - скорее всего однословные мусор, а многословные содержат как минимум двухсловное название. Далее чистая стастистика - считаем вхождения каждого слова в выборку, если много - входит в название, мало - мусор. По статистике собираем название из максимально повторяющихся слов. Более подробно уже серьезно на бумажке порисовать/почёркать и вывести стройный алгоритм.
    Ответ написан
    Комментировать
  • Как отловить неопределенную переменную?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Много понаписали кроме этого )
    $vars = get_defined_vars();
    if (array_key_exists('bar', $vars)) {};
    Ответ написан
  • Как структурировать базу данных MYSQL на мультиязычном сайте?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    После того как попробовал всякие методы, в своей разработке пришел к выводу который сейчас опишу. В моей стране 2 языка являются основными, распределение нечеткое т.к. многие свободно говорят на 2 языках, но предпочитают какой-то один, "родной". Тем не менее русскоговорящих порядка 30-40%. При создании платформы встал вопрос о мультиязычности контента, т.к. 90% местных заказчиков естественно хотят иметь минимум 2 языка. В результате организовалось нечто следующее:
    В базе есть таблицы:
    language{
      id (int 2),
      name (varchar 200),
      shortname (varchar 3),
      prefix (varchar 2),
      default (int 1)
    };
    localization{
      id (int 6)
      alias (varchar 200)
      value (blob)
      langid
    };

    Все материалы помимо id имеют groupid и languageid, что собсно позволяет объединять их по материалам и языкам. В таблице принадлежностей (например картинок) всё хранится используя groupid, соответственно товар всегда будет иметь одинаковые картинки для всех языков. С информационными материалами сделали проще - картинки загружаются админом в аплоадную папку и прикрепляются в пост по прямому прописанному линку, т.е.
    в базе не хранятся, не очень красиво, зато избавляет от проблем привязки изображений с разным лексическим контекстом. Таблица localization для перевода статического контента, во вьюшке прописывается хелпер вывода языкового алиаса <?=Locale::get("some_alias")?>
    Ответ написан
    Комментировать
  • Как добавить атрибут в модель Yii?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) нехорошо смешивать названия ключей и массивы данных по именам, поле promo_status и переменная $promo_status, кроме того что переменная не по пср, так еще и путаемся в названиях и домавляем себе и другим батхерта.
    2) Поле promo_status в таблице отсутствует, делаем вывод что это костылик, а раз пошли в разнос - на отрубленной голове по волосам не плачут. Фигачь костыль для тупого копирования: либо метод который будет делать это доп поле, и его в любой момент можно закоментить или отрефакторить, либо в тот же филтер еще одну строчку кода. Пометить как туду и убрать этот фикалоход в ближайшем будущем.

    PS: Максим Тимофеев вот дело говрит, сразу в afterFind засунуть.
    Ответ написан
    Комментировать
  • Передача данных в уже созданый объект?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если возникает вопрос какой объект породил текущий объект - значит у вас явно что-то не то со структурой приложения. Такое поведение противоречит основным требованиям ООП.
    Если ОЧЕНЬ надо, - поставьте галочку:
    "я осознаю что делаю каку, но мне очень-очень нужно!" [ ]
    и пройдите по секретной кривой дорожке ссылке, и почитайте тут тоже.
    Ответ написан
    3 комментария
  • Как передать значение в корзину?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    location.href=this.value;
    WTF?
    Что нужно то???
    Какой обработчик?
    Что должно происходить?
    Ответ написан
  • Склонение редких имён на Yii2 Advenced, как решить нестандартную ситуацию?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Как вариант - сделать сразу небольшой опросник после регистрации - страничка с полями заполненными именем в разных падежах(с куском текста типа "Я без ума от [ Чулпан]"), и попросить пользователя проверить правильность склонения. Поправки можно сохранить в базе и использовать в дальнейшем.
    Ответ написан
    8 комментариев
  • Как передать значение из масива?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Иван Корюков верно написал, если у тебя все это в одном контексте, иначе надо будет передавать как-то по другому, если не выводится ничего - пробуй print_r($webMoney), смотри что выйдет, будет понятно попало ли в переменную какое-то значение вообще.
    Ответ написан
    Комментировать