Hallo zusammen,
ich habe bisher leider in der CApplication.php programmiert, um kleinere Änderungen zu nutzen. Nur habe ich nun von behaviors gelesen und will diese nun nutzen, nur finde ich auf der Website leider keinerlei Informationen oder Anleitungen, die mir helfen würden, dieses Feature korrekt einzusetzen. Könnt ihr mir da ein wenig helfen?
mfg
Armin
Page 1 of 1
Allgemeine Anleitung für Nutzung von Behaviors
#3
Posted 02 July 2009 - 08:14 AM
so wirklich happy bin ich nicht mit der anleitung, da es laut kommentare teilweise nicht funktioniert. muss das ganze trotzdem noch testen.
speziell: ich habe vor, beim start der anwendung zu prüfen, ob in der session schon eine sprache gesetzt ist, denn wenn nicht, dann wird die sprache des browser erkannt und gesetzt.
Update:
Ich habe nun das folgende definiert:
[code=config/main.php]<?php
'behaviors' => array(
'onbeginRequest' => array(
'class' => 'application.components.StartupBehaviour',
)
)
?>[/code]
[code=components/Startupbehavior.php]<?php
class Startupbehavior extends Cbehavior
{
public function onbeginRequest(CEvent $event)
{
print_r('test');
}
}
?>[/code]
Was muss ich im der behavior-Klasse denn angeben, dass beim onbeginRequest der WebApplication die Methode ausgeführt wird? oO
speziell: ich habe vor, beim start der anwendung zu prüfen, ob in der session schon eine sprache gesetzt ist, denn wenn nicht, dann wird die sprache des browser erkannt und gesetzt.
Update:
Ich habe nun das folgende definiert:
[code=config/main.php]<?php
'behaviors' => array(
'onbeginRequest' => array(
'class' => 'application.components.StartupBehaviour',
)
)
?>[/code]
[code=components/Startupbehavior.php]<?php
class Startupbehavior extends Cbehavior
{
public function onbeginRequest(CEvent $event)
{
print_r('test');
}
}
?>[/code]
Was muss ich im der behavior-Klasse denn angeben, dass beim onbeginRequest der WebApplication die Methode ausgeführt wird? oO
#4
Posted 02 July 2009 - 08:41 AM
Ich habe hier die Lösung:
[code=config/main.php]<?php
'behaviors' => array(
'onbeginRequest' => array(
'class' => 'application.components.Startupbehavior',
)
)
?>[/code]
[code=components/Startupbehavior.php]<?php
class Startupbehavior extends Cbehavior
{
/**
* Methode, die das Verhalten mit einer Methode verknüpft
**/
public function attach($owner)
{
$owner->attachEventHandler('onbeginRequest', array($this, 'beginRequest'));
}
/**
* Diese Methoder wird aufgerufen, bevor großartige anderer Code ausgeführt
* wird.
**/
public function beginRequest(CEvent $event)
{
Yii::app()->request->redirect('http://www.google.de');
}
}
?>[/code]
[code=config/main.php]<?php
'behaviors' => array(
'onbeginRequest' => array(
'class' => 'application.components.Startupbehavior',
)
)
?>[/code]
[code=components/Startupbehavior.php]<?php
class Startupbehavior extends Cbehavior
{
/**
* Methode, die das Verhalten mit einer Methode verknüpft
**/
public function attach($owner)
{
$owner->attachEventHandler('onbeginRequest', array($this, 'beginRequest'));
}
/**
* Diese Methoder wird aufgerufen, bevor großartige anderer Code ausgeführt
* wird.
**/
public function beginRequest(CEvent $event)
{
Yii::app()->request->redirect('http://www.google.de');
}
}
?>[/code]
Share this topic:
Page 1 of 1

Help













