2016-11-23 7 views
1

мне удалось установить Parsedown использование композитора сКомпозитора и Parsedown - класс «UserFrosting \ Parsedown» не найден

"require": { 
     ... 
     "erusev/parsedown": "^1.6" 
    }, 

и добавил путь к классу в раздел автозагрузки

"autoload": { 
    "classmap" : [ 
     "controllers", "middleware", "models", "plugins", "vendor/erusev/parsedown" 
    ] 
} 

Но когда я пытаюсь выполнить эту строку ...

$Parsedown = new Parsedown(); 

... В конечном итоге wi й этой ошибки:

Class 'UserFrosting\Parsedown' not found

Запуск PHP composer.phar дамп-автозагрузку не помогло.

Что мне здесь не хватает? Почему Parsedown ожидается под UserFrosting - UserFrosting \ Parsedown?

Вот полный composer.json:

{ 
    "name": "userfrosting/UserFrosting", 
    "type": "project", 
    "description": "A secure, modern user management system for PHP.", 
    "keywords": ["php user management", "usercake", "bootstrap"], 
    "homepage": "https://github.com/userfrosting/UserFrosting", 
    "license" : "MIT", 
    "authors" : [ 
     { 
      "name": "Alexander Weissman", 
      "homepage": "https://alexanderweissman.com" 
     } 
    ], 
    "require": { 
     "birke/rememberme" : "1.0.4",  
     "illuminate/database" : "5.0.33", 
     "league/csv": "8.1.*", 
     "nikic/php-parser" : "~1", 
     "php" : ">=5.4.0", 
     "phpmailer/phpmailer" : "5.2.10",   
     "twig/twig" : "~1.0", 
     "slim/slim" : "2.*", 
     "slim/views" : "0.1.3", 
     "userfrosting/fortress" : "1.*", 
     "wikimedia/composer-merge-plugin": "~1", 
     "components/highlightjs": "9.8.0", 
     "aws/aws-sdk-php": "3.*", 
     "erusev/parsedown": "^1.6" 
    }, 
    "extra": { 
     "merge-plugin": { 
      "include": [ 
       "plugins/*/composer.json" 
      ], 
      "recurse": true, 
      "replace": false, 
      "merge-dev": true, 
      "merge-extra": false 
     } 
    }, 
    "autoload": { 
     "classmap" : [ 
      "controllers", "middleware", "models", "plugins", "vendor/erusev/parsedown" 
     ] 
    } 
} 
+0

Возможный дубликат [UserFrosting & AWS SDK] (http://stackoverflow.com/questions/40595182/userfrosting-aws-sdk) – alexw

ответ

3

Похоже, вы пытаетесь выполнить эту строку кода $Parsedown = new Parsedown(); в классе с пространством имен UserFrosting.

Либо добавьте use блок в верхней части файла PHP, например: use Parsedown; (это должно прийти после объявления пространства имен), или обратную косую черту перед именем класса, когда вы используете его, например, так: $Parsedown = new \Parsedown();. Последний начнет искать этот класс в корневом пространстве имен.

Вам не нужно добавлять этот класс в свою группу классов автозагрузки composer.json. Если пакет вытягивается композитором, композитор автоматически добавит все в автозагрузчик после запуска dump-autoload.

 Смежные вопросы

  • Нет связанных вопросов^_^