Использование ArrayAccess :: getOffset для подсчета количества вызовов - PullRequest
0 голосов
/ 24 апреля 2019

Во всем коде, над которым я работаю, мы широко используем многомерный массив и пытаюсь подсчитать, сколько раз мы вызываем массив на данной странице.

Example: $config['emails']['sendto']

Я изменил $ config на объект ArrayAccess, и я использую getOffset для увеличения счетчика, что-то вроде этого:

function getOffset($offset) {
  $this->counter->increment[$offset] = array(
    'files' => array(
      'filename:line' = counter
    )
  )
}

Я также сделал каждого потомкатот же объект.Поэтому каждый раз, когда я вызываю getOffset, счетчик обновляется.НО у меня есть проблема.

Когда я получаю доступ к: $ config ['emails'] ['sendto'], я хочу, чтобы счетчик выглядел так

$counter['emails'] = array(
  "sendto" => array(
    "files" => array(
       "index.php:190" = 1,
       "mail.php:348" = 100
    )
  )
)

Но вместо этого он выглядит так

array(
  "emails" => 
      "files" => array(
         "index.php:190" = 1,
         "mail.php:348" = 100
      )
    ),
   "sendto" =>       
      "files" => array(
         "index.php:190" = 1,
         "mail.php:348" = 100
      )
    ),    
)

Итак, я хочу, чтобы дочерний объект arrayaccess знал, что это дочерний объект.Но я не могу понять это.Может кто-нибудь направить меня в любом направлении, пожалуйста.

...