This is an outdated version of the Manual. Visit the NEW Manual

Cooker

The cooker is a tool to turn arrays (forms, XML, JSON) into beans. An array has to contain a key named 'type' containing the type of bean it represents. Further more an array can contain own-lists and shared-lists as nested arrays.


    $bandMemberArr 
= array(
        
'type' => 'bandmember',
        
'name' => 'Duke',
        
'ownInstrument' => array(
            
'type'=>'instrument',
            
'name'=>'kazoo'    
        
)
    );
    
    
$bandMemberBean R::graph($bandMemberArr);

In this example we convert the array 'bandMemberArr' to a bean of type 'bandmember'. The bean can now be stored in the database.


    R
::store($bandMemberBean);

If an array has a field with key 'id', the Cooker will try to load the bean instead of dispensing a fresh bean. This means you can also update parts of beans.

The fact that the Cooker also automatically loads beans can become a security issue if you don't verify ID integrity. From RedBeanPHP 3.4 on the Cooker will have an extra safety setting; if you want to enable bean loading you need to invoke:
RedBean_Plugin_Cooker::enableBeanLoading(true);
first. Otherwise the Cooker will not load and/or update existing beans.

R::graph($array,TRUE) will ignore all beans that appear to be empty (You can use this if you build forms; it makes it possible to add an empty form entry to add a new entity of something).


 
 

RedBeanPHP Easy ORM for PHP © 2024 Gabor de Mooij and the RedBeanPHP community - Licensed New BSD/GPLv2