for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Nexendrie\Rss;
use Symfony\Component\OptionsResolver\OptionsResolver;
/**
* Rss Channel Item
*
* @author Jakub Konečný
*/
class RssChannelItem {
use \Nette\SmartObject;
/** @var array */
protected $data;
public function __construct(array $data) {
$this->data = $data;
}
protected function configureOptions(OptionsResolver $resolver, Generator $generator): void {
foreach($generator->getExtensions() as $extension) {
$extension->configureItemOptions($resolver, $generator);
public function toXml(\SimpleXMLElement &$element, Generator $generator): void {
$resolver = new OptionsResolver();
$this->configureOptions($resolver, $generator);
$data = $resolver->resolve($this->data);
foreach($data as $key => $value) {
if($value === "") {
continue;
if(!$value instanceof IXmlConvertible) {
$value = new GenericElement($key, $value);
$value->appendToXml($element);
?>