我可能可以作爲一個PHP開發人員傳遞,但我只是不「獲取」面向對象的一面,現在是時候將它整理出來。幫我「搞定」面向對象的PHP
在代碼片段中,我寫了一些代碼來從mongoDB中獲取一些信息。我意識到我在那裏使用了一些類,但是我沒有構建任何類 - 它們就是MongoDB驅動程序提供的。 在foreach循環中,我有一些從MongoDB打印出來的變量。我想使這個foreach循環類,以便我可以打電話這樣的:
print->Environment
print->Architecture
這使得它很好,乾淨和簡單。我想,如果有人能夠幫助我從我已經寫過的東西創建一個班級,可能會幫助我「獲得」班級和對象。感謝所有的幫助。
考慮以下幾點:
$gethost=$_GET['q'];
try {
// open connection to MongoDB server
$conn = new Mongo('localhost');
// access database
$db = $conn->factdb;
//authenticate
$db->authenticate('username','password');
// access collection
$collection = $db->hosts;
// define what to find
$host = array(
'host' => $gethost
);
// disconnect from server
$conn->close();
} catch (MongoConnectionException $e) {
die('Error connecting to MongoDB server');
} catch (MongoException $e) {
die('Error: ' . $e->getMessage());
}
$cursor = $collection->find($host);
foreach ($cursor as $value) {
echo '<tr><td><b>Environment</b></td><td>'.$value['facter']['environment']['value'].'</td><td>'.date("M j Y",$value['facter']['environment']['created_at']).'</td><td>'.date("M j Y",$value['facter']['environment']['updated_at']).'</td></tr>';
echo '<tr><td><b>FQDN</b></td><td>'.$value['facter']['fqdn']['value'].'</td><td>'.date("M j Y",$value['facter']['fqdn']['created_at']).'</td><td>'.date("M j Y",$value['facter']['fqdn']['updated_at']).'</td></tr>';
echo '<tr><td><b>Model</b></td><td>'.$value['allocations']['model']['value'].'</td><td>'.date("M j Y",$value['allocations']['model']['created_at']).'</td><td>'.date("M j Y",$value['allocations']['model']['updated_at']).'</td></tr>';
}
您的代碼是基於對象的編程。實際的OOP編程涉及從頭開始創建全新的對象,或者擴展/繼承其他對象。 –