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