• Почему не заводится интернет через USB модем в Ubuntu?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    • Попробуйте попинговать гугловые DNS: 8.8.8.8 и 8.8.4.4 - так вы сможете понять, что у вас либо нет вообще соединения с интернетом, либо DNS не работает (у провайдеров такое бывает). Лечится указанием гугловых DNS. Хотя network is unreachable - это немного в то поле.
    • Банально, но стоит проверить баланс.
    • Проверьте, что у вас в настройках подключения не указана какая-нибудь чушь. Лучше вообще включить DHCP и получать настройки сети автоматически.
    • Стоит проверить, что модем работает под виндой.
    • Возможно, модем заблокирован и без разблокировки с чужим оператором работать не хочет.
    Ответ написан
  • PHP как сохранить файл с "\"?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Нормально - это как раз когда у вас такие символы экранируются. Любой нормальный парсер JSON правильно читает и когда данные десериализованы, экранирующего бэкслеша больше нет.
    Ответ написан
    Комментировать
  • Есть ли php вакансии где работают только с одним фреймворком?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Кроме локальных и не очень веб-студий, которые занимаются обслуживанием большого количества людей, существуют ещё и компании, которые развивают свой продукт или сидят на аутсорсе по долгосрочному заказу.
    В таких случаях как раз и есть заранее чётко известный стек технологий.
    Ищите работодателя, который занимается разработкой и поддеркой долгосрочных проектов на интересующем вас фреймворке.
    Ответ написан
    Комментировать
  • Почему cookie можно создавать только в начале?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    В дополнение к ответу Сергей Протько скажу, что создавать их можно когда угодно. А вот устанавливать (отправлять) - только перед отправкой тела ответа.
    Кстати, такие вещи как Symfony HTTPFoundation и PSR-7 как раз отчасти созданы для того, чтобы не простреливать себе ногу подобным образом.
    Ответ написан
    Комментировать
  • Какую ОС выбрать для перекодированная видео?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Если ваш гипервизор не способен предоставить коду доступ к инструкциям процессора, которые используются для ускорения кодирования видео или к CUDA на видеокарте, то поищите лучше что-то другое. Иначе будете крайне неэффективно заниматься этим.
    Если будете кодировать на CPU - можете взять любой линукс и ffmpeg. Если мне не изменяет память, Handbrake - всего лишь оболочка над ffmpeg, так что его можно спокойно выкинуть.
    Ответ написан
    Комментировать
  • Как модуль на php подружить с django?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Можно сделать API в каталоге товаров и обращаться к нему из Django.
    Ответ написан
    Комментировать
  • Как правильно работать с полем сущности типа array?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Ну, дело в том, что тип array изначально для работы с формами не предназначался, насколько я знаю.
    Его можно вполне логично применять для хранения каких-то данных, которые содержат несколько сущностей (не в том плане, который имеется в виду в Symfony), но при этом нет смысла их нормализовывать разнося по разным полям или таблицам.
    Например, тип array использвуется в IPhpFileStoreBundle для хранения информации о файле.
    Так что во-первых, можно просто не использовать array, если это не такой случай. Или же, если он именно такой - вы можете попробовать сделать свой тип поля и трансформер для него.
    Либо, в самом простом варианте (но не самом правильном) - добавлять поля с 'mapped' => false и обрабатывать вручную содержимое массива и заполнять его данными. Лучше, конечно, выбрать один из предыдущих способов.
    Как вариант (здесь я не уверен, что это будет работать), можете попробовать добавлять поля используя синтаксис обращения к дочерним элементам:
    $formBuilder
        ->add('arrayField.key1')
        ->add('arrayField.key2')

    Но это лишь предположение, которое я сам не проверял.

    UPD: А ещё посмотрите тут.
    Ответ написан
    Комментировать
  • Установка Linux + EFI?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Если уверены, что хотите и не боитесь всё сломать, можете попробовать настроить нативный EFI-загрузчик. Это может помочь лучше понять, как это всё работает.
    О настройке rEFInd я писал у себя в блоге. Логика для всех дистрибутивов мало отличается.
    Ответ написан
  • Сайт php + AJAX, приехали?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Тут очень, очень много чего можно приводить к божескому виду. Вам, наверное, надо попробовать какой-нибудь не очень сложный MVC-фреймворк для начала.
    Пока что весь код - сплошная каша, которую чуть проще поддерживать, чем если бы всё было в одном файле, но всё ещё значительно сложнее, чем уже проработанные решения.
    $data .=  '<div class="newsPhoto">';
            $data .=  '<img src="'.getImgUrl($news['photo']).'">';
            $data .=  '</div>';
            // ...

    Вообще, если вам так хочется всё это делать именно в PHP - можно использовать либо Heredoc/Nowdoc, либо просто записывать в кавычках без лишних конкатенаций кода с самим собой. Хотя лучше, конечно, всё это делать в слое View (см. MVC) - попробовав вы быстро поймёте - насколько это круто, когда логика (операции с данными) и представление (вывод данных) разделены.
    $sql = mysql_query("SELECT news_id, title, description, photo FROM news WHERE category='1' ORDER BY news_id DESC LIMIT 10") or die(mysql_error());

    Используйте PDO и подготовленные запросы с биндингом параметров.
    А ещё у вас везде одинарные кавычки (что хорошо), а тут - двойные. Зачем? Одинарную кавычку можно экранировать с помощью бэкслеша.
    if (isAJAX() == false) {
    echo head('Новости',array('common.css', 'news.css'),array('common.js'));
    echo body();
    echo news_menu();
    echo news();
    echo footer();
    }

    Это очень мило. Вы почти пришли к шаблонам :)

    Могу порекомендовать вам для приобретения понимания как лучше коду выглядеть сделать три вещи:
    1. Ознакомиться с PSR-2 как минимум.
    2. Прочесть и постараться максимально понять Php The Right Way.
    3. Переписать всё это на каком-нибудь более-менее современном, но ещё не очень сложном фреймворке, который из коробки имеет MVC. В памяти пока что всплывает, например, FuelPHP.

    Ну и дальше как разберётесь - уже просто набираться опыта, смотреть как делают другие (опенсорс всегда в помощь), пробовать делать какие-то маленькие вещи для себя, чтобы разобраться в чём-то.
    Ответ написан
    5 комментариев
  • Могут ли несколько пользователей подключиться под одним username на одном сервере?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Давайте и я примажусь с наглядной демонстрацией, чтобы вам спокойней было :)
    f49b090c60e5450a91bbf73ccf1372d5.png
    Ответ написан
    2 комментария
  • Какие проблемы могут возникнуть при создании сервиса рассылок на шареде?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Могут помешать ограничения по памяти, по обращениям к диску. Могут заблокировать аккаунт за рассылки в больших количествах (то, что вы проверяете на спам никого волновать не будет).
    Ответ написан
    2 комментария
  • Как составить таблицы БД для многоуровневой реферальной системы?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Если хотите одним простым запросом выбирать из дерева - вам нужно смотреть в сторону хранения древовидных структур: Nested Set, Materialized Path, Adjacency List, Closure Table, etc.
    У них есть свои плюсы и минусы - вам нужно подобрать под вашу задачу в зависимости от того, какие операции с деревом вы будете производить.
    Вот здесь про них уже есть ответ. А вот здесь - статья.
    Ответ написан
    Комментировать
  • Почему PHP не определяет ajax запрос?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    На stackoverflow.com прочитал что данная переменная $servers формируется на основе заголовков и мол, ей нельзя доверять (ссылку на сайт с вопросом потерял.)

    А вот разработчики Symfony - доверяют.

    Вы посмотрите в отладчике браузера, уходит ли этот заголовок. Возможно это ваш клиентский код косячит - тогда править надо его.
    И ещё посмотрите в отладчике PHP, что у вас там в заголовках творится.

    UPD:
    Будете делать ответ - не забудьте устанавливать в заголовках Content-Type в соответствующий тому формату, в котором отдаёте.
    Ответ написан
    9 комментариев
  • Как сгруппировать элементы формы?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Не очень понятно, чего вы хотите.
    Но попробуйте поместить каждую группу в свой элемент <div>.
    Ответ написан
    Комментировать
  • Filesize php, как сравнить размер?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    А с чего вы взяли, что он "пропускает" if?
    Дебаггером-то посмотрите, что у вас возвращается из обоих вызовов filesize().
    Ну и числа правильнее сравнивать со строгой типизацией:
    if (1 !== 2) {

    Кстати, вам оба filesize() могут возвращать false (и генерировать warning при определённом уровне показа ошибок) из-за ошибки.
    Ответ написан
    2 комментария
  • Как сохранить измененный значения после перезагрузки страницы?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Обновление надписи на кнопке при клике - одно. В целом, вам логично либо сделать отправку в корзину через AJAX, либо надпись на кнопке должен менять сервер при повторной загрузке страницы. Ведь он знает, что этот товар лежит в корзине.
    Сохранять статус вам вообще не нужно.
    Ответ написан
    Комментировать
  • Какой шаблонизатор посоветуете для OpenSource проекта на Yii2?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Twig. У него даже есть расширение PHP для ускорения работы.
    Ответ написан
    Комментировать
  • В какой последовательности изучать языки программирования?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Имеет смысл начать с C/C++, чтобы понять некий базис и строгую типизацию. Потом попробовать Python/PHP и посмотреть, что такое динамическая типизация. Осознать для себя плюсы этих двух подходов. И если душа ещё не легла к какому-то из языков - можно попробовать энтерпрайзную Java или C#.
    Ответ написан
    Комментировать
  • Какой php фреймворк достаточной гибкий?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Можете начать переносить код на компоненты Symfony, а потом перейти целиком на Symfony.
    Но, возможно, kapai69 прав и переписывание создаст слишком много проблем с любым фреймворком.
    Ответ написан
    Комментировать
  • Как заменить фотографию сущности?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Ну вы же в контроллере можете описать логику обновления сущности, а не только автоматически заполнить её новыми данными из формы.
    Ответ написан