Skip to content

PHP 8.5 Release Page Design/Content Submission #1535

@theodorejb

Description

@theodorejb

Names and Contact Details

Theodore Brown, theodorejb@outlook.com

Link to mockup/prototype

https://github.com/theodorejb/web-php/tree/php-85

Rationale (300-600 words)

This builds on top of #1530.

I always liked the PHP 8+ release announcement pages, and in my opinion they aren't in need of a radical design rethink. They could instead benefit from more gradual enhancements and reducing technical debt.

For this submission, I focused on small refinements to the current design, with much more time spent improving the PHP 8.5 content and moving to a reusable function for generating the feature comparisons across all the release pages (rather than copy and pasting the code for them over and over on every page as has been done until now). This makes the pages significantly easier to maintain, and will facilitate future design improvements without piling up technical debt.

PHP 8.5 Content improvements:

  • Updated most of the code examples, descriptions, and headings to be simpler and clearer.
  • Reordered the features by what's likely to be considered most impactful.
  • Filled out the Deprecations and backward compatibility breaks section.
  • Refined the list of additional features and improvements.

All of these changes are in this commit, which could be merged on its own: theodorejb@aaf6453

Design improvements for all the release pages:

  • Added support for PHP 8.3+
  • Refreshed code blocks to better differentiate before and after examples.
  • Implemented syntax highlighting for variables and nicer colors to make the code more readable.
  • Updated headings and subheadings to use system font.
  • Tweaked upgrade button design.

There are no new frameworks, dependencies, build tools, or additional design systems to maintain.

Ready-to-merge implementation: theodorejb#2

Rather than adding more code to maintain, or an inconsistent design which would require enormous time and effort to integrate, this implementation actually removes thousands of lines of code, and will make future cohesive design improvements much easier.

Desktop screenshot:

Image

Mobile example:

Image

Before/after screenshots of the "Closures and First-Class Callables in Constant Expressions" example:

Image Image

Filled out content for additional features, deprecations, and BC breaks:

Image

License

  • I confirm, and agree.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions