Drupal 7 - Как пользоваться объектами - PullRequest
1 голос
/ 11 июля 2011

Я пытаюсь выяснить, как использовать нативные функции drupals для копирования папки в место назначения.Я нашел класс с именем FileTransfer , который имеет метод с именем copyDirectory.Проблема в том, что класс FileTransfer является абстрактным, и я не могу понять, как получить доступ к этому методу.

Вот код, который я использую

<?php
function generator_form_submit($form, $form_state) {

  $modules_folder = 'sites/all/modules/custom/';
  $model_folder = drupal_get_path('module', 'generator') . '/model';

  class transfer {
    function copy() {
      FileTransfer::copyDirectory($model_folder, $modules_folder);
    }
  }

  $transfer = new transfer;
  $transfer->copy($model_folder, $modules_folder);
}
?>

Это выдает ошибку "Вызов неопределенного метода Transfer :: sanitizePath () ", так как метод использует $ this.Я пробовал много способов заставить его работать, но код, который я публикую здесь, - лучшая попытка, которую я получил.

Кто-нибудь знает, как это сделать?

1 Ответ

1 голос
/ 11 июля 2011

Класс FileTransfer является абстрактным классом, определяющим, что требуется для передачи файла, фактически он не может выполнять его самостоятельно без подкласса, реализующего различные методы. Drupal предоставляет подклассы FileTransferFTP, FileTransferLocal и FileTransferSSH, которые я считаю неабстрактными. Вы, вероятно, должны использовать то, что подходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...