Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2']
php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3']

steps:
- name: Checkout
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Yii Framework 2 apidoc extension Change Log
- Bug #313: Fix deprecation error `Method deprecated, use ::getParameters()` (mspirkov)
- Bug #317: Fix `trim` deprecation errors `Passing null to parameter #1 ($string) of type string is deprecated` (mspirkov)
- Bug #318: Fix deprecation errors `mb_convert_encoding(): Handling HTML entities via mbstring is deprecated` (mspirkov)
- Bug #312: Fix `MarkdownHighlightTrait::highlight()` behavior for PHP 8.3 (mspirkov)


3.0.7 February 13, 2025
Expand Down
10 changes: 8 additions & 2 deletions helpers/MarkdownHighlightTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,14 @@ public static function highlight($code, $language)
$text = substr($text, 0, $pos) . substr($text, $pos + 6);
}
}
// remove <code><span style="color: #000000">\n and </span>tags added by php
$text = substr(trim($text), 36, -16);

// Remove prefixes and suffixes added by php
if (PHP_VERSION_ID >= 80300) {
// The `highlight_string` result format has changed since PHP8.3
$text = substr($text, 34, -13);
} else {
$text = substr($text, 36, -16);
}

return $text;
}
Expand Down
6 changes: 6 additions & 0 deletions tests/commands/ApiControllerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ public function testGenerateBootstrap()
$fileContent = preg_replace('/\s+href\s*=\s*(["\'])#[^"\']*\1/i', '', $fileContent);
$fileContent = preg_replace('/\s+data-target\s*=\s*(["\'])#[^"\']*\1/i', '', $fileContent);

// The `highlight_string` result format has changed since PHP8.3
// To prevent test failures, we remove some spaces.
$fileContent = str_replace('> $', '>$', $fileContent);
$fileContent = str_replace('> <', '><', $fileContent);
$fileContent = str_replace('=&nbsp;', '= ', $fileContent);

$this->assertMatchesHtmlSnapshot($fileContent);
$filesCount++;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ <h2>Property Details</h2>
</div>

<div class="signature">
<span class="signature-defs">public</span> <span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span> <a href="yiiunit-apidoc-data-api-animal-animal.html#%24age-detail">$age</a> <span style="color: #0000BB"></span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span>
<span class="signature-defs">public</span><span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span><a href="yiiunit-apidoc-data-api-animal-animal.html#%24age-detail">$age</a><span style="color: #0000BB"></span><span style="color: #007700">= </span><span style="color: #0000BB">null</span>
</div>


Expand All @@ -217,7 +217,7 @@ <h2>Property Details</h2>
</div>

<div class="signature">
<span class="signature-defs">public</span> <span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span> <a href="yiiunit-apidoc-data-api-animal-animal.html#%24birthDate-detail">$birthDate</a> <span style="color: #0000BB"></span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span>
<span class="signature-defs">public</span><span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span><a href="yiiunit-apidoc-data-api-animal-animal.html#%24birthDate-detail">$birthDate</a><span style="color: #0000BB"></span><span style="color: #007700">= </span><span style="color: #0000BB">null</span>
</div>


Expand All @@ -240,7 +240,7 @@ <h2>Property Details</h2>
</div>

<div class="signature">
<span class="signature-defs">public</span> <span class="signature-type"><a href="https://www.php.net/language.types.string">string</a></span> <a href="yiiunit-apidoc-data-api-animal-animal.html#%24name-detail">$name</a> <span style="color: #0000BB"></span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span>
<span class="signature-defs">public</span><span class="signature-type"><a href="https://www.php.net/language.types.string">string</a></span><a href="yiiunit-apidoc-data-api-animal-animal.html#%24name-detail">$name</a><span style="color: #0000BB"></span><span style="color: #007700">= </span><span style="color: #0000BB">null</span>
</div>


Expand Down Expand Up @@ -272,7 +272,7 @@ <h2>Method Details</h2>

<table class="detail-table table table-striped table-bordered table-hover">
<tr><td colspan="3" class="signature">
<span class="signature-defs">public</span> <span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span> <strong><a href="yiiunit-apidoc-data-api-animal-animal.html#getAge()-detail">getAge</a></strong> ( )</td></tr>
<span class="signature-defs">public</span><span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span><strong><a href="yiiunit-apidoc-data-api-animal-animal.html#getAge()-detail">getAge</a></strong> ( )</td></tr>


<tr>
Expand All @@ -296,7 +296,7 @@ <h2>Method Details</h2>
<div class="collapse">
<div class="card card-body">
<pre>
<code class="hljs php language-php"><span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">getAge</span><span class="hljs-params">()</span>
<code class="hljs php language-php"><span class="hljs-keyword">public</span><span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-title">getAge</span><span class="hljs-params">()</span>
</span>{
<span class="hljs-keyword">return</span> time() - <span class="hljs-keyword">$this</span>-&gt;birthDate;
}
Expand Down Expand Up @@ -326,7 +326,7 @@ <h2>Method Details</h2>

<table class="detail-table table table-striped table-bordered table-hover">
<tr><td colspan="3" class="signature">
<span class="signature-defs">public</span> <span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span> <strong><a href="yiiunit-apidoc-data-api-animal-animal.html#getSomething()-detail">getSomething</a></strong> ( <span style="color: #0000BB">$test</span> )</td></tr>
<span class="signature-defs">public</span><span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span><strong><a href="yiiunit-apidoc-data-api-animal-animal.html#getSomething()-detail">getSomething</a></strong> ( <span style="color: #0000BB">$test</span> )</td></tr>

<tr>
<td class="param-name-col"><span style="color: #0000BB">$test</span></td>
Expand Down Expand Up @@ -368,7 +368,7 @@ <h2>Method Details</h2>

<table class="detail-table table table-striped table-bordered table-hover">
<tr><td colspan="3" class="signature">
<span class="signature-defs">public</span> <span class="signature-type"><a href="https://www.php.net/language.types.boolean">boolean</a></span> <strong><a href="yiiunit-apidoc-data-api-animal-animal.html#isOlder()-detail">isOlder</a></strong> ( <span style="color: #0000BB">$date</span> )</td></tr>
<span class="signature-defs">public</span><span class="signature-type"><a href="https://www.php.net/language.types.boolean">boolean</a></span><strong><a href="yiiunit-apidoc-data-api-animal-animal.html#isOlder()-detail">isOlder</a></strong> ( <span style="color: #0000BB">$date</span> )</td></tr>

<tr>
<td class="param-name-col"><span style="color: #0000BB">$date</span></td>
Expand All @@ -392,9 +392,9 @@ <h2>Method Details</h2>
<div class="collapse">
<div class="card card-body">
<pre>
<code class="hljs php language-php"><span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">isOlder</span><span class="hljs-params">($date)</span>
<code class="hljs php language-php"><span class="hljs-keyword">public</span><span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-title">isOlder</span><span class="hljs-params">($date)</span>
</span>{
<span class="hljs-keyword">return</span> <span class="hljs-keyword">$this</span>-&gt;getAge() &gt; $date;
<span class="hljs-keyword">return</span><span class="hljs-keyword">$this</span>-&gt;getAge() &gt; $date;
}
</code>
</pre>
Expand Down Expand Up @@ -422,7 +422,7 @@ <h2>Method Details</h2>

<table class="detail-table table table-striped table-bordered table-hover">
<tr><td colspan="3" class="signature">
<span class="signature-defs">public abstract</span> <span class="signature-type"><a href="https://www.php.net/language.types.string">string</a></span> <strong><a href="yiiunit-apidoc-data-api-animal-animal.html#render()-detail">render</a></strong> ( )</td></tr>
<span class="signature-defs">public abstract</span><span class="signature-type"><a href="https://www.php.net/language.types.string">string</a></span><strong><a href="yiiunit-apidoc-data-api-animal-animal.html#render()-detail">render</a></strong> ( )</td></tr>


<tr>
Expand All @@ -446,7 +446,7 @@ <h2>Method Details</h2>
<div class="collapse">
<div class="card card-body">
<pre>
<code class="hljs php language-php"><span class="hljs-keyword">abstract</span> <span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">render</span><span class="hljs-params">()</span></span>;
<code class="hljs php language-php"><span class="hljs-keyword">abstract</span><span class="hljs-keyword">public</span><span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-title">render</span><span class="hljs-params">()</span></span>;
</code>
</pre>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ <h2>Method Details</h2>

<table class="detail-table table table-striped table-bordered table-hover">
<tr><td colspan="3" class="signature">
<span class="signature-defs">public</span> <span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span> <strong><a href="yiiunit-apidoc-data-api-animal-animal.html#getAge()-detail">getAge</a></strong> ( )</td></tr>
<span class="signature-defs">public</span><span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span><strong><a href="yiiunit-apidoc-data-api-animal-animal.html#getAge()-detail">getAge</a></strong> ( )</td></tr>


<tr>
Expand All @@ -218,7 +218,7 @@ <h2>Method Details</h2>
<div class="collapse">
<div class="card card-body">
<pre>
<code class="hljs php language-php"><span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">getAge</span><span class="hljs-params">()</span>
<code class="hljs php language-php"><span class="hljs-keyword">public</span><span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-title">getAge</span><span class="hljs-params">()</span>
</span>{
<span class="hljs-keyword">return</span> time() - <span class="hljs-keyword">$this</span>-&gt;birthDate;
}
Expand Down Expand Up @@ -251,7 +251,7 @@ <h2>Method Details</h2>

<table class="detail-table table table-striped table-bordered table-hover">
<tr><td colspan="3" class="signature">
<span class="signature-defs">public</span> <span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span> <strong><a href="yiiunit-apidoc-data-api-animal-animal.html#getSomething()-detail">getSomething</a></strong> ( <span style="color: #0000BB">$test</span> )</td></tr>
<span class="signature-defs">public</span><span class="signature-type"><a href="https://www.php.net/language.types.integer">integer</a></span><strong><a href="yiiunit-apidoc-data-api-animal-animal.html#getSomething()-detail">getSomething</a></strong> ( <span style="color: #0000BB">$test</span> )</td></tr>

<tr>
<td class="param-name-col"><span style="color: #0000BB">$test</span></td>
Expand Down Expand Up @@ -296,7 +296,7 @@ <h2>Method Details</h2>

<table class="detail-table table table-striped table-bordered table-hover">
<tr><td colspan="3" class="signature">
<span class="signature-defs">public</span> <span class="signature-type"><a href="https://www.php.net/language.types.boolean">boolean</a></span> <strong><a href="yiiunit-apidoc-data-api-animal-animal.html#isOlder()-detail">isOlder</a></strong> ( <span style="color: #0000BB">$date</span> )</td></tr>
<span class="signature-defs">public</span><span class="signature-type"><a href="https://www.php.net/language.types.boolean">boolean</a></span><strong><a href="yiiunit-apidoc-data-api-animal-animal.html#isOlder()-detail">isOlder</a></strong> ( <span style="color: #0000BB">$date</span> )</td></tr>

<tr>
<td class="param-name-col"><span style="color: #0000BB">$date</span></td>
Expand All @@ -320,9 +320,9 @@ <h2>Method Details</h2>
<div class="collapse">
<div class="card card-body">
<pre>
<code class="hljs php language-php"><span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">isOlder</span><span class="hljs-params">($date)</span>
<code class="hljs php language-php"><span class="hljs-keyword">public</span><span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-title">isOlder</span><span class="hljs-params">($date)</span>
</span>{
<span class="hljs-keyword">return</span> <span class="hljs-keyword">$this</span>-&gt;getAge() &gt; $date;
<span class="hljs-keyword">return</span><span class="hljs-keyword">$this</span>-&gt;getAge() &gt; $date;
}
</code>
</pre>
Expand Down Expand Up @@ -350,7 +350,7 @@ <h2>Method Details</h2>

<table class="detail-table table table-striped table-bordered table-hover">
<tr><td colspan="3" class="signature">
<span class="signature-defs">public</span> <span class="signature-type"><a href="https://www.php.net/language.types.string">string</a></span> <strong><a href="yiiunit-apidoc-data-api-animal-cat.html#render()-detail">render</a></strong> ( )</td></tr>
<span class="signature-defs">public</span><span class="signature-type"><a href="https://www.php.net/language.types.string">string</a></span><strong><a href="yiiunit-apidoc-data-api-animal-cat.html#render()-detail">render</a></strong> ( )</td></tr>


<tr>
Expand All @@ -374,10 +374,10 @@ <h2>Method Details</h2>
<div class="collapse">
<div class="card card-body">
<pre>
<code class="hljs php language-php"><span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">render</span><span class="hljs-params">()</span>
<code class="hljs php language-php"><span class="hljs-keyword">public</span><span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-title">render</span><span class="hljs-params">()</span>
</span>{
<span class="hljs-comment">// this method has `inheritdoc` tag in brackets</span>
<span class="hljs-keyword">return</span> <span class="hljs-string">'This is a cat'</span>;
<span class="hljs-keyword">return</span><span class="hljs-string">'This is a cat'</span>;
}
</code>
</pre>
Expand Down
Loading
Loading