编程语言
首页 > 编程语言> > php – 在循环中实例化一个新类或不在循环中实例化?

php – 在循环中实例化一个新类或不在循环中实例化?

作者:互联网

require_once('Class.php');
$myArray = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); // etc

哪个是对的?

foreach($myArray as $key => $val) {
    $class = new Class();
    $result = $class->someMethod($val);
}

要么

$class = new Class();
foreach($myArray as $key => $val) {
    $result = $class->someMethod($val);
}

编辑更具体,使用http://simplepie.org/wiki/reference/simplepie/get_items

$aFeeds = array(rssFeed1,rssFeed2,rssFeed3,...);
foreach($aFeeds as $key => $feedURL) {
    $feed->set_feed_url(feedURL);
    $feed->init();
    $feed->get_items(0, 5);
}

解决方法:

简短回答:这取决于.

答案很长:如果重复实例化不会改变执行的结果,那么只在循环外创建一次类.

如果重复实例化确实改变了执行的结果,那么在循环内创建类实例是适当的实现.

其中哪一项是真的,完全取决于你的班级写作方式.我愿意打赌你不需要每次迭代都重新实例化这个类,但这纯粹是推测性的.

标签:php,class,loops,instantiation
来源: https://codeday.me/bug/20190726/1547117.html