????JFIF??x?x????'
| Server IP : 172.67.174.47 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/./self/root/opt/alt/php53/usr/share/pear/Symfony/Component/Templating/Helper/ |
Upload File : |
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Templating\Helper;
/**
* SlotsHelper manages template slots.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @api
*/
class SlotsHelper extends Helper
{
protected $slots = array();
protected $openSlots = array();
/**
* Starts a new slot.
*
* This method starts an output buffer that will be
* closed when the stop() method is called.
*
* @param string $name The slot name
*
* @throws \InvalidArgumentException if a slot with the same name is already started
*
* @api
*/
public function start($name)
{
if (in_array($name, $this->openSlots)) {
throw new \InvalidArgumentException(sprintf('A slot named "%s" is already started.', $name));
}
$this->openSlots[] = $name;
$this->slots[$name] = '';
ob_start();
ob_implicit_flush(0);
}
/**
* Stops a slot.
*
* @throws \LogicException if no slot has been started
*
* @api
*/
public function stop()
{
if (!$this->openSlots) {
throw new \LogicException('No slot started.');
}
$name = array_pop($this->openSlots);
$this->slots[$name] = ob_get_clean();
}
/**
* Returns true if the slot exists.
*
* @param string $name The slot name
*
* @return Boolean
*
* @api
*/
public function has($name)
{
return isset($this->slots[$name]);
}
/**
* Gets the slot value.
*
* @param string $name The slot name
* @param Boolean|string $default The default slot content
*
* @return string The slot content
*
* @api
*/
public function get($name, $default = false)
{
return isset($this->slots[$name]) ? $this->slots[$name] : $default;
}
/**
* Sets a slot value.
*
* @param string $name The slot name
* @param string $content The slot content
*
* @api
*/
public function set($name, $content)
{
$this->slots[$name] = $content;
}
/**
* Outputs a slot.
*
* @param string $name The slot name
* @param Boolean|string $default The default slot content
*
* @return Boolean true if the slot is defined or if a default content has been provided, false otherwise
*
* @api
*/
public function output($name, $default = false)
{
if (!isset($this->slots[$name])) {
if (false !== $default) {
echo $default;
return true;
}
return false;
}
echo $this->slots[$name];
return true;
}
/**
* Returns the canonical name of this helper.
*
* @return string The canonical name
*
* @api
*/
public function getName()
{
return 'slots';
}
}