2016-03-04 3 views
6

Ich habe Codeception und die gleichen anderen Pakete installiert. bevor ich sie installiere, kann ich composer update oder php artisan normal laufen, ohne irgendwelche Fehler zu haben. Aber sobald ich sie plötzlich installiert habe, wenn ich composer update oder php artisan laufen lasse, ergibt sich dieser bindshared() Fehler und ich habe keine Idee, wie man das behebt.Laravel - Aufruf zu undefinierter Methode illuminate Foundation Application :: bindhared()

hier meine composer.json Datei:

{ 
"name": "laravel/laravel", 
"description": "The Laravel Framework.", 
"keywords": ["framework", "laravel"], 
"license": "MIT", 
"type": "project", 
"require": { 
    "php": ">=5.5.9", 
    "laravel/framework": "5.2.*", 
    "laravelcollective/html" : "~5.2", 
    "laracasts/commander": "~1.0" 
}, 
"require-dev": { 
    "fzaninotto/faker": "~1.4", 
    "mockery/mockery": "0.9.*", 
    "phpunit/phpunit": "~4.0", 
    "symfony/css-selector": "2.8.*|3.0.*", 
    "symfony/dom-crawler": "2.8.*|3.0.*", 
    "doctrine/dbal" : "2.5.*", 
    "laracasts/generators": "^1.1", 
    "laracasts/testdummy": "~2.0" 
}, 
"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "App\\": "app/" 
    } 
}, 
"autoload-dev": { 
    "classmap": [ 
     "tests/TestCase.php" 
    ] 
}, 
"scripts": { 
    "post-root-package-install": [ 
     "php -r \"copy('.env.example', '.env');\"" 
    ], 
    "post-create-project-cmd": [ 
     "php artisan key:generate" 
    ], 
    "post-install-cmd": [ 
     "php artisan clear-compiled", 
     "php artisan optimize" 
    ], 
    "pre-update-cmd": [ 
     "php artisan clear-compiled" 
    ], 
    "post-update-cmd": [ 
     "php artisan optimize" 
    ] 
}, 
"config": { 
    "preferred-install": "dist" 
}} 

hier meine app.php Datei:

<?php 

return [ 

/* 
|-------------------------------------------------------------------------- 
| Application Environment 
|-------------------------------------------------------------------------- 
| 
| This value determines the "environment" your application is currently 
| running in. This may determine how you prefer to configure various 
| services your application utilizes. Set this in your ".env" file. 
| 
*/ 

'env' => env('APP_ENV', 'production'), 

/* 
|-------------------------------------------------------------------------- 
| Application Debug Mode 
|-------------------------------------------------------------------------- 
| 
| When your application is in debug mode, detailed error messages with 
| stack traces will be shown on every error that occurs within your 
| application. If disabled, a simple generic error page is shown. 
| 
*/ 

'debug' => env('APP_DEBUG', false), 

/* 
|-------------------------------------------------------------------------- 
| Application URL 
|-------------------------------------------------------------------------- 
| 
| This URL is used by the console to properly generate URLs when using 
| the Artisan command line tool. You should set this to the root of 
| your application so that it is used when running Artisan tasks. 
| 
*/ 

'url' => 'http://localhost', 

/* 
|-------------------------------------------------------------------------- 
| Application Timezone 
|-------------------------------------------------------------------------- 
| 
| Here you may specify the default timezone for your application, which 
| will be used by the PHP date and date-time functions. We have gone 
| ahead and set this to a sensible default for you out of the box. 
| 
*/ 

'timezone' => 'UTC', 

/* 
|-------------------------------------------------------------------------- 
| Application Locale Configuration 
|-------------------------------------------------------------------------- 
| 
| The application locale determines the default locale that will be used 
| by the translation service provider. You are free to set this value 
| to any of the locales which will be supported by the application. 
| 
*/ 

'locale' => 'en', 

/* 
|-------------------------------------------------------------------------- 
| Application Fallback Locale 
|-------------------------------------------------------------------------- 
| 
| The fallback locale determines the locale to use when the current one 
| is not available. You may change the value to correspond to any of 
| the language folders that are provided through your application. 
| 
*/ 

'fallback_locale' => 'en', 

/* 
|-------------------------------------------------------------------------- 
| Encryption Key 
|-------------------------------------------------------------------------- 
| 
| This key is used by the Illuminate encrypter service and should be set 
| to a random, 32 character string, otherwise these encrypted strings 
| will not be safe. Please do this before deploying an application! 
| 
*/ 

'key' => env('APP_KEY'), 

'cipher' => 'AES-256-CBC', 

/* 
|-------------------------------------------------------------------------- 
| Logging Configuration 
|-------------------------------------------------------------------------- 
| 
| Here you may configure the log settings for your application. Out of 
| the box, Laravel uses the Monolog PHP logging library. This gives 
| you a variety of powerful log handlers/formatters to utilize. 
| 
| Available Settings: "single", "daily", "syslog", "errorlog" 
| 
*/ 

'log' => env('APP_LOG', 'single'), 

/* 
|-------------------------------------------------------------------------- 
| Autoloaded Service Providers 
|-------------------------------------------------------------------------- 
| 
| The service providers listed here will be automatically loaded on the 
| request to your application. Feel free to add your own services to 
| this array to grant expanded functionality to your applications. 
| 
*/ 

'providers' => [ 

    /* 
    * Laravel Framework Service Providers... 
    */ 
    Illuminate\Auth\AuthServiceProvider::class, 
    Illuminate\Broadcasting\BroadcastServiceProvider::class, 
    Illuminate\Bus\BusServiceProvider::class, 
    Illuminate\Cache\CacheServiceProvider::class, 
    Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, 
    Illuminate\Cookie\CookieServiceProvider::class, 
    Illuminate\Database\DatabaseServiceProvider::class, 
    Illuminate\Encryption\EncryptionServiceProvider::class, 
    Illuminate\Filesystem\FilesystemServiceProvider::class, 
    Illuminate\Foundation\Providers\FoundationServiceProvider::class, 
    Illuminate\Hashing\HashServiceProvider::class, 
    Illuminate\Mail\MailServiceProvider::class, 
    Illuminate\Pagination\PaginationServiceProvider::class, 
    Illuminate\Pipeline\PipelineServiceProvider::class, 
    Illuminate\Queue\QueueServiceProvider::class, 
    Illuminate\Redis\RedisServiceProvider::class, 
    Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, 
    Illuminate\Session\SessionServiceProvider::class, 
    Illuminate\Translation\TranslationServiceProvider::class, 
    Illuminate\Validation\ValidationServiceProvider::class, 
    Illuminate\View\ViewServiceProvider::class, 
    Collective\Html\HtmlServiceProvider::class, 
    Laracasts\Generators\GeneratorsServiceProvider::class, 
    Laracasts\Commander\CommanderServiceProvider::class, 

    /* 
    * Application Service Providers... 
    */ 
    App\Providers\AppServiceProvider::class, 
    App\Providers\AuthServiceProvider::class, 
    App\Providers\EventServiceProvider::class, 
    App\Providers\RouteServiceProvider::class, 

], 

/* 
|-------------------------------------------------------------------------- 
| Class Aliases 
|-------------------------------------------------------------------------- 
| 
| This array of class aliases will be registered when this application 
| is started. However, feel free to register as many as you wish as 
| the aliases are "lazy" loaded so they don't hinder performance. 
| 
*/ 

'aliases' => [ 

    'App'  => Illuminate\Support\Facades\App::class, 
    'Artisan' => Illuminate\Support\Facades\Artisan::class, 
    'Auth'  => Illuminate\Support\Facades\Auth::class, 
    'Blade'  => Illuminate\Support\Facades\Blade::class, 
    'Cache'  => Illuminate\Support\Facades\Cache::class, 
    'Config' => Illuminate\Support\Facades\Config::class, 
    'Cookie' => Illuminate\Support\Facades\Cookie::class, 
    'Crypt'  => Illuminate\Support\Facades\Crypt::class, 
    'DB'  => Illuminate\Support\Facades\DB::class, 
    'Eloquent' => Illuminate\Database\Eloquent\Model::class, 
    'Event'  => Illuminate\Support\Facades\Event::class, 
    'File'  => Illuminate\Support\Facades\File::class, 
    'Gate'  => Illuminate\Support\Facades\Gate::class, 
    'Hash'  => Illuminate\Support\Facades\Hash::class, 
    'Lang'  => Illuminate\Support\Facades\Lang::class, 
    'Log'  => Illuminate\Support\Facades\Log::class, 
    'Mail'  => Illuminate\Support\Facades\Mail::class, 
    'Password' => Illuminate\Support\Facades\Password::class, 
    'Queue'  => Illuminate\Support\Facades\Queue::class, 
    'Redirect' => Illuminate\Support\Facades\Redirect::class, 
    'Redis'  => Illuminate\Support\Facades\Redis::class, 
    'Request' => Illuminate\Support\Facades\Request::class, 
    'Response' => Illuminate\Support\Facades\Response::class, 
    'Route'  => Illuminate\Support\Facades\Route::class, 
    'Schema' => Illuminate\Support\Facades\Schema::class, 
    'Session' => Illuminate\Support\Facades\Session::class, 
    'Storage' => Illuminate\Support\Facades\Storage::class, 
    'URL'  => Illuminate\Support\Facades\URL::class, 
    'Validator' => Illuminate\Support\Facades\Validator::class, 
    'View'  => Illuminate\Support\Facades\View::class, 
    'Form'  => Collective\Html\FormFacade::class, 
    'Html'  => Collective\Html\HtmlFacade::class, 

], 
]; 

enter image description here

Wer weiß, wie dies zu beheben und warum dieser Fehler auftaucht?

Antwort

8

Sie müssen laravelcollective/html statt Html/Illuminate verwenden.

Zuerst entfernen/kommentieren Sie die folgenden Zeilen aus app.php

'Form' => Illuminate\Html\FormFacade::class, 
'Html' => Illuminate\Html\HtmlFacade::class, 

und

Illuminate\Html\HtmlServiceProvider::class, 

Nun fügen Sie diese in Ihrem compoer.json, entfernen Sie auch html/illuminate

{ 
    "require": { 
    "laravelcollective/html": "^5.2" 
    } 
} 

Dann füge hinzu:

Entfernen Sie zuerst/kommentieren Sie die folgenden Zeilen aus app.php

'Form' => Collective\Html\FormFacade::class, 
'Html' => Collective\Html\HtmlFacade::class, 

und

Collective\Html\HtmlServiceProvider::class, 

Dann composer update aus.

Nun fügen Sie zurück oder Kommentar entfernen app.php

dump-autoload einen Komponisten tun.

+0

ich habe bereits 'laravelcollective \ html' verwendet und form und html und auch' Collective \ Html \ HtmlServiceProvider :: class, 'bei app.php hinzugefügt und immer noch dass binde() Fehler angezeigt – ishadif

+0

Haben Sie diese aus' composer entfernt .json' und 'app.php'? –

+0

ja, ich habe meine Frage bearbeitet. – ishadif

1

GOTO Schritt: 1 belichten Ordner

Schritt: 2 HTML Vorfaltblatt

Schritt: 3 HtmlServiceProvider.php

Schritt: 4 durch Singleton

getan bindShared ersetzen.