CakePHP HTTP 客户端默认代理设置
CakePHP HTTP Client default proxy settings
我的应用程序 运行 在工作中使用代理。为了让 CakePHP HTTP 客户端工作,我必须传递我的代理设置。我每次创建新的 HTTP 客户端时都会传递代理设置。
$http = new Client([
"proxy" => [
"proxy" => "MYPROXYURL",
"username" => "MYUSERNAME",
"password" => "MYPASSWORD"
]
]);
有没有办法将这些设置设置为默认设置,以便让我的代码更加 DRY?我希望这可以在 bootstrap 设置中完成,但如果必须的话,我可以扩展 Cake\Http\Client
class 并使用自定义包装器。如果我这样做了,哪个文件夹最适合放置我的自定义 Cake classes?
创建您自己的客户端 class YourClient extends Client
。然后将配置直接放入 $_defaultConfig
或将 Configure::read('App.http.client')
放入构造函数并从配置中读取代理值。
namespace App\Http;
use Cake\Http\Client as CakeClient;
class Client extends CakeClient { /*...*/ }
然后实例化您自己的 class 而不是您正在继承的核心 class。
我的应用程序 运行 在工作中使用代理。为了让 CakePHP HTTP 客户端工作,我必须传递我的代理设置。我每次创建新的 HTTP 客户端时都会传递代理设置。
$http = new Client([
"proxy" => [
"proxy" => "MYPROXYURL",
"username" => "MYUSERNAME",
"password" => "MYPASSWORD"
]
]);
有没有办法将这些设置设置为默认设置,以便让我的代码更加 DRY?我希望这可以在 bootstrap 设置中完成,但如果必须的话,我可以扩展 Cake\Http\Client
class 并使用自定义包装器。如果我这样做了,哪个文件夹最适合放置我的自定义 Cake classes?
创建您自己的客户端 class YourClient extends Client
。然后将配置直接放入 $_defaultConfig
或将 Configure::read('App.http.client')
放入构造函数并从配置中读取代理值。
namespace App\Http;
use Cake\Http\Client as CakeClient;
class Client extends CakeClient { /*...*/ }
然后实例化您自己的 class 而不是您正在继承的核心 class。