За последние 24 часа нас посетили 17539 программистов и 1588 роботов. Сейчас ищут 1359 программистов ...

laravel не находит класс фасада

Тема в разделе "Laravel", создана пользователем interface, 22 мар 2019.

  1. interface

    interface Активный пользователь

    С нами с:
    15 дек 2014
    Сообщения:
    7
    Симпатии:
    0
    убунта 18 сервер чистая с нуля. установил nginx, php7.2, composer, php7.2-fpm и необходимые для лары 5.7 допы пхп. Создал проект. работает и показывает дефолтный вид. Далее добавил фасад Functions и использовал его в виде для вывода сообщения. Получил ошибку вида
    Class 'Usadba\Facades\Functions' not found (View: /var/www/usadba/resources/views/welcome.blade.php)
    Usadba это корень пространства имен приложения вместо стандартного app.
    На винде ровно тоже самое под опен сервер работает норм. Где я недокрутил подскажите плиз.
     
  2. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    А это класс подключен?
     
  3. interface

    interface Активный пользователь

    С нами с:
    15 дек 2014
    Сообщения:
    7
    Симпатии:
    0
    в config/app.php? да. алиас прописан.
    'Functions' => Usadba\Facades\Functions::class,
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.854
    Симпатии:
    748
    Адрес:
    Татарстан
    Для винды регистр символов неважен, в линуусе наоборот. Посмотрите может где то разночтения типа Usadba - usadba
     
  5. interface

    interface Активный пользователь

    С нами с:
    15 дек 2014
    Сообщения:
    7
    Симпатии:
    0
    с регистром проблем точно нет. просил знакомого протестить у себя на сервере-работает все классно. он говорит что похожим образом все настраивал а мелочей особых не помнит ибо давно настраивал.
    вот файл класса
    <?
    namespace Usadba\Facades;
    use Illuminate\Support\Facades\Facade;
    class Functions extends Facade {
    protected static function getFacadeAccessor() { return 'functions'; }
    }
    вот путь к нему app/Facades/Functions.php от корня сайта
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    @interface используй ббкод [php] для оформления кода. шлаза болят читать такое мессиво.
    --- Добавлено ---
    а что ты сделал чтобы неймспейс Usadba искался в app/ ?
    --- Добавлено ---
    см. пример здесь: https://stackoverflow.com/q/28983580/272885
     
  7. interface

    interface Активный пользователь

    С нами с:
    15 дек 2014
    Сообщения:
    7
    Симпатии:
    0
    да собсно переименование приложения через php artisan app:name Usadba.
    но это переименование в порядке эксперимента. оно и с дефолтным App не работало
     
  8. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    А если не полениться и проверить что у тебя про это написано в composer.json ?

    Похоже карта классов у тебя не создаётся. Проверяй composer и права в vendor.
     
  9. interface

    interface Активный пользователь

    С нами с:
    15 дек 2014
    Сообщения:
    7
    Симпатии:
    0
    composer.json
    Код (Javascript):
    1. {
    2.     "name": "laravel/laravel",
    3.     "type": "project",
    4.     "description": "The Laravel Framework.",
    5.     "keywords": [
    6.         "framework",
    7.         "laravel"
    8.     ],
    9.     "license": "MIT",
    10.     "require": {
    11.         "php": "^7.1.3",
    12.         "fideloper/proxy": "^4.0",
    13.         "laravel/framework": "5.7.*",
    14.         "laravel/tinker": "^1.0"
    15.     },
    16.     "require-dev": {
    17.         "beyondcode/laravel-dump-server": "^1.0",
    18.         "filp/whoops": "^2.0",
    19.         "fzaninotto/faker": "^1.4",
    20.         "mockery/mockery": "^1.0",
    21.         "nunomaduro/collision": "^2.0",
    22.         "phpunit/phpunit": "^7.0"
    23.     },
    24.     "config": {
    25.         "optimize-autoloader": true,
    26.         "preferred-install": "dist",
    27.         "sort-packages": true
    28.     },
    29.     "extra": {
    30.         "laravel": {
    31.             "dont-discover": []
    32.         }
    33.     },
    34.     "autoload": {
    35.         "psr-4": {
    36.             "Usadba\\": "app/"
    37.         },
    38.         "classmap": [
    39.             "database/seeds",
    40.             "database/factories"
    41.         ]
    42.     },
    43.     "autoload-dev": {
    44.         "psr-4": {
    45.             "Tests\\": "tests/"
    46.         }
    47.     },
    48.     "minimum-stability": "dev",
    49.     "prefer-stable": true,
    50.     "scripts": {
    51.         "post-autoload-dump": [
    52.             "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
    53.             "@php artisan package:discover --ansi"
    54.         ],
    55.         "post-root-package-install": [
    56.             "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    57.         ],
    58.         "post-create-project-cmd": [
    59.             "@php artisan key:generate --ansi"
    60.         ]
    61.     }
    62. }
    ls -la для корня сайта
    drwxrwxrwx 45 www-data www-data 4096 Mar 24 00:22 vendor

    тоже для vendor

    user@usadba:/var/www/usadba/vendor$ ls -la
    total 184
    drwxrwxrwx 45 www-data www-data 4096 Mar 24 00:22 .
    drwxrwxrwx 12 www-data www-data 4096 Mar 22 19:03 ..
    -rwxrwxrwx 1 www-data www-data 178 Mar 24 00:22 autoload.php
    drwxrwxrwx 3 www-data www-data 4096 Mar 12 21:04 beyondcode
    drwxrwxrwx 2 www-data www-data 4096 Mar 24 00:22 bin
    drwxrwxrwx 2 www-data www-data 4096 Mar 24 00:22 composer
    drwxrwxrwx 3 www-data www-data 4096 Mar 12 21:04 dnoegel
    drwxrwxrwx 5 www-data www-data 4096 Mar 24 00:22 doctrine
    итд аналогично

    я подозревал что возможно проблема в правах и везде выставил 777
     
  10. interface

    interface Активный пользователь

    С нами с:
    15 дек 2014
    Сообщения:
    7
    Симпатии:
    0
    проблема решилась. оказывается файл начинался с <? а не <?php и короткие теги не были включены.
     
  11. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Ну вот, а так интересно всё начиналось ...