46. Cake Development Corporation
Object-Oriented ViewsObject-Oriented Views
class IndexView extends CtkView {
public $factories = ['Ctk.Html', 'Ctk.Js'];
public function build() {
// create a HTML div
$div = $this->Html->Div();
// create a HTML button
$button = $this->Html->Button([
'value' => __('Click Me')
]);
// add the button to the div
$div->add($button);
// add the div to the view
$this->add($div);
}
}
47. Cake Development Corporation
ViewExtensibilityViewExtensibility
class IndexView extends CtkView {
public $factories = ['Ctk.Html', 'Ctk.Js'];
public function build() {
$div = $this->Html->Div();
$div->add($this->buildButton());
$this->add($div);
}
public function buildButton($value) {
return $this->Html->Button([
'value' => __($value)
]);
}
}
48. Cake Development Corporation
AttachingEventsAttachingEvents
// create a HTML button
$button = $this->Html->Button([
'value' => __('Click Me')
]);
// bind an event to the button
$button->bind('click', $this->Js->Alert([
'text' => __('Hello World')
]));