Php 我正确地使用课堂了吗?
我有两节课。数据库和产品。我成功地将PHP与DB连接,并且能够打印数据。 但我想知道我是否正确使用了类产品?如果将来我添加Product类方法addProduct,我应该保留属性吗 我的产品类别:Php 我正确地使用课堂了吗?,php,Php,我有两节课。数据库和产品。我成功地将PHP与DB连接,并且能够打印数据。 但我想知道我是否正确使用了类产品?如果将来我添加Product类方法addProduct,我应该保留属性吗 我的产品类别: <?php require_once 'DataBase.class.php'; class Product { //Properties // var $id; // var $name; // var $price; //Methods fu
<?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;
我将getAllProducts()
函数与单个products类分开。像这样:
<?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类中定义它们,但是,如果您定义它们,zend engine将优化内存消耗,因此,是的,您可以跳过定义它们,但是如果您使用属性,则代码将更加混乱,需要更多内存。不要使用“var”关键字来声明它们。这将在PHP5的某些版本中起作用,但已被弃用,可能在PHP7中根本不起作用(我对此不确定)。你应该使用“公共”、“私有”或“保护”,这取决于所需的范围。考虑让GealAlgStices静态-或者把它移到其他类——它不是OOP…