Yii Framework Forum: Allgemeine Anleitung für Nutzung von Behaviors - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Allgemeine Anleitung für Nutzung von Behaviors Rate Topic: -----

#1 User is offline   g3ck0 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 96
  • Joined: 03-June 09

Posted 02 July 2009 - 07:43 AM

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
0

#2 User is offline   mbi 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 608
  • Joined: 08-May 09

Posted 02 July 2009 - 07:46 AM

ein erster Lichtblick wäre vielleicht das:
http://www.yiiframew...oc/cookbook/14/
0

#3 User is offline   g3ck0 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 96
  • Joined: 03-June 09

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
0

#4 User is offline   g3ck0 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 96
  • Joined: 03-June 09

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]
0

#5 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,016
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 02 July 2009 - 08:54 AM

Interessantes Problem. Hab grad mal bei Qiang nachgefragt. Du kannst im behavior die Methode events() verwenden, und eine Liste aller anzudockenden Events angeben. Schau dir als Beispiel mal base/CModelbehavior an, das verwendet auch Events.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users