Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/domains/alsaif.group/private_html/libraries/fof40/Layout/ |
<?php
/**
* @package FOF
* @copyright Copyright (c)2010-2022 Nicholas K. Dionysopoulos / Akeeba Ltd
* @license GNU General Public License version 3, or later
*/
namespace FOF40\Layout;
defined('_JEXEC') || die;
use FOF40\Container\Container;
class LayoutHelper
{
/**
* A default base path that will be used if none is provided when calling the render method.
* Note that FileLayout itself will default to JPATH_ROOT . '/layouts' if no basePath is supplied at all
*
* @var string
*/
public static $defaultBasePath = '';
/**
* Method to render the layout.
*
* @param Container $container The container of your component
* @param string $layoutFile Dot separated path to the layout file, relative to base path
* @param array $displayData Array with values to be used inside the layout file to build displayed output
* @param string $basePath Base path to use when loading layout files
*
* @return string
*/
public static function render(Container $container, string $layoutFile, array $displayData = [], string $basePath = ''): string
{
$basePath = empty($basePath) ? self::$defaultBasePath : $basePath;
// Make sure we send null to LayoutFile if no path set
$basePath = empty($basePath) ? null : $basePath;
$layout = new LayoutFile($layoutFile, $basePath);
$layout->container = $container;
return $layout->render($displayData);
}
}