Podcast
extends Component
in package
Podcast component for Apple Podcasts integration.
The podcast component embeds a podcast episode player, allowing users to listen to podcast content directly within the article.
Tags
Table of Contents
Properties
- $anchor : string|null
- $animation : array<string, mixed>|null
- $behavior : array<string, mixed>|null
- $conditional : array<string, mixed>|null
- $hidden : bool
- $identifier : string|null
- $layout : string|null
- $style : string|null
- $accessibilityCaption : string|null
- The accessibility caption for VoiceOver users.
- $caption : string|null
- The caption for the podcast.
- $explicitContent : bool|null
- Whether the podcast contains explicit content.
- $imageURL : string|null
- URL to an image to display while podcast is loading.
- $url : string
Methods
- __construct() : mixed
- Create a new Podcast component.
- fromUrl() : self
- Create a Podcast component from an Apple Podcasts URL.
- getRole() : string
- Get the role name for the component (e.g., 'body', 'photo', 'heading1').
- jsonSerialize() : array<string, mixed>
- Implementation of JsonSerializable.
- setAccessibilityCaption() : $this
- Set the accessibility caption for VoiceOver.
- setAnchor() : static
- Set the anchor configuration.
- setAnimation() : static
- Set component animation using an array.
- setAnimationObject() : static
- Set the component animation using a typed Animation object.
- setBehavior() : static
- Set the component behavior using an array.
- setBehaviorObject() : static
- Set the component behavior using a typed Behavior object.
- setCaption() : $this
- Set the podcast caption.
- setConditional() : static
- Set conditional properties for the component.
- setExplicitContent() : $this
- Set whether the podcast contains explicit content.
- setHidden() : static
- Set whether the component is hidden.
- setIdentifier() : static
- Set a unique identifier for this component.
- setImageURL() : $this
- Set the image URL to display while podcast loads.
- setLayout() : static
- Set the layout name or inline layout.
- setStyle() : static
- Set the style name.
- getBaseProperties() : array<string, mixed>
- Get the base properties common to all components for JSON serialization.
Properties
$anchor
protected
string|null
$anchor
= null
Anchor configuration for pinning components.
$animation
protected
array<string, mixed>|null
$animation
= null
Animation settings for the component.
$behavior
protected
array<string, mixed>|null
$behavior
= null
Behavior settings (e.g., Parallax).
$conditional
protected
array<string, mixed>|null
$conditional
= null
Conditional properties based on orientation/device.
$hidden
protected
bool
$hidden
= false
Whether the component is hidden by default.
$identifier
protected
string|null
$identifier
= null
A unique identifier for this component instance.
$layout
protected
string|null
$layout
= null
Reference to a named layout defined in Article.
$style
protected
string|null
$style
= null
Reference to a named style defined in Article.
$accessibilityCaption
The accessibility caption for VoiceOver users.
private
string|null
$accessibilityCaption
= null
$caption
The caption for the podcast.
private
string|null
$caption
= null
$explicitContent
Whether the podcast contains explicit content.
private
bool|null
$explicitContent
= null
$imageURL
URL to an image to display while podcast is loading.
private
string|null
$imageURL
= null
$url read-only
private
string
$url
Methods
__construct()
Create a new Podcast component.
public
__construct(string $url) : mixed
Parameters
- $url : string
-
The Apple Podcasts URL.
fromUrl()
Create a Podcast component from an Apple Podcasts URL.
public
static fromUrl(string $url) : self
Parameters
- $url : string
-
The Apple Podcasts URL.
Return values
self —A new Podcast instance.
getRole()
Get the role name for the component (e.g., 'body', 'photo', 'heading1').
public
getRole() : string
Return values
stringjsonSerialize()
Implementation of JsonSerializable.
public
jsonSerialize() : array<string, mixed>
Return values
array<string, mixed>setAccessibilityCaption()
Set the accessibility caption for VoiceOver.
public
setAccessibilityCaption(string $caption) : $this
Parameters
- $caption : string
-
The accessibility caption.
Return values
$thissetAnchor()
Set the anchor configuration.
public
setAnchor(string $anchor) : static
Parameters
- $anchor : string
-
The anchor configuration.
Return values
staticsetAnimation()
Set component animation using an array.
public
setAnimation(array<string, mixed> $animation) : static
Parameters
- $animation : array<string, mixed>
-
Animation properties.
Tags
Return values
staticsetAnimationObject()
Set the component animation using a typed Animation object.
public
setAnimationObject(AnimationInterface $animation) : static
This method provides type-safe animation configuration:
$photo->setAnimationObject(FadeInAnimation::fromTransparent());
$body->setAnimationObject(MoveInAnimation::fromLeft());
Parameters
- $animation : AnimationInterface
-
The animation object.
Return values
staticsetBehavior()
Set the component behavior using an array.
public
setBehavior(array<string, mixed> $behavior) : static
Parameters
- $behavior : array<string, mixed>
-
The behavior configuration array.
Tags
Return values
staticsetBehaviorObject()
Set the component behavior using a typed Behavior object.
public
setBehaviorObject(BehaviorInterface $behavior) : static
This method provides type-safe behavior configuration:
$photo->setBehaviorObject(Parallax::withFactor(0.8));
$photo->setBehaviorObject(new Springy());
Parameters
- $behavior : BehaviorInterface
-
The behavior object.
Return values
staticsetCaption()
Set the podcast caption.
public
setCaption(string $caption) : $this
Parameters
- $caption : string
-
The caption text.
Return values
$thissetConditional()
Set conditional properties for the component.
public
setConditional(array<string, mixed> $conditional) : static
Parameters
- $conditional : array<string, mixed>
-
Array of conditions.
Tags
Return values
staticsetExplicitContent()
Set whether the podcast contains explicit content.
public
setExplicitContent(bool $explicit) : $this
Parameters
- $explicit : bool
-
Whether the content is explicit.
Return values
$thissetHidden()
Set whether the component is hidden.
public
setHidden(bool $hidden) : static
Parameters
- $hidden : bool
-
Whether to hide the component.
Return values
staticsetIdentifier()
Set a unique identifier for this component.
public
setIdentifier(string $identifier) : static
Parameters
- $identifier : string
-
The unique identifier.
Return values
staticsetImageURL()
Set the image URL to display while podcast loads.
public
setImageURL(string $imageURL) : $this
Parameters
- $imageURL : string
-
The image URL.
Return values
$thissetLayout()
Set the layout name or inline layout.
public
setLayout(string $layout) : static
Parameters
- $layout : string
-
Reference to a name in componentLayouts.
Return values
staticsetStyle()
Set the style name.
public
setStyle(string $style) : static
Parameters
- $style : string
-
Reference to a name in componentStyles.
Return values
staticgetBaseProperties()
Get the base properties common to all components for JSON serialization.
protected
getBaseProperties() : array<string, mixed>