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