Smarty v5 update test, initial code setup

This commit is contained in:
2024-08-09 17:28:32 +09:00
parent b2c8fe2e1f
commit 2fc2807a6b
382 changed files with 30655 additions and 28498 deletions

View File

@@ -0,0 +1,44 @@
<?php
/**
* Smarty Internal Plugin Compile Object Block Function
* Compiles code for registered objects as block function
*
* @author Uwe Tews
*/
namespace Smarty\Compile;
/**
* Smarty Internal Plugin Compile Object Block Function Class
*
*/
class ObjectMethodBlockCompiler extends BlockCompiler {
/**
* @inheritDoc
*/
protected function getIsCallableCode($tag, $function): string {
$callbackObject = "\$_smarty_tpl->getSmarty()->registered_objects['{$tag}'][0]";
return "(isset({$callbackObject}) && is_callable(array({$callbackObject}, '{$function}')))";
}
/**
* @inheritDoc
*/
protected function getFullCallbackCode($tag, $function): string {
$callbackObject = "\$_smarty_tpl->getSmarty()->registered_objects['{$tag}'][0]";
return "{$callbackObject}->{$function}";
}
/**
* @inheritDoc
*/
protected function blockIsCacheable(\Smarty\Smarty $smarty, $function): bool {
return true;
}
}