• Как лучше называть переменные $itemText или $item_text в php?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Есть всего 2 источника истины - PSR и Coding Standard конкретного проекта или команды.
    2. Конкретно PSR-1 говорит следующее:


    4.2. Properties

    This guide intentionally avoids any recommendation regarding the use of
    $StudlyCaps, $camelCase, or $under_score property names.

    Whatever naming convention is used SHOULD be applied consistently within a
    reasonable scope. That scope may be vendor-level, package-level, class-level,
    or method-level.

    Кратко: не важно какой стиль вы используете, главное использовать один и тот же. То есть, возвращаемся к второму варианту - стандартны проекта/команды.

    3. Что касается "industry standards", то в большинстве современных проектов уже используется camelCase для свойств и методов, PascalCase (StudlyCaps) для файлов, классов и пространств имен.

    P.s. я понимаю, что чисто технически нет ни какой разница, но я не хочу из-за такой мелочи превращать свою работу в говнокод :)

    Говнокод – это совсем про другое. Если проект использует везде snake_case и вы будете его всегда и везде использовать, на качестве кода это никак не отразится. Consistency matters.
    Ответ написан
    2 комментария
  • Как лучше называть переменные $itemText или $item_text в php?

    mashletov
    @mashletov
    Math.random()
    Просто всегда делай так:
    ClassName / TraitName / InterfaceName
    $varibleName
    function functionName($paramName)
    define('DEFINED_CONSTANT_NAME', 0)
    
    // названия файлов:
    ClassName.php — внутри класс (трейт, интерфейс)
    init.php / config.php — внутри не класс
    Ответ написан
    2 комментария
  • Как отследить изменения размера экрана?

    Seasle
    @Seasle Куратор тега JavaScript
    window.addEventListener('resize', function () { // Можно принимать объект события
        // Если width глобальная переменная
        width = screen.width;
    });
    Ответ написан
    3 комментария
  • Что такое webhook?

    Negezor
    @Negezor
    Senior Shaurma Developer
    Webhook — механизм оповещения системы о событиях.

    Допустим есть определённый сервис который должен оповещать о событиях когда они происходят.
    Как вариант постоянно запрашивать новые данные на сервере, минус будет скорее в скорости получения данных если на сервере например стоит задержка на получения новых оповещений.
    А вот webhook исправляет этот недочёт, когда происходит событие он запрашивает адрес сайта с параметрами, например example.com/webhook/notification и передаёт в теле POST запроса JSON (зачастую) и там будут свежие данные.

    Простой пример можно посмотреть: создание бота для telegram на webhooks.
    Ответ написан
    4 комментария
  • Как верстать такой срез текста?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега CSS
    Картинкой. Нет никакого смысла заморачиваться, кроме спортивного интереса.
    У вас спортивный интерес или вы для реального проекта интересуетесь? Если второе, то только картинкой - всё остальное будет ненадёжно/сложно/криво в разных комбинациях.
    Ответ написан
    Комментировать
  • Как обернуть тэгами код в phpstorm?

    pashted
    @pashted
    тыжпрограммист
    8afb701e3ecd40ebaa1a7a7ff6848346.jpg
    1ce4c9b40860494583405ac3e4d40431.jpg
    fc9cabd758a2476ab3e6f681f98a5f13.jpg

    если, вдруг, понадобилось вернуть всё обратно, в голову приходит только такой вариант:
    77a4085493184bc5beed76844a05ffac.jpg
    чтобы не удалить случайно что-то лишнее, шаблон можно дополнить какими-то символами, вроде воскл знаков.

    обратите внимание на подчеркивания в меню ctrl+alt+j. если нажать на клавиатуре первую букву аббревиатуры шаблона, будет применён конкретный шаблон из списка. так что название выбирайте так, чтобы было удобно нажимать его первую букву.
    Ответ написан
    3 комментария
  • Зачем использовать Vue вместе с Laravel?

    Добавили, чтобы вы jquery спагетти не использовали. Vue (как и другие js фреймворки) сокращает количество кода на клиенте и уменьшает его запутанность.

    Для примера вы создаете админку для магазина. У вас есть следующие варианты:
    1. Делать статическую страницу. На клиенте никакой логики, все вычисляет сервер. При новой покупке администратор должен будет обновить страницу.
    2. Писать динамический фронтэнд с использованием vue, angular и чего угодно остального. Бэкэнд шлет вам уведомления через вэбсокеты о новых заказах без перезагрузки страницы.
    2.1 Вы берете jquery и сначала все идет хорошо. Первые полчаса. Затем ваш код обрастает огромным количеством обработчиков событий. Если товар заканчивается на складе, его надо убрать из таблицы, затем если заказ отменяется, его надо вернуть в таблицу. Вы его вернули, но почему-то кнопка в строке с ним, вызывающая модальное окно перестала реагировать на события, потом еще что-то случилось и еще. Проблемы с jquery растут как снежный ком и вы проклинаете свое решение создать динамическую админку.
    2.2 Вы используете современный js фреймворк. Vue в этом плане хорош низким порогом изучения. Вы загружаете определенные обхекты и в зависимости от их свойств vue сам строит таблицы (с проданными и непроданными товарами), скрывает лишние элементы (не показывать такую-то кнопку, если товар всего 1), отправляет плагинам команды на обновление при изменении объектов и следит за тем, чтобы события, которые отваливались при jquery подходе работали.

    Я не сказать что спец в javascript, но (именно поэтому) меня vuejs на текущем проекте очень выручает.
    Ответ написан
    Комментировать
  • Скажите правильный ли код html?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Откуда берется текст для автодокументации?

    profesor08
    @profesor08 Куратор тега JavaScript
    Среда разработки может иметь функционал задавать автоматически комментарии к коду. Например в phpstorm если написать /** и нажать enter перед ранее объявленной функцией, то он автоматически сгенерирует доки основываясь на аргументах функции.
    /**
     * 
     * @property {string} [description]
     * @property {number} [url] 
     */
    function bla(description, url) {
    }


    Программисту остается только написать комментарии к аргументам и описание функции.
    Ответ написан
    Комментировать
  • Как лучше всего организовать таблицы БД и модели в Yii2?

    @davidnum95
    Трех таблиц достаточно:
    analyze
    id | name | type
    
    property 
    id | type | name
    
    analyze_property_value 
    id | property_id | analyze_id | value
    Ответ написан
    1 комментарий
  • Как пользоваться pug?

    kvtns
    @kvtns
    Веб-разработчик
    1. Pug — ребрендинг Jade. Был переименован из-за жалобы некоего одноименного бренда, не связанного с IT. Для работы я бы рекомендовал использовать именно его. Синтаксис такой же как и в Jade.

    2. Код из туториала в Pug компилируется. Проверьте правильность отступов. Установите Linter, если работаете в Atom/Sublime.

    3. Для компиляции использую следующий таск в Gulp:

    gulp.task('html', function buildHTML() {
      return gulp.src('app/pug/*.pug')
        .pipe(pug({
          pretty: true
        }))
        .pipe(gulp.dest('app'));
    });

    4. Вот примеры нескольких рабочих вариантов с if/else:
    - development = false
    -
      css = [
        "css/fonts.css",
        "css/header.css",
        "css/style.css",
      ];
    
    if development
        each item in css
            link(rel="stylesheet", href="" + item + "")
    else
        script(src="css/style.min.js")


    5. На своих проектах делаю такую структуру:
    - главный файл index.pug
    - каталоги: includes, mixins, regions (из названий должно быть понятно, что они содержат)
    - файлы из каталогов инклудятся по мере надобности директивой include.
    Ответ написан
    1 комментарий
  • Redis и PHP, с чего лучше начать?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    Какие основы-то?
    Там get и set.
    Сколько нужно программистов чтобы вкрутить лапмпочку выучить две функции?
    Ответ написан
    3 комментария
  • Заработок на вёрстке?

    @rudants
    Front-end разработчик
    Что за бредовые подсчеты знаний в процентном соотношении? Не занимайтесь ерундой, прекратите выдумывать эти мнимые значения - это невозможно подсчитать.
    Пришли сюда за советом и помощи ищете? Постараюсь помочь:
    1. Для начала, снизьте свои требования и ожидания от фриланса. Никто вам не будет платить и 2$/час на биржах. Вы не имеете опыта, не работаете с современными технологиями, нет портфолио, не умеете подстраиваться под других людей, и т.д.
    2. Если что-то делаете - делайте нормально. Не нужно делать глупых умозаключений, что портфолио можно набить мусорными работами, найденными в интернете. Да, можно. А теперь спросите себя - нормально ли это? Если вы уже на старте пытаетесь сделать плохо? Тех, кто делает работу плохо предостаточно, а вот хороших, ответственных и грамотных специалистов - мало. Вторых хотят везде и спрос на них бесконечно велик. К кому хотите относиться?
    3. Нарабатывайте портфолио. Не надо на начальных этапах гнаться за деньгами, на первых порах нужно набираться опыта, развивать навыки и очень много учиться. Делайте работу и просите, чтобы ее оплатили в таком размере, в каком заказчик посчитает нужным.
    4. Верстать нужно много, не стоит лениться набирать код руками, даже если уже есть готовое решение и его можно скопировать. Лучше будете запоминать, быстрее соображать и научитесь быстро шлепать пальцами по клавиатуре.
    5. Нужно много учиться, но при этом не распыляться. Я уже заметил, что вы с одного на другое перепрыгивать любите. То верстку, то программирование изучаете. Остановитесь на чем-то одном для начала, и когда будете чувствовать, что получается одно, то можно и другое будет начать.
    6. Научитесь подстраиваться под других. Не надо думать, что вы самый классный и самый нужный - это не так. Вас легко заменить. Если вам говорят, что есть работа здесь и сейчас - соглашайтесь, это ваши перспективы и ваша возможность заработать. Если говорят, что готовы помочь прямо сейчас - ищите возможность получить ее, это нужно только вам, потом такой возможности может и не быть. Хотите развиваться как специалист - много работайте и научитесь лишать себя удовольствий. Если не научитесь - будете нытиком-ремесленником всю жизнь, который оправдания на все неудачи в ком-то ищет, а не в себе.

    Ну и самое главный совет - забить на фриланс. Это рутина, от которой стремиться уйти любой нормальный человек. Фриланс - это работать 24 часа в сутки, самостоятельно дисциплинировать себя и формировать график индивидуально. Хотите расти и зарабатывать - ищите место, где вас примут в штат и будут готовы обучать.
    Ответ написан
    Комментировать
  • Как добавить класс при клике, а потом удалить при клике за пределами открывшегося блока?

    Zoxon
    @Zoxon
    Веб-разработчик
    Простейший дропдаун codepen.io/Zoxon/pen/YwpLpK
    Ответ написан
    Комментировать
  • Как стилизовать виджет погоды?

    creativeworm
    @creativeworm
    У Яндекс.Погоды есть вывод в XML. Парсите эту XML, собираете такой виджет.
    Статья на хабре
    Ответ написан
    Комментировать
  • Как добавить видео youtube в группу вконтакте через VK API?

    @Hakhagmon
    //to vk
    $link = 'https://youtu.be/'.$_POST['fild']; // ccылка на ютуб
    $name = urlencode($item['title']); //название видео (не обязательно)
    $description = 'https://post-hardcore.ru/video/'.$vid.'-'.$alt.'.html'; //описание видео
    $wallpost = '0'; //опубливоать на стене (0 - нет, 1 - да)
    
    $a = 'https://api.vk.com/method/video.save?group_id=23138673&link='.$link.'&name='.$name.'&description=' . urlencode($description) . '&wallpost=' . $wallpost . '&access_token=XYZ'; //собираем ccылку для запроса (XYZ - токен, rights to call this method: video)
    
    $addvideo = file_get_contents(rtrim($a)); //отправляем запрос
    $obj = json_decode($addvideo); //обрабатываем джисон 
     $upload_url = $obj->{'response'}->{'upload_url'}; //тут получаем ссылку для подтверждения добавления
     file_get_contents(rtrim($upload_url)); //открываем ссылку


    $wallpost = '0'; - этот кстати не проверял, мб в доступ на wall еще нужен будет
    Ответ написан
    3 комментария
  • Как сделать подсветку в PhpStorm у tpl файлов php синтаксиса?

    nazarpc
    @nazarpc
    Open Source enthusiast
    File -> Settings -> IDE Settings -> File types -> PHP files
    Добавляете в список нужное расширение файла по аналогии.
    Ответ написан
    1 комментарий