2017-09-18 25 views
0

我遇到了這個代碼片斷,並與cast()函數混淆?它有什麼作用?什麼是cast()在sql mapper fatfree中做什麼?

$userModel = new UserModel(); 
    $record = $userModel->findone(array('id=?', $uid)); 
    $f3->set('SESSION.deleteUser', $uid); 
    $f3->set('user', $record->cast()); 
    $f3->set('content', 'user/delete.php'); 
    $template = new \View; 
    echo $template->render('dashboard/layout.php'); 

回答

2

(又名 「管型」)一個Mapper對象轉換爲一個關聯array

鑄造前:

$userModel->load(['id=?',123]); 
echo $userModel->id; // 123 
echo $userModel->name; // John Doe 
echo $userModel->country; // Botswana 
print_r($userModel); // List of object properties (including inherited) 

鑄造後:

print_r($userModel->cast()); 
/* 
Array 
(
    [id] => 123 
    [name] => John Doe 
    [country] => Botswana 
) 
*/ 

鑄造,當你想要一個映射器的只讀副本傳遞給模板(又名是有用的「關注點分離」)。它還有助於在加載大量記錄時減少內存使用量 。