[TYPO3] Problems with a deprecated php function

ries van Twisk typo3 at rvt.dds.nl
Thu Dec 20 13:54:30 CET 2007


Hey Ivan,

I changed it simply to this :

$content = $classObj -> $parts[1]( $content, $conf);

I needed this to get TYPO3 running with Quercus.

Ries

On Dec 20, 2007, at 5:17 AM, Ivan Gomez Rodriguez wrote:

> Does someboby know if it's possible use call_user_function instead
> call_user_method function in TYPO3 core (v.4.12)?,
>
> This change will be rather dangerous or not
>
> Following is the only one place where call_user_func is called in my
> intallation
>
> typo3/sysext/cms/tslib/class.tslib_content.php:5697:
>       $content = call_user_method($parts[1], $classObj, $content,  
> $conf);
>
> I wish to use exceptions and i can't do that because  
> call_user_method is
> deprecated and it have well-known bugs related with exceptions.
>
> A solution could be change this function for any of recommended
> functions call_user_func or call_user_func _array
>
> http://es.php.net/manual/en/function.call-user-method.php
>
>
> Does somebody know if it's possible do that?
> Is it the best solution or i could find other problems?
>
> Thanks in advance
>
> ------------------------
> Iván Gómez Rodríguez
> Computer Science Engineer
> mailto:igomez at igalia.com
>
>
>
> Ivan Gomez Rodriguez wrote:
>> I'm trying to use exceptions in my extensions for several reasons and
>> uncaugth exceptions have a bad behaviour, generating blank pages  
>> instead
>>  normal fatal error message.
>>
>> I think this problem is derived from use of deprecated function
>> call_user_method  in class.tslib_content.php
>>
>> Following code is not succesful :
>>
>> class test
>>    {
>>
>>      function foo()
>>      {
>> 	throw new Exception('bar');
>>      }
>>
>>    }
>>
>>
>> try {
>>  $a = new test();
>>
>>  call_user_method('foo',$a);
>> 		
>> } catch (Exception $e) {
>> 	echo $e->getMessage();
>> }
>>
>> //Expected result: bar
>>
>> Result in web :
>>
>> Warning: call_user_method() [function.call-user-method]: Unable to  
>> call
>> foo() in ....
>>
>> Result in CLI :
>> Notice: call_user_method(): This function is deprecated, use the
>> call_user_func variety with the array(&$obj, "method") syntax  
>> instead in
>> /home/igalia/igomez/TMP/TESTING_EXCEPTIONS/prueba1.php on line 16
>>
>> bar
>>
>>
>> In CLI seems work but not in web.
>>
>> Does know somebody what can i do for resolv that? Some php  
>> configuration
>> change ?
>>
>> I think the best could be use another callbacking function like
>> call_user_func or call_user_func_array but i don't like to make this
>> important change in TYPO3 core .
>>
>> ------------------------
>> Iván Gómez Rodríguez
>> Computer Science Engineer
>> mailto:igomez at igalia.com
>> _______________________________________________
>> TYPO3-english mailing list
>> TYPO3-english at lists.netfielders.de
>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-english
> _______________________________________________
> TYPO3-english mailing list
> TYPO3-english at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-english

--
Ries van Twisk
Freelance TYPO3 Developer
email: ries at vantwisk.nl
web:   http://www.rvantwisk.nl/
skype: callto://r.vantwisk
Phone: + 1 810-476-4193









More information about the TYPO3-english mailing list