COutputProcessor - Yii is looking for clas that is NOT being used?

Hi there,

I wanted to use qtip2 extension and run into problem I see for the very first time in my whole Yii and PHP history. I’m asking here because both me and extension’s author have no idea, what is going on? Maybe some forum user had similar experience and can help up?

Either I’m missing something or doing something really wrong or Yii (PHP) is looking for class that is not being used anywhere in the code.

Just as I wrote on qtip2’s page - after installing extension, any attempt to run it ends with PHP error saying “Fatal error: Class ‘COutputProcessor’ not found in [path]\protected\extensions\qtip\QTip.php on line 57”. The problem is that COutputProcessor class is NOT being used / called / extended in neither extension code nor my application code - as this is first time I heard about this class.

Line 57 is extension’s __construct() method. But qtip2 as nearly any other extension is descending from CComponent not COutputProcessor.

I would like to use this extension, but current situation renders it completely useless for me. Can anyone got any idea, what is going on here?

Cheers,

Trejder

Were you causing an exception or error?

I ran into this error when using an extension where I was causing an exception to be thrown. At that point the app as attempting to output things when I had not expected it too. I think Yii was capturing the exception and calling classes it couldn’t find because I had disabled autoloading for the extension I was using.

See http://www.yiiframework.com/wiki/101/how-to-use-phpexcel-external-library-with-yii/

May be unrelated, but an idea, I figured, would be better than no response.

Check the doc for COutputProcessor - http://www.yiiframework.com/doc/api/1.1/COutputProcessor

See if you use some of it’s subclasses like CHtmlPurifier, CContentDecorator, CMarkdown or CTextHighlighter

@Nate W: Thanks for trying to help, but I fear that this will not lead us anyway. I’m not calling any exception. As I wrote above - this error appears when only trying to use (render / execute) widget by calling beginWidget.

@mdomba: Nope, non of classes mentioned by you is being used inside code of qtip extension and since it is descenting from a very low-level component (CComponent) I don’t thing problem lies somewhere around. Beside - if you only have a bit of spare time - you can examine this extensions’ source code:

http://www.yiiframework.com/extension/qtip2/files/qtip.zip/

It is DEADLY simple - it has only 70 lines of code (including commens) so it can’t be made simplier and that is why I was so surprised to see this error message.

I was more thinking that you are using some of this classes in your code… as I assume that this extension does work for others (nobody had the same problem until now)… so the reason for the problem has to be something in this class connected with something in your code…

At least you can try a simple test case… a new webapp… one model / crud… and see if then this extension works…

You might be right and as usual, the simplest solutions are beyond my looking.

The only thing, why this time I haven’t started from testing my own code was, that the class is being reported by error message was unknown to me until first display of the error text. I’ve never heard about it before and that is why I assumed that it must me somewhere connected to the extension, not my code. This assumption seems to be wrong right know, but even if connection between error message and my own code exists, it must be somewhere deep.

Anyway, thanks for pointing this out. I’ll try to do some extensive check out of my own code to see if the problem actually doesn’t lies somewhere there.

I got this error when my model had a function with the same name as another function in one of its parent classes.

i comming late but the same case when moving an entire application to a production environment. in this case the error is shown a different message when following this steps:

  1. index.php DEBUG flag, set to TRUE.

  2. now the error is different:

[font=Verdana][size=2]Declaration of Docs::onBeforeValidate() should be compatible with CModel::onBeforeValidate($event)[/size][/font]

[font=Verdana][size=2]

[/size][/font]

[font=Verdana][size=2]now, for what reason the original error was referencing to "[/size][/font][color=#FFFFFF][size=2]COutputProcessor[/size][/color][font=Verdana][size=2]" and now is referencing another distinct issue ?[/size][/font]

[font=Verdana][size=2]i am trying to see what is happening…[/size][/font]

Hi,

This reason is valid.

I experienced the same problem when the parent class got some functions which were found in it’s child class and then the child class began to complain.

//Babak