Skip to content

Commit cf6c5aa

Browse files
author
github-actions
committed
Deployed 5221789 with MkDocs
1 parent 26c072a commit cf6c5aa

File tree

13 files changed

+139
-87
lines changed

13 files changed

+139
-87
lines changed

7.2/assets/images/application-datacollector.graphviz.svg

Lines changed: 1 addition & 1 deletion
Loading

7.2/assets/images/application-datacollector.html.gv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ digraph {
268268
<tr><td bgcolor="#eeeeee"><b><br/>NodeNormalizer</b></td></tr>
269269
<tr><td></td></tr>
270270
<tr><td><table border="0" cellspacing="0" cellpadding="2">
271-
<tr><td align="left">+ normalize(object, format = «unknown», context : array = [])</td></tr>
271+
<tr><td align="left">+ normalize(object, format = «unknown», context : array = []) : ?array</td></tr>
272272
<tr><td align="left">+ supportsNormalization(data : mixed, format : string = «unknown») : bool</td></tr>
273273
<tr><td align="left">+ getSupportedTypes(format : string) : array</td></tr>
274274
</table></td></tr>

7.2/components/extensions/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -633,7 +633,7 @@ <h1 id="hooks">Hooks</h1>
633633
<p><code>AfterProcessSniffInterface</code> - called after leaving a sniff.</p>
634634
</li>
635635
</ul>
636-
<p>Furthermore extensions may implement the <code>Symfony\Component\EventDispatcher\EventSubscriberInterface</code>.</p>
636+
<p>Furthermore, extensions may implement the <code>Symfony\Component\EventDispatcher\EventSubscriberInterface</code>.</p>
637637
<p>See built-in extensions <code>Application\Extension\Logger</code> and <code>Application\Extension\ProgressBar</code> as examples.</p>
638638

639639

7.2/components/polyfills/index.html

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,24 @@
666666
</span>
667667
</a>
668668

669+
</li>
670+
671+
<li class="md-nav__item">
672+
<a href="#php-83" class="md-nav__link">
673+
<span class="md-ellipsis">
674+
PHP 8.3
675+
</span>
676+
</a>
677+
678+
</li>
679+
680+
<li class="md-nav__item">
681+
<a href="#php-84" class="md-nav__link">
682+
<span class="md-ellipsis">
683+
PHP 8.4
684+
</span>
685+
</a>
686+
669687
</li>
670688

671689
</ul>
@@ -866,6 +884,38 @@ <h2 id="php-82"><a href="https://github.com/symfony/polyfill-php82">PHP 8.2</a><
866884
</tbody>
867885
</table>
868886
<p>Available since release 6.5.0</p>
887+
<h2 id="php-83"><a href="https://github.com/symfony/polyfill-php83">PHP 8.3</a></h2>
888+
<table>
889+
<thead>
890+
<tr>
891+
<th>Polyfill class name</th>
892+
<th>Description</th>
893+
</tr>
894+
</thead>
895+
<tbody>
896+
<tr>
897+
<td><code>SymfonyPhp83</code></td>
898+
<td>This polyfill detects features unavailable in releases prior to PHP 8.3</td>
899+
</tr>
900+
</tbody>
901+
</table>
902+
<p>Available since release 7.2.0</p>
903+
<h2 id="php-84"><a href="https://github.com/symfony/polyfill-php84">PHP 8.4</a></h2>
904+
<table>
905+
<thead>
906+
<tr>
907+
<th>Polyfill class name</th>
908+
<th>Description</th>
909+
</tr>
910+
</thead>
911+
<tbody>
912+
<tr>
913+
<td><code>SymfonyPhp84</code></td>
914+
<td>This polyfill detects features unavailable in releases prior to PHP 8.4</td>
915+
</tr>
916+
</tbody>
917+
</table>
918+
<p>Available since release 7.2.0</p>
869919

870920

871921

7.2/conditional-code/limitation/index.html

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -579,34 +579,36 @@
579579

580580
<!-- markdownlint-disable MD013 -->
581581
<h1 id="limitation">Limitation</h1>
582-
<div class="highlight"><pre><span></span><code><span class="x">// @link https://github.com/nikic/PHP-Parser/blob/v4.10.0/lib/PhpParser/Lexer.php#L413-L433</span>
583-
584-
<span class="x">$compatTokens = [</span>
585-
<span class="x"> // PHP 7.4</span>
586-
<span class="x"> &#39;T_BAD_CHARACTER&#39;,</span>
587-
<span class="x"> &#39;T_FN&#39;,</span>
588-
<span class="x"> &#39;T_COALESCE_EQUAL&#39;,</span>
589-
<span class="x"> // PHP 8.0</span>
590-
<span class="x"> &#39;T_NAME_QUALIFIED&#39;,</span>
591-
<span class="x"> &#39;T_NAME_FULLY_QUALIFIED&#39;,</span>
592-
<span class="x"> &#39;T_NAME_RELATIVE&#39;,</span>
593-
<span class="x"> &#39;T_MATCH&#39;,</span>
594-
<span class="x"> &#39;T_NULLSAFE_OBJECT_OPERATOR&#39;,</span>
595-
<span class="x"> &#39;T_ATTRIBUTE&#39;,</span>
596-
<span class="x">];</span>
597-
598-
<span class="x">foreach ($compatTokens as $token) {</span>
599-
<span class="x"> if (\defined($token)) {</span>
600-
<span class="x"> $tokenId = \constant($token);</span>
601-
<span class="x"> }</span>
602-
<span class="x">}</span>
582+
<div class="highlight"><pre><span></span><code><span class="cp">&lt;?php</span>
583+
<span class="c1">// @link https://github.com/nikic/PHP-Parser/blob/v4.10.0/lib/PhpParser/Lexer.php#L413-L433</span>
584+
585+
<span class="nv">$compatTokens</span> <span class="o">=</span> <span class="p">[</span>
586+
<span class="c1">// PHP 7.4</span>
587+
<span class="s1">&#39;T_BAD_CHARACTER&#39;</span><span class="p">,</span>
588+
<span class="s1">&#39;T_FN&#39;</span><span class="p">,</span>
589+
<span class="s1">&#39;T_COALESCE_EQUAL&#39;</span><span class="p">,</span>
590+
<span class="c1">// PHP 8.0</span>
591+
<span class="s1">&#39;T_NAME_QUALIFIED&#39;</span><span class="p">,</span>
592+
<span class="s1">&#39;T_NAME_FULLY_QUALIFIED&#39;</span><span class="p">,</span>
593+
<span class="s1">&#39;T_NAME_RELATIVE&#39;</span><span class="p">,</span>
594+
<span class="s1">&#39;T_MATCH&#39;</span><span class="p">,</span>
595+
<span class="s1">&#39;T_NULLSAFE_OBJECT_OPERATOR&#39;</span><span class="p">,</span>
596+
<span class="s1">&#39;T_ATTRIBUTE&#39;</span><span class="p">,</span>
597+
<span class="p">];</span>
598+
599+
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$compatTokens</span> <span class="k">as</span> <span class="nv">$token</span><span class="p">)</span> <span class="p">{</span>
600+
<span class="k">if</span> <span class="p">(</span><span class="nx">\defined</span><span class="p">(</span><span class="nv">$token</span><span class="p">))</span> <span class="p">{</span>
601+
<span class="nv">$tokenId</span> <span class="o">=</span> <span class="nx">\constant</span><span class="p">(</span><span class="nv">$token</span><span class="p">);</span>
602+
<span class="p">}</span>
603+
<span class="p">}</span>
603604
</code></pre></div>
604605
<p>Here we cannot detect that constants listed in <code>$compatTokens</code> array are perhaps condition code.</p>
605606
<p>Later, in another script or even the same one, if we used these constants we will detect them as PHP 7.4 or PHP 8.0 versions,
606607
but it's not the reality.</p>
607608
<p>Example with</p>
608-
<div class="highlight"><pre><span></span><code><span class="x">// @link https://github.com/nikic/PHP-Parser/blob/v4.10.0/lib/PhpParser/Lexer.php#L110</span>
609-
<span class="x">$tokens[] = [\T_BAD_CHARACTER, $chr, $line];</span>
609+
<div class="highlight"><pre><span></span><code><span class="cp">&lt;?php</span>
610+
<span class="c1">// @link https://github.com/nikic/PHP-Parser/blob/v4.10.0/lib/PhpParser/Lexer.php#L110</span>
611+
<span class="nv">$tokens</span><span class="p">[]</span> <span class="o">=</span> <span class="p">[</span><span class="nx">\T_BAD_CHARACTER</span><span class="p">,</span> <span class="nv">$chr</span><span class="p">,</span> <span class="nv">$line</span><span class="p">];</span>
610612
</code></pre></div>
611613
<p>Console output tell us</p>
612614
<div class="highlight"><pre><span></span><code>Constants Analysis

7.2/conditional-code/multiple-signature/index.html

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -580,13 +580,15 @@
580580
<!-- markdownlint-disable MD013 -->
581581
<h1 id="multiple-signatures">Multiple signatures</h1>
582582
<p>Face to this source code, CompatInfo is unable to know what <code>idn_to_ascii</code> signature is the minimum.</p>
583-
<div class="highlight"><pre><span></span><code><span class="x">if (function_exists(&#39;idn_to_ascii&#39;)) {</span>
584-
<span class="x"> if (defined(&#39;INTL_IDNA_VARIANT_UTS46&#39;)) {</span>
585-
<span class="x"> $domain = idn_to_ascii($domain, 0, INTL_IDNA_VARIANT_UTS46);</span>
586-
<span class="x"> } else {</span>
587-
<span class="x"> $domain = idn_to_ascii($domain);</span>
588-
<span class="x"> }</span>
589-
<span class="x">}</span>
583+
<div class="highlight"><pre><span></span><code><span class="cp">&lt;?php</span>
584+
585+
<span class="k">if</span> <span class="p">(</span><span class="nb">function_exists</span><span class="p">(</span><span class="s1">&#39;idn_to_ascii&#39;</span><span class="p">))</span> <span class="p">{</span>
586+
<span class="k">if</span> <span class="p">(</span><span class="nb">defined</span><span class="p">(</span><span class="s1">&#39;INTL_IDNA_VARIANT_UTS46&#39;</span><span class="p">))</span> <span class="p">{</span>
587+
<span class="nv">$domain</span> <span class="o">=</span> <span class="nb">idn_to_ascii</span><span class="p">(</span><span class="nv">$domain</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nx">INTL_IDNA_VARIANT_UTS46</span><span class="p">);</span>
588+
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
589+
<span class="nv">$domain</span> <span class="o">=</span> <span class="nb">idn_to_ascii</span><span class="p">(</span><span class="nv">$domain</span><span class="p">);</span>
590+
<span class="p">}</span>
591+
<span class="p">}</span>
590592
</code></pre></div>
591593
<p>We know (<a href="https://www.php.net/manual/en/function.idn-to-ascii.php#refsect1-function.idn-to-ascii-changelog">idn_to_ascii changelog</a>)
592594
that by using <code>$variant</code> parameter, the minimum PHP version required is <strong>7.4.0</strong>, otherwise it's only <strong>5.2.4</strong></p>

7.2/exclusions/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,7 @@ <h2 id="with-console-cli">With Console (CLI)</h2>
677677
<div class="highlight"><pre><span></span><code>bin/phpcompatinfo<span class="w"> </span>analyser:run<span class="w"> </span>.<span class="w"> </span>--exclude<span class="w"> </span>vendor<span class="w"> </span>--exclude<span class="w"> </span>tests
678678
</code></pre></div>
679679
<h2 id="with-php-script-api">With php script (API)</h2>
680-
<div class="highlight"><pre><span></span><code><span class="x">require_once &#39;config/bootstrap.php&#39;;</span>
680+
<div class="highlight"><pre><span></span><code><span class="x">require_once &#39;autoload.php&#39;;</span>
681681

682682
<span class="x">use Bartlett\CompatInfo\Application\Profiler\Profile;</span>
683683
<span class="x">use Bartlett\CompatInfo\Application\Query\Analyser\Compatibility\GetCompatibilityQuery;</span>

7.2/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -761,11 +761,11 @@
761761
<h1 id="about">About</h1>
762762
<p><strong>PHP CompatInfo</strong> is a library that
763763
can find the minimum version and the extensions required for a piece of code to run.</p>
764-
<p>Running on PHP greater or equal than 8.0 for parsing source code in a format PHP 5.2 to PHP 8.3</p>
764+
<p>Running on PHP greater or equal than 8.0 for parsing source code in a format PHP 5.2 to PHP 8.4</p>
765765
<p><img alt="Graph Composer" src="assets/images/graph-composer.svg" /></p>
766766
<h2 id="features">Features</h2>
767767
<ul>
768-
<li>Parse source code in format PHP 5.2 to PHP 8.3</li>
768+
<li>Parse source code in format PHP 5.2 to PHP 8.4</li>
769769
<li>Detect PHP features for each Major/minor versions</li>
770770
<li>Detect versions of all directives, constants, functions, classes, interfaces of 100 extensions and more</li>
771771
<li>Display/Inspect list of extensions, and their versions supported</li>

7.2/installation/index.html

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -772,12 +772,12 @@ <h1 id="installation">Installation</h1>
772772
</ol>
773773
<h2 id="requirements">Requirements</h2>
774774
<ul>
775-
<li>PHP 8.0 or greater</li>
775+
<li>PHP 8.1 or greater</li>
776776
<li>ext-json</li>
777777
<li>ext-pcre (required by: bartlett/php-compatinfo-db)</li>
778778
<li>ext-pdo (required by: bartlett/php-compatinfo-db)</li>
779779
<li>ext-spl</li>
780-
<li>PHPUnit 9 or greater (if you want to run unit tests)</li>
780+
<li>PHPUnit 10.5 or greater (if you want to run unit tests)</li>
781781
</ul>
782782
<h2 id="phar">PHAR</h2>
783783
<p>The preferred method of installation is to use the CompatInfo PHAR version which can be downloaded from the most recent
@@ -798,15 +798,15 @@ <h2 id="phive">Phive</h2>
798798
<p>You can also install application locally to your project with <a href="https://github.com/phar-io/phive">Phive</a> and configuration file <code>.phive/phars.xml</code></p>
799799
<div class="highlight"><pre><span></span><code><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
800800
<span class="nt">&lt;phive</span><span class="w"> </span><span class="na">xmlns=</span><span class="s">&quot;https://phar.io/phive&quot;</span><span class="nt">&gt;</span>
801-
<span class="w"> </span><span class="nt">&lt;phar</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;llaville/php-compatinfo&quot;</span><span class="w"> </span><span class="na">version=</span><span class="s">&quot;^7.1&quot;</span><span class="w"> </span><span class="na">copy=</span><span class="s">&quot;false&quot;</span><span class="w"> </span><span class="nt">/&gt;</span>
801+
<span class="w"> </span><span class="nt">&lt;phar</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;llaville/php-compatinfo&quot;</span><span class="w"> </span><span class="na">version=</span><span class="s">&quot;^7.2&quot;</span><span class="w"> </span><span class="na">copy=</span><span class="s">&quot;false&quot;</span><span class="w"> </span><span class="nt">/&gt;</span>
802802
<span class="nt">&lt;/phive&gt;</span>
803803
</code></pre></div>
804804
<div class="highlight"><pre><span></span><code>phive<span class="w"> </span>install<span class="w"> </span>--force-accept-unsigned
805805
</code></pre></div>
806806
<h2 id="composer">Composer</h2>
807807
<p>The recommended way to install this library is <a href="https://getcomposer.org">through composer</a>.
808808
If you don't know yet what is composer, have a look <a href="http://getcomposer.org/doc/00-intro.md">on introduction</a>.</p>
809-
<div class="highlight"><pre><span></span><code>composer<span class="w"> </span>require<span class="w"> </span>bartlett/php-compatinfo<span class="w"> </span>^7.1
809+
<div class="highlight"><pre><span></span><code>composer<span class="w"> </span>require<span class="w"> </span>bartlett/php-compatinfo<span class="w"> </span>^7.2
810810
</code></pre></div>
811811
<p>If you cannot install it because of a dependency conflict, or you prefer to install it for your project, we recommend
812812
you to take a look at <a href="https://github.com/bamarni/composer-bin-plugin">bamarni/composer-bin-plugin</a>. Example:</p>
@@ -817,7 +817,7 @@ <h2 id="composer">Composer</h2>
817817
</code></pre></div>
818818
<h2 id="git">Git</h2>
819819
<p>The PHP CompatInfo can be directly used from <a href="https://github.com/llaville/php-compatinfo.git">GitHub</a> by cloning the repository into a directory of your choice.</p>
820-
<div class="highlight"><pre><span></span><code>git<span class="w"> </span>clone<span class="w"> </span>-b<span class="w"> </span><span class="m">7</span>.1<span class="w"> </span>https://github.com/llaville/php-compatinfo.git
820+
<div class="highlight"><pre><span></span><code>git<span class="w"> </span>clone<span class="w"> </span>-b<span class="w"> </span><span class="m">7</span>.2<span class="w"> </span>https://github.com/llaville/php-compatinfo.git
821821
</code></pre></div>
822822
<h2 id="configuring-the-database">Configuring the Database</h2>
823823
<p>The database connection information is stored as an environment variable called <code>DATABASE_URL</code>.</p>
@@ -833,10 +833,9 @@ <h2 id="configuring-the-database">Configuring the Database</h2>
833833
<span class="c1"># to use postgresql:</span>
834834
<span class="nv">DATABASE_URL</span><span class="o">=</span><span class="s2">&quot;postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=11&amp;charset=utf8&quot;</span>
835835
</code></pre></div>
836-
<p>After installation, or if you change database connection, you have to run following command(s):</p>
836+
<p>After installation, or if you change database connection, you have to run following command:</p>
837837
<ul>
838-
<li><code>bin/phpcompatinfo db:create</code></li>
839-
<li><code>bin/phpcompatinfo db:init</code></li>
838+
<li><code>bin/phpcompatinfo db:new</code></li>
840839
</ul>
841840
<p>At first run of CompatInfo, <code>DATABASE_URL</code> will be set to use default SQLite connection</p>
842841

7.2/search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)