В laravel я делаю
composer require facebook/graph-sdk
и это сделано, но как после этого зарегистрировать этот пакет в проекте laravel?
Я знаю, что мне нужно перейти на app.php и изменить
'providers' => [...
а также
'aliases' => [....
но как мне узнать, что добавить? Как я могу получить его при установке других пакетов?
Я надеюсь, что смогу сделать
use Facebook;
в контроллере, но я не знаю, как это сделать.
@ J.Doe Это полная ложь, учитывая, что я делал это в нескольких приложениях Laravel в прошлом и только что опубликовал ответ с примером того, как именно это сделать.






Facebook Graph SDK - это просто общий PHP SDK. Вам нужно создать поставщика услуг в своем приложении Laravel, который связывает его значения конфигурации.
Сначала создайте переменные среды с именами FACEBOOK_CLIENT_ID и FACEBOOK_CLIENT_SECRET.
Затем привяжите эти переменные среды к значениям конфигурации. Откройте файл config / services.php и добавьте следующее:
'facebook' => [
'client_id' => env('FACEBOOK_CLIENT_ID'),
'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
],
Теперь используйте Artisan для создания поставщика услуг (php artisan make:provider FacebookServiceProvider) и добавьте его в массив providers в config / app.php.
Поставщик услуг должен выглядеть так:
use Facebook\Facebook;
class FacebookServiceProvider extends ServiceProvider
{
protected $defer = true;
public function register()
{
$this->app->singleton(Facebook::class, function ($app) {
return new Facebook([
'app_id' => $app['config']['services.facebook.client_id'],
'app_secret' => $app['config']['services.facebook.client_secret'],
'default_graph_version' => 'v2.10',
]);
});
}
public function provides()
{
return [
Facebook::class,
];
}
}
Это добавляет экземпляр настроен Facebook Graph SDK в контейнер вашего приложения, что означает, что вы можете ввести его в конструкторы своих классов и использовать:
class SomeController extends Controller
{
private $facebook;
public function __construct(Facebook $facebook)
{
$this->facebook = $facebook;
}
public function someMethod()
{
// Can use $this->facebook and it’ll already be
// configured with app ID and secret.
}
}
Поставщик услуг также отложен, что означает, что SDK загружается только тогда, когда вы его запрашиваете.
спасибо, а что, если мне нужны другие пакеты?
@ 黃皓哲 Затем потребуйте другие пакеты.
я имею в виду, как мне узнать, что добавить в app.php? или просто посмотреть документ посылки?
@ 黃皓哲 Это зависит от того, является ли это пакетом Laravel или обычным пакетом PHP.
Как упоминалось в этом посте stackoverflow.com/questions/42945596/…, вы можете вручную зарегистрировать Facebook sdk.