Laravel — Как использовать класс продавца?

Я хочу использовать Mobile Detect для файла m rout.php. Я добавил пакет как требование в composer.json, и он установлен в файле вендора. Как я могу использовать это сейчас?

Я попробовал этот ответ, и не повезло, потому что класс не был найден: Laravel 4 с использованием классов вендоров

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/framework": "4.2.*",
"mobiledetect/mobiledetectlib": "*"},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"],
"post-create-project-cmd": [
"php artisan key:generate"]
},
"config": {
"preferred-install": "dist"},
"minimum-stability": "stable"}

РЕДАКТИРОВАТЬ: Я пытался использовать это: https://github.com/jenssegers/Laravel-Agent, но псевдоним никогда не работал, говоря, что класс не был найден.

3

Решение

Этот пакет PSR-0 Namespaced. Глядя на Git-репо, кажется, Detection\MobileDetect хотя вы хотите убедиться, что это действительно правильное пространство имен. Вы пытались добавить правильное пространство имен к вашему routes.php файл?

use Detection\MobileDetect as MobileDetect;

или вы можете ссылаться на правильное пространство имен в строке. Вот пример:

$detect = new Detection\MobileDetect\Mobile_Detect;
$deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');

Если это не работает для вас, вы можете уйти, добавив его в свой composer.json classmap:

"autoload": {
"classmap": ["/vendor/serbanghita/namespaced/"],
}

Конечно, заполните правильный путь, затем запустите composer dump-auto,

5

Другие решения

Я также боролся с мобильным обнаружением в Laravel, но я нашел решение! Это с самого начала (включая установку):

  • в терминале в папке вашего проекта Laravel:

    $ composer require mobiledetect/mobiledetectlib
    
  • в файле Middleware для мобильного обнаружения:

    use Mobile_Detect;
    
    ...
    
    $detect = new Mobile_Detect;
    
    if ($detect->isMobile()) var_dump('is mobile');
    else var_dump('is not mobile');
    

И ты готов к работе;)

0

По вопросам рекламы [email protected]