Non-static method MyClass::BeginRequest() cannot be called statically

Stavo seguendo il tutorial per mostrare un tema appropriato al dispositivo

Praticamente temaA per pc temaB per Iphone, ecc.

creo il file protected/components/MyClass.php


<?php

/*

 * Questa classe contiene il metodo onBeginRequest

 * che viene richiamato allo startup dell'applicazione

 * così come richiesto dal file di configurazione

 * /protected/config/main.php

 * 

 * Vedi il tutorial

 * http://learnyii.blogspot.com/2011/03/yii-theme-iphone-android-blackberry.html

 * e per approfondimenti:

 * http://www.yiiframework.com/forum/index.php?/topic/27624-come-utilizzare-un-application-behavior-per-mantenere-la-configurazione-a-runtime/

*/ 

class MyClass

{

	public function BeginRequest(CEvent $event)

	{

		Yii::app()->theme = Yii::app()->session['theme'];

	}

}



poi in /protected/config/main.php aggiungo:




	//Prima di far partire l'applicazione esegui 

	//protected/components/ create a file MyClass.php

	//così posso ad esempio decidere quale (templates) tema grafico eseguire

	'onBeginRequest'=>array('MyClass', 'BeginRequest'),	



ma l’applicazione crasha col seguente errore che non riesco a comprendere:

Non-static method MyClass::BeginRequest() cannot be called statically

[b]

[/b]

Cosa sto sbagliando?

Secondo me devi definire il metodo come:


 public STATIC function BeginRequest(CEvent $event)

Dato che gli passi il nome di una classe, e non un oggetto.