code: public function setProxyTargetDir(string $proxyTargetDir): void
      {
          if (!is_dir($proxyTargetDir)) {
              throw new InvalidArgumentException(
                  sprintf(
                      'Proxy target directory "%s" does not exist!',
                      $proxyTargetDir
                  ),
                  10
              );
          }
  
          if (!is_writable($proxyTargetDir)) {
              throw new InvalidArgumentException(
                  sprintf(
                      'Proxy target directory "%s" is not writable!',
                      $proxyTargetDir
                  ),
                  20
              );
          }
  
          $this->proxyTargetDir = $proxyTargetDir;
      }
docs: Sets the directory in which ProxyManager will store the generated proxy classes in.
  
  @param string $proxyTargetDir
  @throws InvalidArgumentException