• Как отправить письмо с сайта?

    Функция mail или PHPMailer
    Ответ написан
    Комментировать
  • Сайт без футера, так ли это плохо?

    blasheevich
    @blasheevich
    Желательно пользователю как-то визуально дать понять что всё, страница закончилась, дальше крутить бесполезно.
    Думаю в этом во многом и смысл футера. Какой-то элемент нужен чтоб не было впечатления неожиданного обрыва.
    Выделенной цветом полоски вполне достаточно.
    Ответ написан
    Комментировать
  • Какой парсер HTML на PHP выбрать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Если вам нужна производительность - один из приведенных вами вариантов. Насколько я помню первый вариант так же поддерживает xpath.

    Если же вам нужна скорость и удобство - https://github.com/paquettg/php-html-parser (так же можно поискать еще варианты). Хотя опять же, возможно вариант с xpath будет даже удобнее.
    Ответ написан
    1 комментарий
  • (Yii2) Оправдано ли использование Bootstrap в несложных шаблонах?

    SamDark
    @SamDark
    Yii2 core team
    В Yii2 bootstrap не внедрён вообще. Просто в фреймворке есть всё, чтобы с ним работать и в поставляемых по умолчанию шаблонах это используется.

    Вот, например, мой шаблон, чтобы работать без bootstrap: rmcreative.ru/blog/post/yii2-minimal

    Ну а вообще с bootstrap приятно.
    Ответ написан
    1 комментарий
  • (Yii2) Оправдано ли использование Bootstrap в несложных шаблонах?

    metamorph
    @metamorph
    Ошибаетесь. Все стандартные шаблоны кастомизуемы, в том числе - глобально.
    (за деталями - в документацию и исходных код примеров приложений)

    Тем не менее, bootstrap изучать надо (если только Вы не профессиональный верстальщик), хотя бы для того, чтобы представлять, что вообще в мире делается.
    Ответ написан
    Комментировать
  • (Yii2) Оправдано ли использование Bootstrap в несложных шаблонах?

    @goodknight
    Из BS тяжело и сложно вырезать его дефолтные стили и прочие гадости.
    Из того же Zurb Foundation 5 или Semantics UI намного легче.
    Но проще свое, имхо.
    Ответ написан
    Комментировать
  • Каков план личностного развития PHP программиста с нуля?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Есть опыт помощи таким начинающим.
    реальный срок до запуска джуниора - полгода, никого не слушайте.

    Важные моменты
    веб-программирование на базе PHP - это стек технологий: PHP/SQL/CSS/HTML/JS + Linux хотя бы азы + знание важных инструментариев (FTP, Git/SVN, работа с БД)
    чистый PHP плюс даже все перечисленное выше - не особо нужно и не интересно. Нужно знание конкретных платформ: фреймворков и/или CMS. (Почитайте вакансии на Хантиме по запросу PHP, обратите на это внимание). Навскидку самые востребованные (спорно конечно): Yii фреймворк, CMS Битрикс и Wordpress.

    Как начать?
    Смело на амбразуру!
    1) Установите у себя рабочую среду LAMP/WAMP - Apache, PHP, MySQL. Для этого возьмите пакет Denwer или OpenServer, что больше понравится. Сделайте Hello World просто как HTML, потом на PHP, потом алертом на JS. Порадуйтесь.
    Установите все редакторы кода. Кто там вам будет рекомендовать блокнот или notepad++ - не слушайте. Варианты: если машина мощная (4+ Гб памяти и пр.), берите редактор phpStorm (для php/html/css/js). Если не очень мощная - берите komodo edit. Для работы с БД инструмент встроен в Denwer/OpenServer, это phpMyAdmin
    2) Идеально, если вы договоритесь сделать кому-нибудь сайт. Бесплатно или за небольшую плату. Если нет - сами себе поставьте задачу: сайт про котиков/про детей etc. Красивый сайт, с галереей, с эффектами, с материалами
    Возьмите CMS Wordpress и попытайтесь сделать сайт у себя на компьтере. Настоящий сайт, во всей красе, как вы хотите. Правьте его, смотрите код, экспериментируйте. Сообщество огромное, вы найдете ответы на все свои вопросы
    Потратьте чуть денег, купите себе домен и хостинг, залейте сайт на хостинг.
    Порадуйтесь. Похвастайтесь.
    3) Ищите в сети тестовые задачи и решайте их, изучайте материалы собеседований, вопросы - их много.
    4) Зарегистрируйтесь на odesk.com под каким-то фейковым email, пройдите тесты по PHP, CSS, HTML, jQuery, Wordpress, а во время прохождения делайте скриншоты вопросов. Потом изучайте эти вопросы, ищите ответы, далеко не обязательно на все. Тесты вы, конечно, не пройдете, но вам нужны только вопросы.
    5) Постоянно следите за вакансиями "PHP-программист", "веб-программист" на Хантиме, на hh.ru и подобных ресурсах.

    И да, как только напишете первую строку кода - начните читать про Git. Как будете готовы - сразу внедрите у себя Git, вы будете очарованы его возможностями.

    Вот как раз на полгода.
    После этого у вас появится масса информации, и дальше вы сами сориентируетесь.
    Ответ написан
    11 комментариев
  • Каков план личностного развития PHP программиста с нуля?

    butteff
    @butteff
    Раз в тысячу лет заправляю свитер в носки
    В общем, вот мой совет, после третьего пункта порядок можно брать уже любой, смотря что надо для решения задач, т.е. важна практика.

    1. Начать надо с основ - html/css
    2. Затем учить php + пару CMS (только хороших, я думаю это cms made simple, livestreet, wordpress)
    3. Узнать про базы данных, начать с MySQL, перейти в noSQL базы данных (например mongo db)
    4. Начать учить фрэймворки (Symfony2 и Yii)
    5. Изучить серверные технологии (Apache + nginx, linux различные, работу с командной строкой, ssh и ftp на уровне настройки и поднятия этих протоколов, права доступа и прочие фишки, вроде sphinxsearch)
    6. Узнать про кэширование и проникнуться этим, угореть по хайлоад
    7. Изучить еще пару скриптовых языков и фреймворков (Rubу + Ruby on rails, python + django)
    8. Угореть по IT security, penetration testing
    9. Изучить еще больше фронтэнда - javascript + jquery, Angularjs, html5/css3;
    10. Угореть по всяким системам контроля версий, git, jira

    Сдать на ZCE и получить как можно больше международных сертификатов, на случай, если хотите мигрировать.
    Ответ написан
    4 комментария
  • Как отговорить клиента от Битрикса?(1C-Bitrix)?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Странно, что за привязанность такая... Ведь клиент всяко меньше понимает, чем разработчики. Пусть пишет подробные требования, если Ваша cms их выполняет - то зачем держаться за битрикс?

    upd:
    @yiicoder я частенько защищаю битрикс, но это не тот случай. Расскажите про структуру битрикса простыми словами. Я работал с битриксом, и вот читаю Ваше описание, и понимаю какие костыли пришлось бы делать для этого, точнее какие костыли уже сделаны. Битрикс хорош для стандартных решений, где скачал, установил и на следующий день уже ждешь заказы. А когда структура имеет ветви, непредусмотренные в стандартных компонентах, то это уже совсем другое дело.
    Ответ написан
    6 комментариев
  • 1 папка и 10 000 картинок или 10 000 папок и по одной картинке в каждой?

    хорошая практика, применяющаяся много где, например у Microsoft
    вычисляем md5 у файла - 2274facdbca56499fe397344c633e25a
    файл кладем в папку avatars/227/4fa/cdb/2274facdbca56499fe397344c633e25a.jpg
    Ответ написан
    9 комментариев
  • Как заставить быстрее грузиться чужой скрипт?

    akubintsev
    @akubintsev
    Опытный backend разработчик
    Насколько я увидел, модуль грузится посредством javascript. Собственно, можно написать cron-скрипт, который будет например раз в 15 минут обновлять кеш curl-ом. Данные кеша можно записать куда пожелаете и подключать их простым include. Это обычный javascript. Но есть засада нарваться на проблемы кросс-доменных запросов.
    Ответ написан
    4 комментария
  • Есть ли синонимы у слова "мультимедиа"?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    название сайта можно выбирать различными путями, не только на основе того что будет на нем, но и кто будет туда заходить и главное зачем.

    Но как я понял у вас будет нечно вроде торент-трекера/варез портала.
    Ответ написан
    5 комментариев
  • Что называется базовым программированием в c++?

    @leclecovich
    Вам потребуется 21 день.%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D1%83%D1
    Ответ написан
    Комментировать
  • Где можно брать информацию об играх?

    @v_prom
    из steam, скорее всего можно или из аналогов..
    Ответ написан
    1 комментарий
  • Какое время фрилансеру оплачивать?

    pavel_salauyou
    @pavel_salauyou
    Symfony2 & Angular разработчик
    а почему заказчик не должен оплачивать коммуникацию и фикс багов??? это что не процесс разработки? вот из-за таких заказчиков и не хочется работать с местными работодателями.
    Ответ написан
    16 комментариев
  • Кто начинал программировать с 20-ти лет и старше?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Вы так говорите, как будто идете в балет пируэты танцевать. Здесь всё проще -- есть голова на плечах? есть желание? Всё остальное приложится.
    Ответ написан
    1 комментарий
  • В чем отличие cms от framework?

    GM2mars
    @GM2mars
    Сначала рождается бинарный код, потом он идет в школу и становится обычным скриптом. Свою юность он проводит в институте где складывается в "библиотеку". Потом все больше обрастает библиотеками, обычные функции складываются в классы и выходит уже сформировавшийся фреймворк, готовый пробовать себя в деле. Опробовав себя в различных сферах, он останавливается на чем то конкретном и становится CMS, потому что уже не ищет приключений и новых свершений, его устраивает то, чем он занимается, и некоторые считают его профессионалом в своем деле.
    Ответ написан
    2 комментария
  • Как Вы понимаете junior, middle (developer), senior и есть ли принципиальная разница этих понятий в вебе, эмбедде, геймдеве и других программиннгах?

    FirstX
    @FirstX
    .net developer
    Эти понятия, как и многое другое, пришло с запада. В России, знаю на примере текущей компании, есть разделение на "Инженер-программист 3й категории", 2й категории и высшей категории (ведущий инженер-программист). В нормативных документах, в том числе и в рамках должностной инструкции описано, что например инженер программист 2й категории - это сотрудник с высшим образованием по специальности и таким-то количеством лет опыта. Это формальный подход, на практике мне дали 2ю категорию существенно раньше, чем "положено".

    Тем не менее, сейчас все равно используются эти 3 понятия (с довольно плавающими границами) для того, чтобы как-то разделяться уровень программист. Точное определение можно получить только в рамках компании и тех требований, которая она предъявляет. Например где-то один и тот же программист может быть сеньором, а в другой - максимум мидл.

    Может ли использоваться с целью занижения зарплаты? Может. Мое мнение, что в данном вопросе важно не "звание", а то как твой опыт и твои навыки покрывают запросы чужого бизнеса. Отсюда и вытекает твоя стоимость на рынке. И где-то будучи джуниором можно получать больше, чем мидл в другом месте, зависит от предъявляемых требований. Хочет ли работодатель купить дешевле тот же скилл? Хочет. Есть компании, где критерии формализованы, в рамках этой компании рост более прозрачен.

    Можно ли ответить быстро на этот вопрос? Можно. Все зависит от человека и по какой шкале он себя будет оценивать. Есть те, кто пытаются поднять свой статус, есть те, кто наоборот предпочитает предъявлять к себе повышенные требования. А есть средняя температура по больнице. Все-таки колоссального разброса в представлениях работодателей нет, поэтому есть от чего отталкиваться.

    Это все лично мое мнение, не претендующее на истину)
    Ответ написан
    Комментировать
  • Как красиво решить это с помощью ООП?

    pavel_salauyou
    @pavel_salauyou
    Symfony2 & Angular разработчик
    наверно в вашем случае нужен паттерн проектирования Фабричный метод.

    class MaterialFactory 
    {
        public static function build($type)
        {
            // тут генерим путь до класса на основе его типа
            return new $className();
        }
    }
    
    class Material
    {
        public function save()
        {
            // тут свои действия
        }
    }
    
    class SuperMaterial
    {
        public function save()
        {
            // тут другие действия
        }
    }


    потом в вашем методе

    public function save($one,$type){
         $obj = MaterialFactory::build($type);
         $obj->save();
    }


    но схему можно ещё улучшить, всё зависит от текущего вашего кода
    Ответ написан
    2 комментария