将参数传递给PHP中的类中的函数

时间:2014-05-30 15:46:09

标签: php function class

我是一个初学者,正在尝试学习PHP。

我创建了一个名为Image的类(在一个名为image.php的文件中),它包含一些基本功能。我希望能够创造一个新的'与我的硬盘驱动器上的jpeg关联的图像对象,然后将该文件名作为参数传递给类中的函数,以便对其执行选项。

此时我想要做的就是让函数将图像输出到浏览器。目前,我调用它时显示功能正常,但我必须在功能代码中将文件命名为。如何在类外定义文件名,然后将其传递给类函数?

class Image
{
    // property declaration
    public $filename = 'Not set';

    public function displayImage()
    {
    // File
    $filename = imagecreatefromjpeg("9.jpg");

    // Content type
    header('Content-type: image/jpeg');

    // Output
    imagejpeg($filename);
    }
}

尝试实例化并在此处调用:

include 'image.php';
$first = new Image();
$first->filename = "9.jpg";
$first->displayImage();

提前致谢!

2 个答案:

答案 0 :(得分:1)

使用以下语法:

public function displayImage($image)

然后在您的函数中将其称为$ image而不是“9.jpg”

你可以调用函数:

displayImage("9.jpg");

答案 1 :(得分:0)

您需要更改语法:

class Image {

   public $filename;

   // This is the constructor, called every new instance
   function __construct($imageurl="default.jpg") {
       $this->$filename = $imageurl;
   }

   public function displayImage(){
       header('Content-type: image/jpeg');
       $img = imagecreatefromjpeg($this->filename);
       imagejpeg($img);
   }
}

您现在可以通过多种方式调用它:

include 'image.php';

// Option 1:
$first = new Image("9.jpg");
$first->displayImage();

// Option 2:
$second = new Image();
$second->filename = "9.jpg";
$second->displayImage();