Overview

Namespaces

  • None
  • RedBeanPHP
    • Adapter
    • BeanHelper
    • Cursor
    • Driver
    • Logger
      • RDefault
    • QueryWriter
    • RedException
    • Repository
    • Util

Classes

  • R
  • RedBean_SimpleModel
  • RedBeanPHP\Adapter\DBAdapter
  • RedBeanPHP\AssociationManager
  • RedBeanPHP\BeanCollection
  • RedBeanPHP\BeanHelper\SimpleFacadeBeanHelper
  • RedBeanPHP\Cursor\NullCursor
  • RedBeanPHP\Cursor\PDOCursor
  • RedBeanPHP\Driver\RPDO
  • RedBeanPHP\DuplicationManager
  • RedBeanPHP\Facade
  • RedBeanPHP\Finder
  • RedBeanPHP\Jsonable
  • RedBeanPHP\LabelMaker
  • RedBeanPHP\Logger\RDefault
  • RedBeanPHP\Logger\RDefault\Debug
  • RedBeanPHP\Observable
  • RedBeanPHP\OODB
  • RedBeanPHP\OODBBean
  • RedBeanPHP\QueryWriter\AQueryWriter
  • RedBeanPHP\QueryWriter\CUBRID
  • RedBeanPHP\QueryWriter\MySQL
  • RedBeanPHP\QueryWriter\PostgreSQL
  • RedBeanPHP\QueryWriter\SQLiteT
  • RedBeanPHP\R
  • RedBeanPHP\Repository
  • RedBeanPHP\Repository\Fluid
  • RedBeanPHP\Repository\Frozen
  • RedBeanPHP\SimpleModel
  • RedBeanPHP\SimpleModelHelper
  • RedBeanPHP\TagManager
  • RedBeanPHP\ToolBox
  • RedBeanPHP\Util\ArrayTool
  • RedBeanPHP\Util\DispenseHelper
  • RedBeanPHP\Util\Dump
  • RedBeanPHP\Util\MultiLoader
  • RedBeanPHP\Util\Transaction

Interfaces

  • RedBeanPHP\Adapter
  • RedBeanPHP\BeanHelper
  • RedBeanPHP\Cursor
  • RedBeanPHP\Driver
  • RedBeanPHP\Logger
  • RedBeanPHP\Observer
  • RedBeanPHP\Plugin
  • RedBeanPHP\QueryWriter

Exceptions

  • RedBeanPHP\RedException
  • RedBeanPHP\RedException\SQL

Functions

  • array_flatten
  • dmp
  • EID
  • genslots
  • Overview
  • Namespace
  • Class
 1: <?php
 2: 
 3: namespace RedBeanPHP;
 4: 
 5: use RedBeanPHP\Observer as Observer;
 6: use RedBeanPHP\OODBBean as OODBBean;
 7: use RedBeanPHP\Observable as Observable;
 8: 
 9: /**
10:  * RedBean Model Helper.
11:  *
12:  * Connects beans to models.
13:  * This is the core of so-called FUSE.
14:  *
15:  * @file    RedBeanPHP/ModelHelper.php
16:  * @author  Gabor de Mooij and the RedBeanPHP Community
17:  * @license BSD/GPLv2
18:  *
19:  * @copyright
20:  * copyright (c) G.J.G.T. (Gabor) de Mooij and the RedBeanPHP Community
21:  * This source file is subject to the BSD/GPLv2 License that is bundled
22:  * with this source code in the file license.txt.
23:  */
24: class SimpleModelHelper implements Observer
25: {
26:     /**
27:      * Gets notified by an observable.
28:      * This method decouples the FUSE system from the actual beans.
29:      * If a FUSE event happens 'update', this method will attempt to
30:      * invoke the corresponding method on the bean.
31:      *
32:      * @param string  $eventName i.e. 'delete', 'after_delete'
33:      * @param OODBean $bean      affected bean
34:      *
35:      * @return void
36:      */
37:     public function onEvent( $eventName, $bean )
38:     {
39:         $bean->$eventName();
40:     }
41: 
42:     /**
43:      * Attaches the FUSE event listeners. Now the Model Helper will listen for
44:      * CRUD events. If a CRUD event occurs it will send a signal to the model
45:      * that belongs to the CRUD bean and this model will take over control from
46:      * there. This method will attach the following event listeners to the observable:
47:      *
48:      * - 'update'       (gets called by R::store, before the records gets inserted / updated)
49:      * - 'after_update' (gets called by R::store, after the records have been inserted / updated)
50:      * - 'open'         (gets called by R::load, after the record has been retrieved)
51:      * - 'delete'       (gets called by R::trash, before deletion of record)
52:      * - 'after_delete' (gets called by R::trash, after deletion)
53:      * - 'dispense'     (gets called by R::dispense)
54:      *
55:      * For every event type, this method will register this helper as a listener.
56:      * The observable will notify the listener (this object) with the event ID and the
57:      * affected bean. This helper will then process the event (onEvent) by invoking
58:      * the event on the bean. If a bean offers a method with the same name as the
59:      * event ID, this method will be invoked.
60:      *
61:      * @param Observable $observable object to observe
62:      *
63:      * @return void
64:      */
65:     public function attachEventListeners( Observable $observable )
66:     {
67:         foreach ( array( 'update', 'open', 'delete', 'after_delete', 'after_update', 'dispense' ) as $eventID ) {
68:             $observable->addEventListener( $eventID, $this );
69:         }
70:     }
71: }
72: 
API documentation generated by ApiGen