Использование пакета vinkla / hashids в Laravel 5.2

Я использую vinkla / hashids и выполнил следующие шаги

  1. композитору требуются винкла / хешиды
  2. Добавьте поставщика услуг в config / app.php в массиве поставщиков
  3. При желании можно использовать фасад. Добавьте ссылку в config / app.php в свой массив псевдонимов.
  4. поставщик php artisan: опубликуйте этот шаг не создает hashid.php в файле конфигурации
  5. используйте Vinkla \ Hashids \ Facades \ Hashids;
  6. Хашиды :: кодировать (4815162342);

И я получаю сообщение об ошибке, что класс hashids не найден


person Awais Mushtaq    schedule 11.08.2016    source источник
comment
Вы использовали псевдоним Vinkla\Hashids\Facades\Hashids в config / app.php или нет?   -  person Jared Eitnier    schedule 11.08.2016
comment
да, я упомянул об этом на шаге 3   -  person Awais Mushtaq    schedule 11.08.2016
comment
Вы вообще пробовали composer dump-autoload? Может помочь, если вы покажете класс контроллера или библиотеки, который пытается сгенерировать хеш-идентификатор.   -  person Jared Eitnier    schedule 11.08.2016
comment
да, я все перепробовал. обновление композитора, установка композитора и автоматическая загрузка дампа   -  person Awais Mushtaq    schedule 11.08.2016
comment
Просто для целей тестирования попробуйте вручную импортировать классы, добавив явный require_once __DIR__ . $pathToVinklaHashidsClass;. Из вашего наблюдения после этого; вы можете отлаживать / устранять неполадки оттуда.   -  person Poiz    schedule 11.08.2016
comment
У вас проблема на шаге 4, поскольку эта команда не генерирует hashid.php в конфигурации?   -  person Awais Mushtaq    schedule 11.08.2016
comment
Нет ... на самом деле просто хотел сказать, что файлы действительно созданы ... и вы можете их изменить ... проверьте свою $laravelSite/config папку. Вы заметите, что там существует файл с именем hashids.php. Теперь вы можете просто настроить все в этом файле ....   -  person Poiz    schedule 11.08.2016


Ответы (3)


Похоже, провайдер не загружается.

Попробуйте сделать это:

php artisan config:clear
php artisan clear-compiled

Первый очистит все кешированные файлы конфигурации, а второй очистит кеш сервисов.

Это сработало для меня, надеюсь, это сработает и для вас.

Я нашел решение здесь: Поставщик услуг Laravel 5.2 не загружается

person Diguin    schedule 23.11.2016

Чтобы закодировать, просто сделайте это

\Hashids::encode($characters)

И расшифровать

\Hashids::decode($characters)
person aphoe    schedule 28.02.2017

person    schedule
comment
@AwaisMushtaq Итак, какие ошибки вы получаете сейчас? - person Poiz; 12.08.2016
comment
Класс "Хашиды" не найден - person Awais Mushtaq; 12.08.2016
comment
@AwaisMushtaq Сделайте шаг за шагом. Шаг 1 :) Удалите все хашиды ссылок в $config/app.php файле. Шаг 2 :) Удалите запись require vinkla / hashids из вашего файла composer.json, а также вручную найдите и удалите папку hashids в вашей папке vendors. Шаг 3 : Выполнить: composer require vinkla/hashids из командной строки. Как только это будет сделано: Шаг 5 :) Добавьте Vinkla\Hashids\HashidsServiceProvider::class в свой config/app.php , а затем запустите php artisan vendor:publish и composer dump-autoload - person Poiz; 12.08.2016