Raised DBAL version from 1.1.5 to 1.1.6
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Classes / MVC / View / AbstractView.php
1 <?php
2 /***************************************************************
3 * Copyright notice
4 *
5 * (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
6 * All rights reserved
7 *
8 * This class is a backport of the corresponding class of FLOW3.
9 * All credits go to the v5 team.
10 *
11 * This script is part of the TYPO3 project. The TYPO3 project is
12 * free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * The GNU General Public License can be found at
18 * http://www.gnu.org/copyleft/gpl.html.
19 *
20 * This script is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * This copyright notice MUST APPEAR in all copies of the script!
26 ***************************************************************/
27
28 /**
29 * An abstract View
30 *
31 * @package Extbase
32 * @subpackage MVC\View
33 * @version $ID:$
34 * @api
35 */
36 abstract class Tx_Extbase_MVC_View_AbstractView implements Tx_Extbase_MVC_View_ViewInterface {
37
38 /**
39 * @var Tx_Extbase_MVC_Controller_ControllerContext
40 * @api
41 */
42 protected $controllerContext;
43
44 /**
45 * View variables and their values
46 * @var array
47 * @see assign()
48 */
49 protected $variables = array();
50
51 /**
52 * Sets the current controller context
53 *
54 * @param Tx_Extbase_MVC_Controller_ControllerContext $controllerContext
55 * @return void
56 */
57 public function setControllerContext(Tx_Extbase_MVC_Controller_ControllerContext $controllerContext) {
58 $this->controllerContext = $controllerContext;
59 }
60
61 /**
62 * Add a variable to $this->viewData.
63 * Can be chained, so $this->view->assign(..., ...)->assign(..., ...); is possible,
64 *
65 * @param string $key Key of variable
66 * @param object $value Value of object
67 * @return Tx_Extbase_MVC_View_ViewInterface an instance of $this, to enable chaining.
68 * @api
69 */
70 public function assign($key, $value) {
71 $this->variables[$key] = $value;
72 return $this;
73 }
74
75 /**
76 * Add multiple variables to $this->viewData.
77 *
78 * @param array $values array in the format array(key1 => value1, key2 => value2).
79 * @return void
80 * @api
81 */
82 public function assignMultiple(array $values) {
83 foreach($values as $key => $value) {
84 $this->assign($key, $value);
85 }
86 }
87
88 /**
89 * Initializes this view.
90 *
91 * Override this method for initializing your concrete view implementation.
92 *
93 * @return void
94 * @api
95 */
96 public function initializeView() {
97 }
98 }
99 ?>