Commit 6726b544 authored by luhongguang's avatar luhongguang

update:tcc 下单商品扣库存

parent 1eace844
......@@ -12,12 +12,12 @@ namespace Validate;
class GoodsTccValidate extends BaseValidate
{
protected $rule = [
't_id' => 'require',
'tid' => 'require',
'keys' => 'require',
];
protected $message = [
"t_id" => "tcc事务id不能为空",
"tid" => "tcc事务id不能为空",
"keys" => "商品信息不能为空",
];
}
\ No newline at end of file
......@@ -15,7 +15,7 @@ class TccController extends Base
{
(new GoodsTccValidate())->validate();
$res = TccService::placeAnOrderTry($this->params["keys"], $this->params["t_id"]);
$res = TccService::placeAnOrderTry($this->params["keys"], $this->params["tid"]);
$this->success(["result"=>$res]);
}
......@@ -27,7 +27,7 @@ class TccController extends Base
{
(new GoodsTccValidate())->validate();
$res = TccService::placeAnOrderConfirm($this->params["keys"], $this->params["t_id"]);
$res = TccService::placeAnOrderConfirm($this->params["keys"], $this->params["tid"]);
$this->success(["result"=>$res]);
}
......@@ -39,7 +39,7 @@ class TccController extends Base
{
(new GoodsTccValidate())->validate();
$res = TccService::placeAnOrderCancel($this->params["keys"], $this->params["t_id"]);
$res = TccService::placeAnOrderCancel($this->params["keys"], $this->params["tid"]);
$this->success(["result"=>$res]);
}
......@@ -51,7 +51,7 @@ class TccController extends Base
{
(new GoodsTccValidate())->validate();
$res = TccService::cancelOrderTry($this->params["keys"], $this->params["t_id"]);
$res = TccService::cancelOrderTry($this->params["keys"], $this->params["tid"]);
$this->success(["result"=>$res]);
}
......@@ -63,7 +63,7 @@ class TccController extends Base
{
(new GoodsTccValidate())->validate();
$res = TccService::cancelOrderConfirm($this->params["keys"], $this->params["t_id"]);
$res = TccService::cancelOrderConfirm($this->params["keys"], $this->params["tid"]);
$this->success(["result"=>$res]);
}
......@@ -75,7 +75,7 @@ class TccController extends Base
{
(new GoodsTccValidate())->validate();
$res = TccService::cancelOrderCancel($this->params["keys"], $this->params["t_id"]);
$res = TccService::cancelOrderCancel($this->params["keys"], $this->params["tid"]);
$this->success(["result"=>$res]);
}
......@@ -87,7 +87,7 @@ class TccController extends Base
{
(new GoodsTccValidate())->validate();
$res = TccService::tccIsFinish($this->params["keys"], $this->params["t_id"]);
$res = TccService::tccIsFinish($this->params["keys"], $this->params["tid"]);
$this->success(["result"=>$res]);
}
}
\ No newline at end of file
This diff is collapsed.
......@@ -32,7 +32,7 @@ class Daemon
public function __construct(string $task_name, $task_class, int $worker_num = 1)
public function __construct(string $task_name, $task_class, int $worker_num = 1, array $params =[])
{
$this->checkEnv();
......@@ -46,6 +46,7 @@ class Daemon
}
$this->task_name = $task_name;
$this->params = $params;
$this->task_class = $task_class;
$this->max_process_num = $worker_num;
$this->env = Application::app()->environ() ?? "dev";
......@@ -76,11 +77,7 @@ class Daemon
while(1)
{
//注册信号处理,master进程中捕获SIGUSR1后通知worker进程退出
if( pcntl_signal(SIGUSR1, array(__CLASS__, "signal_handler"),false) )
{
// DaemonLog::info($this->log_signature,'master pcntl SIGUSR1 success');
}else
{
if( !pcntl_signal(SIGUSR1, array(__CLASS__, "signal_handler"),false) ) {
DaemonLog::error($this->log_signature,'master pcntl SIGUSR1 failed');
}
pcntl_signal_dispatch();
......@@ -139,7 +136,6 @@ class Daemon
chdir(ROOT_PATH);
umask(0);
fclose(STDIN);
fclose(STDOUT);
fclose(STDERR);
......@@ -164,15 +160,12 @@ class Daemon
}elseif ($pid == 0) {
//子进程
cli_set_process_title($this->task_name . ' ' . $this->env . ' worker process');
// DaemonLog::info($this->log_signature,"worker Process {".posix_getpid()."} was created".' master process id:'.posix_getppid());
DaemonLog::info($this->log_signature,"worker Process {".posix_getpid()."} was created".' master process id:'.posix_getppid());
//注册子进程信号
if( pcntl_signal(SIGUSR2, array(__CLASS__, "signal_handler"),false) )
if( !pcntl_signal(SIGUSR2, array(__CLASS__, "signal_handler"),false) )
{
// DaemonLog::info( $this->log_signature ,"worker Process {".posix_getpid()."} pcntl SIGUSR2 success".' master process id:'.posix_getppid() );
}else
{
// DaemonLog::error( $this->log_signature ,"worker Process {".posix_getpid()."} pcntl SIGUSR2 failed".' master process id:'.posix_getppid() );
DaemonLog::error( $this->log_signature ,"worker Process {".posix_getpid()."} pcntl SIGUSR2 failed".' master process id:'.posix_getppid() );
}
// 执行指定次数后自动退出
......@@ -181,7 +174,7 @@ class Daemon
pcntl_signal_dispatch();
try {
$task = new $this->task_class();
$task = new $this->task_class(...$this->params);
$task->run();
}catch (\Exception $e){
// 默认2分钟内最多记录10条异常日志,超过100次则报警
......@@ -223,11 +216,7 @@ class Daemon
$this->terminate = true;
foreach ($this->process_list as $pid)
{
if( posix_kill($pid, SIGUSR2) )
{
// DaemonLog::info( $this->log_signature ,'master process send SIGUSR2 to '.$pid.' success' );
}else
{
if( !posix_kill($pid, SIGUSR2) ) {
DaemonLog::error( $this->log_signature ,'master process send SIGUSR2 to '.$pid.' failed' );
}
}
......
<?php
namespace Api\PhpServices\Sms;
use Api\PhpUtils\Common\TimeOut;
use Api\PhpUtils\Http\Request;
use App\Exception\custom\CodeSpecialException;
class Sms
{
/**
* 验证短信是否正确
*
* @param $params['mobile'] 手机号
* @param $params['code'] 验证码
* @param $params['appid'] appid
*/
public function checkSmsCode($params)
{
$url = config('interface','service.user.check_sms_code');
if(!$url){
throw new CodeSpecialException("failed");
}
if (empty($params)) {
throw new CodeSpecialException("failed");
}
$params = [
'mobile' => !empty($params['mobile']) ? $params['mobile'] : '',
'appid' => !empty($params['appid']) ? $params['appid'] : '',
'code' => !empty($params['code']) ? $params['code'] : '',
'key' => 'f16bdd46292480b4b82c841d90a6ba02',
'partner' => 'merchant-b'
];
$sms = (new TimeOut())->runGet($url, $params);
if(!$sms){
throw new CodeSpecialException("timeout");
}
if (!empty($sms) && $sms['code'] == 0) {
return true;
}else{
return false;
}
}
/**
* 发送验证码
*
* @param $params['mobile'] 手机号
* @param $params['appid'] appid
* @param $params['scene'] 使用场景 例如: 登陆传login
* @param $params['template'] 模版id,发送短信模版
* @param $params['code_lenght'] 短信验证码长度 4位和6位
* @param $params['ticket_expire'] 验证码验证周期,默认86400秒(1天),最小值为60秒,少于最小值使用默认值
* @param $params['resend_times'] 验证周期内验证码最大发送次数,默认重发最多10次,最小值为1次,少于最小值使用默认值
* @param $params['retry_times']验证周期内每个验证码最大可校验次数,默认每个验证码最大可校验10次,最小值为1次,少于最小值使用默认值
*
*/
public function sendSmsCode($params = [])
{
$url = config('interface','service.user.send_sms_code');
if(!$url){
throw new CodeSpecialException("failed");
}
if (empty($params)) {
throw new CodeSpecialException("failed");
}
$params = [
'mobile' => !empty($params['mobile']) ? $params['mobile'] : '',
'appid' => !empty($params['appid']) ? $params['appid'] : 'hubble',
'scene' => !empty($params['scene']) ? $params['scene'] : '',
'key' => 'f16bdd46292480b4b82c841d90a6ba02',
'partner' => 'merchant-b',
'template' => !empty($params['template']) ? $params['template'] : 7,
'code_lenght' => !empty($params['code_lenght']) ? $params['code_lenght'] : 6,
'ticket_expire' => !empty($params['ticket_expire']) ? $params['ticket_expire'] : 86400,
'resend_times' => !empty($params['resend_times']) ? $params['resend_times'] : 5,
'retry_times' => !empty($params['retry_times']) ? $params['retry_times'] : 10,
];
$sms = (new TimeOut())->runGet($url, $params);
if(!$sms){
throw new CodeSpecialException("timeout");
}
if (!empty($sms) && $sms['code'] == 0) {
return $sms;
}else{
return $sms;
}
}
/**
* 发送短信,不需要验证,场景是,只发,例如:审核通过,发个通知短信,审核驳回,发一个通知短信
*
* @param $mobile 手机号
* @param $template 短信模版
* @param $param = [] 数组,多个参数传值
*/
public function messageSendSms($mobile,$template,$param = [])
{
$url = config('interface', 'service.message.send_sms');
if (!$url) {
throw new CodeSpecialException("failed");
}
$params = [
'mobile' => $mobile,
'key' => 'b2acfb0d53c8557c9b0a0346d2a4fab4',
'template' => $template,
'param' => $param,
];
$sms = (new TimeOut())->runGet($url, $params);
if (!$sms) {
throw new CodeSpecialException("timeout");
}
if (!empty($sms) && $sms['code'] == 0) {
return true;
} else {
return false;
}
}
}
......@@ -65,7 +65,7 @@ class MonUtil{
$request_module = str_replace(array(".", ":", "/"),array("_", "_", "-"), $host);
if (empty($module)) {
//默认取url 中的域名作为module
$domain = $_SERVER['SERVER_NAME'] ?? 'unknow_domain';
$domain = str_replace(array(".", ":", "/"),array("_", "_", "-"), $_SERVER['SERVER_NAME'] ?? 'unknow_domain');
$module = $domain.'.'.($request_module ?? 'other_depent');
}
......
......@@ -32,7 +32,7 @@ private static $installed = array (
'aliases' =>
array (
),
'reference' => '76981b468d0856b108d42431aeb21cc295e6c5e4',
'reference' => '1eace8446433e21d1d739f4b35df4703230a20f3',
'name' => 'yidian/yaf_demo',
),
'versions' =>
......@@ -45,7 +45,7 @@ private static $installed = array (
array (
0 => '9999999-dev',
),
'reference' => '6af1722df32913ad981251a0d1c11b77d53be716',
'reference' => 'd97dbc9073709d51ee448492163a532980e05fec',
),
'api/php_utils' =>
array (
......@@ -55,7 +55,7 @@ private static $installed = array (
array (
0 => '9999999-dev',
),
'reference' => 'a6fdc2ddaf55ca6f8f86a3295b7659a70c50b2ec',
'reference' => '3d3b07c4a7c3c486b05501c0b5dd9ec532b11ae5',
),
'bacon/bacon-qr-code' =>
array (
......@@ -308,7 +308,7 @@ private static $installed = array (
'aliases' =>
array (
),
'reference' => 'fd89ef387030f4d4126fd9cddcc18dbfed27a346',
'reference' => '401339856144dd876034b5df480e8f4f36355d09',
),
'symfony/property-info' =>
array (
......@@ -335,7 +335,7 @@ private static $installed = array (
'aliases' =>
array (
),
'reference' => '76981b468d0856b108d42431aeb21cc295e6c5e4',
'reference' => '1eace8446433e21d1d739f4b35df4703230a20f3',
),
),
);
......
......@@ -31,6 +31,7 @@ return array(
'Api\\PhpServices\\Session\\SessionManager' => $vendorDir . '/api/php_services/src/Session/SessionManager.php',
'Api\\PhpServices\\ShopImage\\GetImage' => $vendorDir . '/api/php_services/src/ShopImage/GetImage.php',
'Api\\PhpServices\\ShopImage\\QR' => $vendorDir . '/api/php_services/src/ShopImage/QR.php',
'Api\\PhpServices\\Sms\\Sms' => $vendorDir . '/api/php_services/src/Sms/Sms.php',
'Api\\PhpServices\\Towerpro\\Towerpro' => $vendorDir . '/api/php_services/src/Towerpro/Towerpro.php',
'Api\\PhpServices\\Tuffy\\TuffyService' => $vendorDir . '/api/php_services/src/Tuffy/TuffyService.php',
'Api\\PhpServices\\XhProfiler\\XhMongo' => $vendorDir . '/api/php_services/src/XhProfiler/XhMongo.php',
......
......@@ -8,18 +8,18 @@ $baseDir = dirname($vendorDir);
return array(
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
'8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php',
'8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php',
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
'ad155f8f1cf0d418fe49e248db8c661b' => $vendorDir . '/react/promise/src/functions_include.php',
'0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php',
'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php',
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
'0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php',
'8592c7b0947d8a0965a9e8c3d16f9c24' => $vendorDir . '/elasticsearch/elasticsearch/src/autoload.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
'a9ed0d27b5a698798a89181429f162c5' => $vendorDir . '/khanamiryan/qrcode-detector-decoder/lib/Common/customFunctions.php',
'3a37ebac017bc098e9a86b35401e7a68' => $vendorDir . '/mongodb/mongodb/src/functions.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
'8592c7b0947d8a0965a9e8c3d16f9c24' => $vendorDir . '/elasticsearch/elasticsearch/src/autoload.php',
);
......@@ -9,20 +9,20 @@ class ComposerStaticInit90e85a2e64f8339192f3e91b8700b9f2
public static $files = array (
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
'8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php',
'8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php',
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
'0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php',
'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php',
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php',
'0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php',
'8592c7b0947d8a0965a9e8c3d16f9c24' => __DIR__ . '/..' . '/elasticsearch/elasticsearch/src/autoload.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
'a9ed0d27b5a698798a89181429f162c5' => __DIR__ . '/..' . '/khanamiryan/qrcode-detector-decoder/lib/Common/customFunctions.php',
'3a37ebac017bc098e9a86b35401e7a68' => __DIR__ . '/..' . '/mongodb/mongodb/src/functions.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
'8592c7b0947d8a0965a9e8c3d16f9c24' => __DIR__ . '/..' . '/elasticsearch/elasticsearch/src/autoload.php',
);
public static $prefixLengthsPsr4 = array (
......@@ -260,6 +260,7 @@ class ComposerStaticInit90e85a2e64f8339192f3e91b8700b9f2
'Api\\PhpServices\\Session\\SessionManager' => __DIR__ . '/..' . '/api/php_services/src/Session/SessionManager.php',
'Api\\PhpServices\\ShopImage\\GetImage' => __DIR__ . '/..' . '/api/php_services/src/ShopImage/GetImage.php',
'Api\\PhpServices\\ShopImage\\QR' => __DIR__ . '/..' . '/api/php_services/src/ShopImage/QR.php',
'Api\\PhpServices\\Sms\\Sms' => __DIR__ . '/..' . '/api/php_services/src/Sms/Sms.php',
'Api\\PhpServices\\Towerpro\\Towerpro' => __DIR__ . '/..' . '/api/php_services/src/Towerpro/Towerpro.php',
'Api\\PhpServices\\Tuffy\\TuffyService' => __DIR__ . '/..' . '/api/php_services/src/Tuffy/TuffyService.php',
'Api\\PhpServices\\XhProfiler\\XhMongo' => __DIR__ . '/..' . '/api/php_services/src/XhProfiler/XhMongo.php',
......
......@@ -7,7 +7,7 @@
"source": {
"type": "git",
"url": "https://git.yidian-inc.com:8021/bp/php_services.git",
"reference": "6af1722df32913ad981251a0d1c11b77d53be716"
"reference": "d97dbc9073709d51ee448492163a532980e05fec"
},
"require": {
"api/php_utils": "dev-master",
......@@ -15,7 +15,7 @@
"perftools/php-profiler": "^0.18.0",
"php": "7.2.*"
},
"time": "2021-06-29T08:49:34+00:00",
"time": "2021-06-29T10:41:52+00:00",
"default-branch": true,
"type": "library",
"installation-source": "source",
......@@ -34,7 +34,7 @@
"source": {
"type": "git",
"url": "https://git.yidian-inc.com:8021/bp/php_utils.git",
"reference": "a6fdc2ddaf55ca6f8f86a3295b7659a70c50b2ec"
"reference": "3d3b07c4a7c3c486b05501c0b5dd9ec532b11ae5"
},
"require": {
"elasticsearch/elasticsearch": "~7.0",
......@@ -46,7 +46,7 @@
"mongodb/mongodb": "1.4.3",
"php": "7.2.*"
},
"time": "2021-06-28T03:25:55+00:00",
"time": "2021-07-01T07:01:29+00:00",
"default-branch": true,
"type": "library",
"installation-source": "source",
......@@ -1773,12 +1773,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
"reference": "fd89ef387030f4d4126fd9cddcc18dbfed27a346"
"reference": "401339856144dd876034b5df480e8f4f36355d09"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/property-access/zipball/fd89ef387030f4d4126fd9cddcc18dbfed27a346",
"reference": "fd89ef387030f4d4126fd9cddcc18dbfed27a346",
"url": "https://api.github.com/repos/symfony/property-access/zipball/401339856144dd876034b5df480e8f4f36355d09",
"reference": "401339856144dd876034b5df480e8f4f36355d09",
"shasum": ""
},
"require": {
......@@ -1793,8 +1793,7 @@
"suggest": {
"psr/cache-implementation": "To cache access methods."
},
"time": "2021-05-26T17:43:50+00:00",
"default-branch": true,
"time": "2021-06-30T13:58:03+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
......
......@@ -6,7 +6,7 @@
'aliases' =>
array (
),
'reference' => '76981b468d0856b108d42431aeb21cc295e6c5e4',
'reference' => '1eace8446433e21d1d739f4b35df4703230a20f3',
'name' => 'yidian/yaf_demo',
),
'versions' =>
......@@ -19,7 +19,7 @@
array (
0 => '9999999-dev',
),
'reference' => '6af1722df32913ad981251a0d1c11b77d53be716',
'reference' => 'd97dbc9073709d51ee448492163a532980e05fec',
),
'api/php_utils' =>
array (
......@@ -29,7 +29,7 @@
array (
0 => '9999999-dev',
),
'reference' => 'a6fdc2ddaf55ca6f8f86a3295b7659a70c50b2ec',
'reference' => '3d3b07c4a7c3c486b05501c0b5dd9ec532b11ae5',
),
'bacon/bacon-qr-code' =>
array (
......@@ -282,7 +282,7 @@
'aliases' =>
array (
),
'reference' => 'fd89ef387030f4d4126fd9cddcc18dbfed27a346',
'reference' => '401339856144dd876034b5df480e8f4f36355d09',
),
'symfony/property-info' =>
array (
......@@ -309,7 +309,7 @@
'aliases' =>
array (
),
'reference' => '76981b468d0856b108d42431aeb21cc295e6c5e4',
'reference' => '1eace8446433e21d1d739f4b35df4703230a20f3',
),
),
);
......@@ -94,7 +94,7 @@ class PropertyAccessor implements PropertyAccessorInterface
* @param PropertyReadInfoExtractorInterface $readInfoExtractor
* @param PropertyWriteInfoExtractorInterface $writeInfoExtractor
*/
public function __construct(/*int */$magicMethods = self::MAGIC_GET | self::MAGIC_SET, /*int */$throw = self::THROW_ON_INVALID_PROPERTY_PATH, CacheItemPoolInterface $cacheItemPool = null, /*PropertyReadInfoExtractorInterface */$readInfoExtractor = null, /*PropertyWriteInfoExtractorInterface */$writeInfoExtractor = null)
public function __construct($magicMethods = self::MAGIC_GET | self::MAGIC_SET, $throw = self::THROW_ON_INVALID_PROPERTY_PATH, CacheItemPoolInterface $cacheItemPool = null, $readInfoExtractor = null, $writeInfoExtractor = null)
{
if (\is_bool($magicMethods)) {
trigger_deprecation('symfony/property-access', '5.2', 'Passing a boolean as the first argument to "%s()" is deprecated. Pass a combination of bitwise flags instead (i.e an integer).', __METHOD__);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment