0

我试图通过 php 脚本中的另一个类从一个类访问一个变量:

我的第一堂课是:

类数据{

  private $length;
  private $height;      

   public function setLength($length){
    $this->length = $length;
   }

   public function getLength(){
    return $this->length;
   }

  public function setHeight($height){
    $this->height = $height;
   }

   public function getHeight(){
    return $this->height;
   }

}

我还有一堂课:

class proccess extends data{

   public function getOrientation(){
      if($this->getLength() > $this->getHeight()) {
       $orientation = 'landscape';
      } else {
      $orientation = 'portrait';
   }

   }

}

当试图从类进程访问 $this->getLenght() 或 $this-getHeight() 时,值是空的;我正在通过我的 php 脚本设置值,如下所示:

<?php


  require_once('functions/data.php');
  require_once('functions/process.php');

  $data=new data();
  $process = new process();

  $data->setLength(25);
  $data->setHeight(30);
  $orientation = $process->getOrientation();

关于为什么函数 getOrientation 无法获得宽度和长度的值以及如何解决这个问题的任何想法?

4

2 回答 2

3

您正在为另一个对象设置值,即$data. 您必须将它们设置为$process.

  $process = new process();

  $process->setLength(25);
  $process->setHeight(30);
  $orientation = $process->getOrientation();
于 2013-10-28T21:02:11.630 回答
-1

protected变量不应该private- 请参阅这些:

http://php.net/manual/en/language.oop5.visibility.php public、private 和 protected 有什么区别?

而且,正如 MahanGM 所指出的,您正在使用两个不同的对象实例,它们根本不相关。你应该要么做$process->setLength$process->setHeight要么$data->getOrientation

于 2013-10-28T21:02:11.363 回答