Drupal 7 - 如何使用对象

时间:2011-07-10 21:06:10

标签: php object drupal-7

我正在试图弄清楚如何利用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);
}
?>

这会抛出错误“调用未定义的方法传递:: sanitizePath()”,因为该方法使用$ this。我已经尝试了很多方法让它工作,但我在这里发布的代码是我得到的最好的尝试。

有谁知道怎么做?

1 个答案:

答案 0 :(得分:1)

FileTransfer类是一个抽象类,指定执行文件传输所需的内容,如果没有实现各种方法的子类,它实际上不能执行一个。 Drupal提供了子类FileTransferFTPFileTransferLocalFileTransferSSH,其中我认为是非抽象的。您可能应该使用其中任何一个是合适的。