News
extends ResponseBase
in package
uses
FormatsForDisplay
Class News
Represents news data for a stock and handles the response parsing.
Table of Contents
Properties
- $_saved_filename : string|null
- $articles : array<string|int, Article>
- Array of Article objects containing individual news article data.
- $status : string
- The status of the response. Will always be "ok" when there is data for the symbol requested.
- $csv : string
- $html : string
Methods
- __construct() : mixed
- Constructs a new News object and parses the response data.
- __toString() : string
- Returns a string representation of the news collection.
- getCsv() : string
- Get the CSV content of the response.
- getHtml() : string
- Get the HTML content of the response.
- isCsv() : bool
- Check if the response is in CSV format.
- isHtml() : bool
- Check if the response is in HTML format.
- isJson() : bool
- Check if the response is in JSON format.
- saveToFile() : string
- Save CSV/HTML content to a file.
- formatChange() : string
- Format a change value with sign and currency (e.g., "+$1.25" or "-$0.50").
- formatCurrency() : string
- Format a float as currency (e.g., "$150.25").
- formatDate() : string
- Format a Carbon date without time (e.g., "Jan 24, 2026").
- formatDateTime() : string
- Format a Carbon date with time (e.g., "Jan 24, 2026 3:45 PM").
- formatGreek() : string
- Format a Greek value (4 decimal places, e.g., "0.4520").
- formatNumber() : string
- Format a number with commas (e.g., "15,234").
- formatPercent() : string
- Format a percentage with sign (e.g., "+3.25%" or "-1.50%").
- formatPercentRaw() : string
- Format a percentage that is already in percent form (e.g., "32.50%").
- formatVolume() : string
- Format volume with K/M/B suffixes (e.g., "54.9M", "12.3K").
Properties
$_saved_filename
public
string|null
$_saved_filename
= null
The filename where the response was saved (if filename parameter was used).
$articles
Array of Article objects containing individual news article data.
public
array<string|int, Article>
$articles
= []
$status
The status of the response. Will always be "ok" when there is data for the symbol requested.
public
string
$status
= 'no_data'
$csv
protected
string
$csv
The CSV content of the response.
$html
protected
string
$html
The HTML content of the response.
Methods
__construct()
Constructs a new News object and parses the response data.
public
__construct(object $response) : mixed
Parameters
- $response : object
-
The raw response object to be parsed.
__toString()
Returns a string representation of the news collection.
public
__toString() : string
Return values
string —Human-readable news summary.
getCsv()
Get the CSV content of the response.
public
getCsv() : string
Tags
Return values
string —The CSV content.
getHtml()
Get the HTML content of the response.
public
getHtml() : string
Tags
Return values
string —The HTML content.
isCsv()
Check if the response is in CSV format.
public
isCsv() : bool
Return values
bool —True if the response is in CSV format, false otherwise.
isHtml()
Check if the response is in HTML format.
public
isHtml() : bool
Return values
bool —True if the response is in HTML format, false otherwise.
isJson()
Check if the response is in JSON format.
public
isJson() : bool
Return values
bool —True if the response is in JSON format, false otherwise.
saveToFile()
Save CSV/HTML content to a file.
public
saveToFile(string $filename) : string
Parameters
- $filename : string
-
The file path to save to.
Tags
Return values
string —The absolute path of the saved file.
formatChange()
Format a change value with sign and currency (e.g., "+$1.25" or "-$0.50").
protected
formatChange(float|null $value) : string
Parameters
- $value : float|null
-
The change value to format.
Return values
string —Formatted change string or "N/A" if null.
formatCurrency()
Format a float as currency (e.g., "$150.25").
protected
formatCurrency(float|null $value) : string
Parameters
- $value : float|null
-
The value to format.
Return values
string —Formatted currency string or "N/A" if null.
formatDate()
Format a Carbon date without time (e.g., "Jan 24, 2026").
protected
formatDate(Carbon|null $date) : string
Parameters
- $date : Carbon|null
-
The date to format.
Return values
string —Formatted date string or "N/A" if null.
formatDateTime()
Format a Carbon date with time (e.g., "Jan 24, 2026 3:45 PM").
protected
formatDateTime(Carbon|null $date) : string
Parameters
- $date : Carbon|null
-
The date to format.
Return values
string —Formatted date string or "N/A" if null.
formatGreek()
Format a Greek value (4 decimal places, e.g., "0.4520").
protected
formatGreek(float|null $value) : string
Parameters
- $value : float|null
-
The Greek value to format.
Return values
string —Formatted Greek string or "N/A" if null.
formatNumber()
Format a number with commas (e.g., "15,234").
protected
formatNumber(int|null $value) : string
Parameters
- $value : int|null
-
The number to format.
Return values
string —Formatted number string or "N/A" if null.
formatPercent()
Format a percentage with sign (e.g., "+3.25%" or "-1.50%").
protected
formatPercent(float|null $value) : string
Assumes input is a decimal (0.30 = 30%).
Parameters
- $value : float|null
-
The decimal value to format as percentage.
Return values
string —Formatted percentage string or "N/A" if null.
formatPercentRaw()
Format a percentage that is already in percent form (e.g., "32.50%").
protected
formatPercentRaw(float|null $value) : string
Use this for values like implied volatility that are already percentages.
Parameters
- $value : float|null
-
The percentage value to format.
Return values
string —Formatted percentage string or "N/A" if null.
formatVolume()
Format volume with K/M/B suffixes (e.g., "54.9M", "12.3K").
protected
formatVolume(int|null $value) : string
Parameters
- $value : int|null
-
The volume to format.
Return values
string —Formatted volume string or "N/A" if null.