{NL} - 2.1.1 Controller Extensies

Een Component is een klasse die de controller logica ondersteunt. Als u bepaalde logica wilt delen met verschillende controllers controllers (of applicaties), dan is een component meestal een goede oplossing. Bijvoorbeeld met het EmailComponent in de core, is het maken en versturen van emails een fluitje van een cent. In plaats van een controller methode die deze logica uitvoert voor een enkele controller te schrijven, kun je deze logica bundelen zodat deze gedeeld kan worden.

Controllers zijn ook voorzien van callbacks. Deze callbacks zijn door u te gebruiken, voor het geval dat u bepaalde logica wilt invoegen in CakePHP’s core uitvoeringen. Beschikbare Callbacks zijn:

  • beforeFilter(), deze wordt uitgevoerd voor alle logische controller acties
  • beforeRender(), deze wordt uitgevoerd na alle controller logica, maar voordat de view gerendered wordt
  • afterFilter(), deze wordt uitgevoerd na alle controller logica, inclusief de view rendering. Het kan zijn dat er geen verschil is tussen afterRender() en afterFilter() tenzij u handmatig een render() aanroep in uw controlleractie hebt gemaakt en nog enige logica hebt toevoegd na die aanroep.

{EN} - 2.1.1 Controller Extensions ("Components")

A Component is a class that aids in controller logic. If you have some logic you want to share between controllers (or applications), a component is usually a good fit. As an example, the core EmailComponent class makes creating and sending emails a snap. Rather than writing a controller method in a single controller that performs this logic, you can package the logic so it can be shared.

Controllers are also fitted with callbacks. These callbacks are available for your use, just in case you need to insert some logic between CakePHP’s core operations. Callbacks available include:

  • beforeFilter(), executed before any controller action logic
  • beforeRender(), executed after controller logic, but before the view is rendered
  • afterFilter(), executed after all controller logic, including the view render. There may be no difference between afterRender() and afterFilter() unless you’ve manually made a call to render() in your controller action and have included some logic after that call.

Differences

Lines: 1-8Lines: 1-8
-<title>Controller Extensions ("Components")</title>
<p>A Component is a class that aids in controller logic. If you have some logic you want to share between controllers (or applications), a component is usually a good fit. As an example, the core EmailComponent class makes creating and sending emails a snap. Rather than writing a controller method in a single controller that performs this logic, you can package the logic so it can be shared.</p>
<p>Controllers are also fitted with callbacks. These callbacks are available for your use, just in case you need to insert some logic between CakePHP’s core operations. Callbacks available include:</p>
+<title>Controller Extensies</title>
<p>Een Component is een klasse die de controller logica ondersteunt. Als u bepaalde logica wilt delen met verschillende controllers controllers (of applicaties), dan is een component meestal een goede oplossing. Bijvoorbeeld met het EmailComponent in de core, is het maken en versturen van emails een fluitje van een cent. In plaats van een controller methode die deze logica uitvoert voor een enkele controller te schrijven, kun je deze logica bundelen zodat deze gedeeld kan worden.</p>
<p>Controllers zijn ook voorzien van callbacks. Deze callbacks zijn door u te gebruiken, voor het geval dat u bepaalde logica wilt invoegen in CakePHP’s core uitvoeringen. Beschikbare Callbacks zijn:</p>
 <ul> <ul>
-<li><code>beforeFilter()</code&gt;, executed before any controller action logic</li>
<li><code>beforeRender()</code&gt;, executed after controller logic, but before the view is rendered</li>
<li><code>afterFilter()</code&gt;, executed after all controller logic, including the view render. There may be no difference between <code>afterRender()</code> and <code>afterFilter()&lt;/code> unless you’ve manually made a call to <code>render()</code> in your controller action and have included some logic after that call.</li>
+<li>beforeFilter(), deze wordt uitgevoerd voor alle logische controller acties</li>
<li>beforeRender(), deze wordt uitgevoerd na alle controller logica, maar voordat de view gerendered wordt</li>
<li>afterFilter(), deze wordt uitgevoerd na alle controller logica, inclusief de view rendering. Het kan zijn dat er geen verschil is tussen afterRender() en afterFilter() tenzij u handmatig een render() aanroep in uw controlleractie hebt gemaakt en nog enige logica hebt toevoegd na die aanroep.</li>
 </ul> </ul>