![](/img/trans.png)
[英]PHP OOP File upload failure $_FILES not assigning to object/method variables
[英]OOP php method - pass variables in or get from inside object
我是OOP的新手,并编写了一个产品课程。 一切工作正常,但我不确定此类中以下哪个版本的方法最好?
第一个从对象内部获取变量,第二个将变量传递到类中。 两者都可以。 我最初将其作为第一个版本,但似乎运行缓慢,然后将其更改为第二个版本。
public function getProductURLstart(){
$select = "SELECT l.URL, p.id FROM logins AS l
INNER JOIN Pages AS p ON l.id = p.clientID
WHERE l.id = '$this->skID' AND p.productPage = 1";
$res = mssql_query($select);
$r = mssql_fetch_row($res);
$url = trim($r[0]);
$page_id = $r[1];
return $url .'/index.aspx?pageID='. $page_id . '&prodID=$this->prodID';
}
要么
static function getProductURLstart($skID, $prodId){
$select = "SELECT l.URL, p.id FROM logins AS l
INNER JOIN Pages AS p ON l.id = p.clientID
WHERE l.id = '$skID' AND p.productPage = 1";
$res = mssql_query($select);
$r = mssql_fetch_row($res);
$url = trim($r[0]);
$page_id = $r[1];
return $url .'/index.aspx?pageID='. $page_id . '&prodID=$prodId';
}
如果此类的实例是针对单个产品的,则请使用第一种方法,因为如果在构造类时设置了它们,则没有理由将其作为参数传递。
否则,如果这不仅仅用于产品,那么第二种方法将是您的最佳选择。 因为您不必每次需要获取产品URL时都为skID和prodID调用和设置方法。
这取决于,如果您打算给模型提供一些功能,例如使它们像活动记录一样,则可以将其放入类中并使用该类的成员。 此外,您是否有充分的理由使用静态函数? 如果要应用OOP,则必须将责任赋予有意义的类,模型不应同时获取数据和进行重定向。
我会和第一个在一起。 我一直在开发应用程序,尝试使用可以使用的static methods
较小的static methods
并始终使用attributes
,避免通过function parameters
发送attributes
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.