You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.2 KiB

<?php namespace Sensory5\Shortcode\Classes;
/**
* @author Tomasz Kowalczyk <tomasz@kowalczyk.cc>
*/
interface ShortcodeInterface
{
/**
* Returns new instance of given shortcode with changed content
*
* @param string $content
*
* @return self
*/
public function withContent($content);
/**
* Returns shortcode name
*
* @return string
*/
public function getName();
/**
* Returns associative array(name => value) of shortcode parameters
*
* @return array
*/
public function getParameters();
/**
* Returns parameter value using its name, will return null for parameter
* without value
*
* @param string $name Parameter name
* @param null $default Value returned if there is no parameter with given name
*
* @return mixed
*/
public function getParameter($name, $default = null);
/**
* Returns shortcode content (data between opening and closing tag). Null
* means that shortcode had no content (was self closing), do not confuse
* that with empty string (hint: use strict comparison operator ===).
*
* @return string|null
*/
public function getContent();
}