Author: Sergey Panteleev (saundefined)
Committer: GitHub (web-flow)
Pusher: saundefined
Date: 2025-11-19T19:58:42+03:00
Commit: PHP 8.5 release page updates (#1624) · php/web-php@26d39a1 · GitHub
Raw diff: https://github.com/php/web-php/commit/26d39a1fff9df2348139702be1015314647a5c59.diff
PHP 8.5 release page updates (#1624)
Changed paths:
M releases/8.5/common.php
M releases/8.5/release.inc
M styles/php85.css
Diff:
diff --git a/releases/8.5/common.php b/releases/8.5/common.php
index 0572de6319..2bad51cd69 100644
--- a/releases/8.5/common.php
+++ b/releases/8.5/common.php
@@ -25,8 +25,7 @@ function common_header(string $description): void {
\site_header("PHP 8.5 Release Announcement", [
'current' => 'php85',
- 'css' => ['prism.css', 'php85.css'],
- 'js_files' => ['js/ext/prism.js'],
+ 'css' => ['php85.css'],
'language_switcher' => $languages,
'theme_switcher' => true,
'meta_tags' => <<<META
diff --git a/releases/8.5/release.inc b/releases/8.5/release.inc
index 466d87609a..ee33e7769c 100644
--- a/releases/8.5/release.inc
+++ b/releases/8.5/release.inc
@@ -206,15 +206,21 @@ common_header(message('common_header', $lang));
<div>
<span><?= message('old_version', $lang) ?></span>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
$components = parse_url('PHP: PHP 8.4 Release Announcement’);
var_dump($components['host']);
// string(7) "php.net"
-</code>
- </pre>
+PHP
+ ); ?>
</div>
<div class="code-container">
@@ -224,17 +230,23 @@ var_dump($components['host']);
<span class="badge-green"><?= message('badge_new', $lang) ?></span>
<a target="_blank" href="PHP: rfc:url_parsing_api <span>↗</span></a>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
use Uri\Rfc3986\Uri;
$uri = new Uri('PHP: PHP 8.5 Release Announcement’);
var_dump($uri->getHost());
// string(7) "php.net"
-</code>
- </pre>
+PHP
+ ); ?>
</div>
</div>
</div>
@@ -254,9 +266,15 @@ var_dump($uri->getHost());
<div>
<span><?= message('old_version', $lang) ?></span>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
$title = ' PHP 8.5 Released ';
$slug = strtolower(
@@ -269,8 +287,8 @@ $slug = strtolower(
var_dump($slug);
// string(15) "php-85-released"
-</code>
- </pre>
+PHP
+ ); ?>
</div>
<div class="code-container">
@@ -280,9 +298,15 @@ var_dump($slug);
<span class="badge-green"><?= message('badge_new', $lang) ?></span>
<a target="_blank" href="PHP: rfc:pipe-operator-v3 <span>↗</span></a>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
$title = ' PHP 8.5 Released ';
$slug = $title
@@ -293,8 +317,8 @@ $slug = $title
var_dump($slug);
// string(15) "php-85-released"
-</code>
- </pre>
+PHP
+ ); ?>
</div>
</div>
</div>
@@ -314,9 +338,15 @@ var_dump($slug);
<div>
<span><?= message('old_version', $lang) ?></span>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
readonly class Color
{
public function __construct(
@@ -337,8 +367,8 @@ readonly class Color
$blue = new Color(79, 91, 147);
$transparentBlue = $blue->withAlpha(128);
-</code>
- </pre>
+PHP
+ ); ?>
</div>
<div class="code-container">
@@ -348,9 +378,15 @@ $transparentBlue = $blue->withAlpha(128);
<span class="badge-green"><?= message('badge_new', $lang) ?></span>
<a target="_blank" href="PHP: rfc:clone_with_v2 <span>↗</span></a>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
readonly class Color
{
public function __construct(
@@ -370,8 +406,8 @@ readonly class Color
$blue = new Color(79, 91, 147);
$transparentBlue = $blue->withAlpha(128);
-</code>
- </pre>
+PHP
+ ); ?>
</div>
</div>
</div>
@@ -391,17 +427,23 @@ $transparentBlue = $blue->withAlpha(128);
<div>
<span><?= message('old_version', $lang) ?></span>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
function getPhpVersion(): string
{
return 'PHP 8.4';
}
getPhpVersion(); // No warning
-</code>
- </pre>
+PHP
+ ); ?>
</div>
<div class="code-container">
@@ -412,9 +454,15 @@ getPhpVersion(); // No warning
<a target="_blank" href="PHP: rfc:marking_return_value_as_important
<span>↗</span></a>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
#[\NoDiscard]
function getPhpVersion(): string
{
@@ -424,8 +472,8 @@ function getPhpVersion(): string
getPhpVersion();
// Warning: The return value of function getPhpVersion() should
// either be used or intentionally ignored by casting it as (void)
-</code>
- </pre>
+PHP
+ ); ?>
</div>
</div>
</div>
@@ -445,9 +493,15 @@ getPhpVersion();
<div>
<span><?= message('old_version', $lang) ?></span>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
final class PostsController
{
#[AccessControl(
@@ -460,8 +514,8 @@ final class PostsController
// ...
}
}
-</code>
- </pre>
+PHP
+ ); ?>
</div>
<div class="code-container">
@@ -472,9 +526,15 @@ final class PostsController
<a target="_blank" href="PHP: rfc:closures_in_const_expr <span>↗</span></a>
<a target="_blank" href="PHP: rfc:fcc_in_const_expr <span>↗</span></a>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
final class PostsController
{
#[AccessControl(static function (
@@ -490,8 +550,8 @@ final class PostsController
// ...
}
}
-</code>
- </pre>
+PHP
+ ); ?>
</div>
</div>
</div>
@@ -511,9 +571,15 @@ final class PostsController
<div>
<span><?= message('old_version', $lang) ?></span>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS);
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT);
@@ -522,8 +588,8 @@ $ch = curl_init('https://php.net/');
curl_setopt($ch, CURLOPT_SHARE, $sh);
curl_exec($ch);
-</code>
- </pre>
+PHP
+ ); ?>
</div>
<div class="code-container">
@@ -535,9 +601,15 @@ curl_exec($ch);
<a target="_blank" href="PHP: rfc:curl_share_persistence_improvement
<span>↗</span></a>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
$sh = curl_share_init_persistent([
CURL_LOCK_DATA_DNS,
CURL_LOCK_DATA_CONNECT,
@@ -548,8 +620,8 @@ curl_setopt($ch1, CURLOPT_SHARE, $sh);
// This may now reuse the connection from an earlier SAPI request
curl_exec($ch);
-</code>
- </pre>
+PHP
+ ); ?>
</div>
</div>
</div>
@@ -569,14 +641,20 @@ curl_exec($ch);
<div>
<span><?= message('old_version', $lang) ?></span>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
$lastEvent = $events ===
? null
: $events[array_key_last($events)];
-</code>
- </pre>
+PHP
+ ); ?>
</div>
<div class="code-container">
@@ -586,12 +664,18 @@ $lastEvent = $events ===
<span class="badge-green"><?= message('badge_new', $lang) ?></span>
<a target="_blank" href="PHP: rfc:array_first_last <span>↗</span></a>
</div>
+ <button class="js-copy-code">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
+ <path d="M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ <path d="M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
+ </svg>
+ </button>
</div>
- <pre class="language-php">
-<code class="language-php">
+ <?php highlight_php_trimmed(
+ <<<'PHP'
$lastEvent = array_last($events);
-</code>
- </pre>
+PHP
+ ); ?>
</div>
</div>
</div>
@@ -793,7 +877,27 @@ $lastEvent = array_last($events);
</svg>
<script>
- Prism.highlightAll()
+ document.addEventListener('DOMContentLoaded', () => {
+ document.addEventListener('click', async (e) => {
+ const btn = e.target.closest('.js-copy-code');
+ if (!btn?.closest('.code-container')) return;
+
+ const code = btn.closest('.code-container').querySelector('code').textContent;
+ if (!navigator.clipboard) return console.error('Clipboard API not available');
+
+ try {
+ await navigator.clipboard.writeText(code);
+ const originalHTML = btn.innerHTML;
+ btn.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M5 14L8.5 17.5L19 6.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>';
+ btn.disabled = true;
+ await new Promise(r => setTimeout(r, 2000));
+ btn.innerHTML = originalHTML;
+ btn.disabled = false;
+ } catch (err) {
+ console.error('Copy failed:', err);
+ }
+ });
+ })
</script>
<?php
diff --git a/styles/php85.css b/styles/php85.css
index 07cecd7fcd..d8523e91aa 100644
--- a/styles/php85.css
+++ b/styles/php85.css
@@ -85,12 +85,17 @@ code[class*=language-], pre[class*=language-] {
margin-left: -30px;
height: 30px;
width: 30px;
- background: url("/images/php8/anchor-white.svg") scroll no-repeat left center / 21px 16px transparent;
+ background: url("/images/php8/anchor.svg") scroll no-repeat left center / 21px 16px transparent;
text-decoration: none;
border-bottom: none;
font-size: 0;
}
+.dark .features-title h2 .genanchor,
+.dark .before-and-after-title-and-description h2 .genanchor {
+ background: url("/images/php8/anchor-white.svg") scroll no-repeat left center / 21px 16px transparent;
+}
+
.features-title h2:hover .genanchor,
.before-and-after-title-and-description h2:hover .genanchor {
display: block;
@@ -1127,7 +1132,7 @@ header nav {
.hero-badge {
margin-bottom: calc(var(--spacing) * 6);
background-color: #ffffffa6;
- border-radius: 3.40282e38px;
+ border-radius: calc(infinity * 1px);
align-items: center;
display: inline-flex
}
@@ -3540,99 +3545,54 @@ footer p:where(.dark,.dark *) {
color: var(--color-gray-400)
}
-.html {
- color: #abb2bf
-}
-
-.constant, .property {
- color: #0550ae
-}
-
-.comment {
- color: #6e7781;
- font-style: italic
-}
-
-.string {
- color: #0a3069
-}
-
-.keyword {
- color: #cf222e
-}
-
-.literal {
- color: #0550ae
-}
-
-.type {
- color: #953800
-}
-
-.variable, .number {
- color: #0550ae
+.php85 .phpcode {
+ padding: 1em;
}
-.function {
- color: #8250df
+.dark .php85 .phpcode::selection {
+ background-color: #333;
}
-.operator {
- color: #cf222e
+.php85 .phpcode span.comment {
+ color: #708090;
+ background-color: transparent;
+ font-style: italic;
}
-.punctuation {
- color: #24292f
+.php85 .phpcode span.default {
+ color: rgb(213, 51, 84);
+ background-color: transparent;
}
-.class {
- color: #953800
+.php85 .phpcode span.keyword {
+ color: #07a;
+ background-color: transparent;
}
-.dark .constant, .dark .property {
- color: #79c0ff
+.php85 .phpcode span.string {
+ color: rgb(80, 119, 0);
+ background-color: transparent;
}
-.dark .comment {
+.dark .php85 .phpcode span.comment {
color: #8b949e;
- font-style: italic
-}
-
-.dark .default,
-.dark .string {
- color: #a5d6ff
-}
-
-.dark .keyword {
- color: #ff7b72
-}
-
-.dark .literal {
- color: #79c0ff
-}
-
-.dark .type {
- color: #ffa657
-}
-
-.dark .variable, .dark .number {
- color: #79c0ff
-}
-
-.dark .function {
- color: #d2a8ff
+ background-color: transparent;
+ font-style: italic;
}
-.dark .operator {
- color: #ff7b72
+.dark .php85 .phpcode span.default {
+ color: #d2a8ff;
+ background-color: transparent;
}
-.dark .punctuation {
- color: #c9d1d9
+.dark .php85 .phpcode span.keyword {
+ color: #ff7b72;
+ background-color: transparent;
}
-.dark .class {
- color: #ffa657
+.dark .php85 .phpcode span.string {
+ color: #a5d6ff;
+ background-color: transparent;
}
.php85 #layout-content a.button-primary {
@@ -3646,7 +3606,7 @@ footer p:where(.dark,.dark *) {
font-weight: var(--font-weight-semibold);
color: var(--color-white);
background-color: #6b58ff;
- border-radius: 3.40282e38px;
+ border-radius: calc(infinity * 1px);
justify-content: center;
align-items: center;
text-decoration-line: none;
@@ -3694,7 +3654,7 @@ footer p:where(.dark,.dark *) {
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
--tw-ring-color: color-mix(in oklab, var(--color-gray-200) 50%, transparent);
- border-radius: 3.40282e38px;
+ border-radius: calc(infinity * 1px);
justify-content: center;
align-items: center;
text-decoration-line: none;