• SASS - compass выдает ошибку при сохранение sccs файла?

    nikolayshabalin
    @nikolayshabalin
    Автор профессиональных курсов в HTML Academy
    Вообще не желательно, что бы в пути были кирилические символы.
    По теме попробуйте в основном SASS файле, в начале указать @charset "UTF-8";
    Ответ написан
    Комментировать
  • Сделать новую страницу?

    kalbac
    @kalbac
    Wordpress Developer Full-Stack
    Ну а в чём проблема? На чём реализуете? Если Через PHP, то создаёте 4 файла, index.php, header.php, footer.php и content.php и индексе подключаете все остальные файлы
    include_once('header.php'); 
    include_once('content.php'); 
    include_once('footer.php');

    Потом в файле content.php пишете условие, при каком запросе что именно нужно отдавать клиенту. Что то типа:
    $category = empty( $_GET['category'] ) ? '' : trim( $_GET['category'] );
    if($category == 1 ) {
    echo 'Первая категория';
    } elseif($category == 2 ) {
    echo 'Вторая категория';
    }if($category == 3 ) {
    echo 'Третья категория';
    }if($category == 4 ) {
    echo 'Четвёртая категория';
    } else {
    echo 'Без категории';
    }

    Думаю ход мыслей понятен...
    Ответ написан
    3 комментария
  • Зачем огромное количество классов в теге html?

    27cm
    @27cm
    TODO: Написать статус
    Эти классы ставит вот эта библиотека: https://modernizr.com/

    Modernizr — это JavaScript-библиотека, которая узнаёт, что из HTML5 и CSS3 умеет браузер пользователя. Определяя возможности браузера, разработчик может сделать откат некоторых функций для старых версий браузеров.

    Статья на хабре: Modernizr: практическое применение, скорее всего устаревшая, но суть поможет понять.

    Библиотека не только добавляет классы, в зависимости от возможностей браузера, но и заменяет класс "no-js" на "js", таким образом позволяя разработчику определить, включен ли у пользователя JavaScript. Это можно использовать, например, чтобы не показывать пользователям без включенного JavaScript, кнопки, которые без него не будут работать:
    .no-js .my-button {
        display: none;
    }
    Ответ написан
    1 комментарий
  • Зачем огромное количество классов в теге html?

    zooks
    @zooks
    Frontend
    Как новичку сразу скажу, что так делать не нужно. Если сайт не слишком популярный (вроде поисковиков и крупных порталов), то пользователи IE должны страдать. Не стоит пытаться облегчить их жизнь совместимостью со старьем - это дорога в никуда.
    Если пользователь не может поставить себе Firefox, или пнуть админа, то это его личные проблемы. Страница должна функционировать, но не обязана соответствовать макету.
    Ответ написан
    2 комментария
  • Зачем огромное количество классов в теге html?

    @GloomySpodgeBob
    Ничего особенного , просто начинающий фронт енд.
    Александр почти прав. Это огромное количество кода добавляет специальная js штука (напроч забыл как называеться)которая говорит что понимает браузер а что нет.На основе этих действий можно адаптировать сайт под любой браузер. Например в ie старых не подерживается opacity и этот плагин добавляет в тег html no-opacity и теперь в css к no-opacity можно добавить какието стили что бы у тех у кого не работает опасити были другие css свойства. Нашел как называется Modernizr.js если хочешь узнать о ней рекомендую скачать с торрента этот курс loftschool.com/course/web-development
    сам там о ней узнал.
    Ответ написан
    2 комментария
  • Что такое static в ООП php?

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

    Как правило статические методы используются в качестве порождающих. То есть вы вызываете статический метод класса а он тебе экземпляр этого класса.

    $foo = Singleton::instance();
    $bar = AbstractFactory::create('bar');
    $buz = Buz::fromArray([
        'many' => 'arguments', 'Buz' => 'has', 'private' => 'constructor'
    ]);


    В PHP статику еще любят применять как замену обычным функциям в силу того, что для классов автозагрузка у нас есть, а для функций нету. Не сказать что это сильно хорошо, я бы даже сказал что это плохо. Учитывая что сейчас есть composer а благодаря opcache оверхэда от подключения для каждого запроса файла особо и нет. В целом лучше стараться избегать использования статики или во всяком случае делать в статических методах хоть сколько нибудь сложные вещи. И лучше всегда ограничиваться только случаями для порождения объектов, тут статика выглядит логично.

    Если рассматривать с точки зрения пораждающиз статических методов, нам так же надо знать кого создавать. И тут появляются два ключевых слова - self и static. Причем self равносильно написанию имени класса в котором наш статический метод находится и просто позволяет уменьшить дублирование. static же намного интереснее, так как оно указывает непосдерственно на тот класс, из под которого был совершен вызов. Скажем если у вас есть наследование вы можете запихнуть порождающий метод в базовый класс, и тогда узнать кого создавать в принципе не проблема.

    class Foo {
        public static function createWithSelf() {
             // равносильно new Foo();
             return new self();
        }
        public static function createWithStatic() {
             // а тут мы пока не знаем кто такой этот static
             $foo = new static();
        }
    }
    
    class Bar extends Foo {}
    
    $foo = Bar::createWithSelf(); // тут будет экземпляр Foo
    $bar = Bar::createWithStatic(); // тут будет экземпляр Bar
    Ответ написан
    1 комментарий
  • Что такое static в ООП php?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    Для доступа к статическим методам и членам класса
    class SomeClass {
    
        public $a = 'isObjectValue';
    
        static $b = 'isStaticValue';
    
    }
    
    echo SomeClass::$b; # isStaticValue
    
    $someClass = new SomeClass();
    echo $someClass->a; # isObjectValue


    к методам аналогично

    Внутри класса есть еще self\static, но это чуть другое
    Ответ написан
    Комментировать