在类和数据库函数之间传递变量

时间:2014-02-27 14:50:58

标签: php oop pdo

我刚刚进入OOP,我正在尝试以正确的方式做尽可能正确的事情。

我有一个包含2种方法RetrieveFromDatabaseDisplay的Product类 RetrieveFromDatabase访问产品ID的一个参数,它基本上运行我在抽象类中编写的PDO语句(不知道这是否正确,因为PDO已经具有某些功能)。它使用此ID来获取产品详细信息。

Display此功能的想法是呈现产品详细信息。在这个例子中我只有1个html但是我打算添加更多,因为我不知道如何将它们中的每一个传递给div,这不是函数(通常我做(<div> <?php echo $name; ?> </div>)之前我听说过OOP。

Class Product {

    public $name;   
    public $price;
    public $length;
    public $description;
    public $type;
    private $results;
    private $database_connection

    private function __construct(Database $database_connection) {
        // database connection
        $this->database = dbconnect(); 
    }

    public function RetrieveFromDatabase($id) {
         $sql->database_connection->query('select Name, price, length, description FROM product WHERE id = :id');
         $sql->database_connection->bind(':id', $id);
         $sql->database_connection->execute();

         return $this->results !== false;
        //Retrieve the product details from database.
    }

    public function Display() {
    //display the product information
      while(($row = mysql_fetch_row($this->results)))
       print_r($row);
    echo <p> $this->database_connection->price </p>;
    }

    $Product = New Product();
}

我的问题

如何在不必在类文件中包含任何html的情况下以正确的方式编写上述代码?如果我犯了任何愚蠢的错误,请纠正我。

1 个答案:

答案 0 :(得分:2)

暂时不要尝试OOP。

事实上,你以尽可能错误的方式使一切变得不正确。

更不用说你对你正在使用的API仍有相当模糊的想法。因此,最好坚持旧的良好程序风格,直到掌握PHP基础知识并从各种来源学习一些OOP。

更新。不要试图创建自己的类,而是从现成的类中学习。给自己一个框架,这是所有学过的开发人员已经倾向于的,并且将通过示例教你正确的OOP方法。 Yii和Laravel看起来很有前途。