我是否正确使用了课堂?

时间:2018-08-24 08:32:09

标签: php

我有两节课。数据库和产品。我已成功将PHP与DB连接起来,并且能够打印出数据。 但是我想知道我是否正确使用了Product类?并且如果将来我添加Product类方法addProduct,我是否需要保留属性?

我的产品分类:

<?php
require_once 'DataBase.class.php';
class Product  {

    //Properties
   // var $id;
   // var $name;
   // var $price;


    //Methods
    function __construct(){}

    public function getAllProducts()
    {

        $db = Database::get();
        $sql = "SELECT * FROM product";
        $result = $db->select($sql);
        return $result;
    }       
}

$product = new Product;

现在看来,我不需要属性。

1 个答案:

答案 0 :(得分:0)

我要将getAllProducts()函数与单个产品类分开。像这样:

<?php

require_once 'DataBase.class.php';

function getAllProducts()
{
    $db = Database::get();
    $sql = "SELECT * FROM product";
    $result = $db->select($sql);
    return $result;
} 

class Product  {

    // Properties:
    public $sku;
    public $name;
    public $price;
    public $size = '0';
    public $weight = '0';
    public $dimension = '0x0x0';

    // Methods
    function __construct($var1, $var2, $var3) // add or remove vars as needed
    {
        // use make a new product, example:
        $this->sku = $var1;
        $this->name = $var2;
        $this->price = $var3;
        // etc...
    }

}

$product = new Product($var1, $var2, $var3);
// do stuff with the product

您的构造函数应处理实例化产品信息以用于数据库。同样,PHP因其字符转义技术而臭名昭著。从长远来看,准备好的语句和类型转换将使您的生活更轻松。