Эта практика теперь известна как «CSS-модули» и становится все более популярной благодаря популярности Webpack. Концепция состоит в том, чтобы преобразовать (хеш) CSS-селекторов в уникальные имена классов, чтобы убедиться, что между модулями не существует столкновений между стилями.
Модуль css-loader для Webpack имеет modules
, который позволяет эту функцию. Он обычно используется с React, где вы назначаете имена классов в своей разметке через объект JS, доступный при импорте файла CSS, например
import styles from './style.css
. Если этот файл CSS имеет селектор, например. .sidebar
, он применяется в разметке через
className={styles.sidebar} // JSX
. Webpack будет хешировать имя класса и селектор сопряжения для обеспечения уникальности.
Это будет продукт минимизации и сжатия. Это, несомненно, будет написано с человекочитаемыми идентификаторами и именами классов, но, как прокомментировал Zeta, они затем заменяются аббревиатурами для сохранения байтов. Такие вещи не имеют значения для среднего веб-сайта, но когда вы получаете миллионы просмотров страниц в минуту, все это считается.
Взгляните на разницу между развитием и production версии jQuery. Это пример результата минимизации и сжатия.
Это проблема с версией PHP, обновление до PHP 7.0 и doctrine / inflector будет работать должным образом, потому что doctrine / inflector 1.20 и выше требуют PHP 7.
Но если вы хотите остаться на текущей версии PHP, вы можете понизить версию doctrine / inflector, выполнив следующие команды:
rm -f Composer.lock
rm -R -f vendor
composer install
composer require doctrine/inflector:1.1.0
doctrine / inflector: 1.1.0 поддерживает PHP 5.6 & amp; выше. Если у вас есть другая версия php, вы можете обратиться к этой ссылке
Я работаю над:
Имя моей таблицы выглядит так: «test_meetings»
Я решил ошибку, задав в testMeeting.php модель имя таблицы:
protected $table = 'test_meetings';
Если это кому-то поможет. У меня была аналогичная проблема. Моя доктрина / инфлектор ожидала php> = 7 по какой-то причине (вот что было в композиторе.json из доктрины / инфлектора). И это несмотря на то, что я выполнил инструкции по установке laravel 5.4.
Я запустил rm -f Composer.lock
и rm -R -f vendor
, а затем выполнил composer install
после vagrant ssh
к домашней виртуальной машине, которая использовала php 5.6.8 (изначально я запустил композитор с моего терминала MacBook, который использовал php 7)
Это позволило устранить проблемы.
Это действительно очевидно, когда вы ищете это имя файла, а затем начинаете сравнивать версии пакетов.
Вам требуется laravelcollective/html
в любой версии, поэтому на данный момент последней версией является 5.5.x
. Этот пакет, в свою очередь, требует "doctrine/inflector": "~1.1",
, поэтому любая версия ниже 2.0
, которая в настоящее время 1.3.0
, и требует PHP 7.0 или выше.
Если вы посмотрите на источник последнего inflector.php
, вы увидите, что тип возвращаемого значения указан в строке 265, который поддерживается только в PHP 7.0 и выше.
Вы используете PHP 5.6.24, поэтому этот код не будет работать в вашей системе.
Простой способ исправить вашу ошибку - использовать версию laravelcollective/html
, соответствующую вашей версии Laravel. Вероятно, это будет 5.2.*
.