Skip to the content
Documentation

Recent changes

Recent ratings Recently added Recent comments Atom feed

9596 changed pages

Wednesday November 04 2026

  1. Database code for PHP 8 and every engine Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Bring an old extension's database code up to Exponential 6 - from mysql_* calls and MySQL-only SQL to eZDB, eZPersistentObject and .dba schema files that work on SQLite, PostgreSQL, MariaDB, MySQL, Oracle and MongoDB.

  2. Dynamic properties Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    PHP 8.2 deprecates properties a class does not declare. How the kernel handles them for persistent objects, how to find them in your own classes, and when to declare, use an array, or allow them.

  3. Inline CSS to stylesheets Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Move an old extension's style blocks and style attributes into stylesheet files loaded through design.ini, so the packer bundles them and a Content Security Policy with style-src self does not drop them.

  4. Taking inventory of an old extension Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Find out what an old extension contains and what will need work before you change a line: files, settings, PHP entry points, JavaScript, inline code, database tables, with the commands to list each.

  5. Modernizing composer.json Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Give an old extension a composer.json that installs it into Exponential 6, or bring an old one up to date - PHP constraint, installer, license, authors and support - with the change expchangeclass made for PHP 8.0.

  6. Modernizing ezinfo.php and extension.xml Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Bring an old extension's ezinfo.php and extension.xml up to date - quoted keys, a readable name, the release version, the license, the website and credit for included software - and check what the about page shows.

  7. Naming and branding during an upgrade Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    What to rename when you upgrade an old extension and what never to touch: product names in texts, new code with exp, kernel identifiers, folder names, settings - and how to keep credit for the original authors.

  8. Nullable parameters and type declarations Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Fix the most common PHP 8.4 deprecation, implicitly nullable parameters, and add type declarations to old code safely, with examples from expsite_api, expquery_translator and ezfind.

  9. Old-style constructors and static calls Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    PHP 8 no longer runs a method named after its class as the constructor, and stops on instance methods called statically. How to find both in an old extension and fix them without breaking code that calls the old names.

  10. From old jQuery to jQuery 4 Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Load the jQuery 4 that ezjscore provides instead of a bundled old copy, and replace the jQuery calls that versions 3 and 4 removed, with the list the layouts editor went through and jQuery Migrate as a safety net.

  11. PHP 8.1 to 8.5 deprecations Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    The deprecations each PHP release from 8.1 to 8.5 added that old extension code meets, how they show in the debug output, and the fix for each that still runs on PHP 8.0.

  12. PHP 8 errors that stop old code Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    The PHP 8 changes that turn old extension code into fatal errors - bare-word constants, static calls, wrong argument types, count() on null, incompatible signatures - with how to find and fix each one.

  13. Removed PHP functions and their replacements Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    The PHP functions old extensions call that PHP 7 and 8 removed - each(), create_function(), ereg(), split(), mysql_*(), magic quotes and others - with a tested replacement for each.

  14. Tests and CI for an upgraded extension Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Keep an upgraded extension upgraded: a lint on every supported PHP, small tests without a database that forbid inline code, and a GitHub Actions workflow, with the xrowextract workflow as a model.

  15. The upgrade checklist Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    The whole job of bringing an old extension to Exponential 6 on one page: preparation, PHP, metadata, browser, administration, tests and release, each step with the chapter that explains it.

  16. Why most of the changes are small Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Why an extension written years ago usually needs only small changes for Exponential 6: the extension system, class names and settings stayed, and the changes come from PHP and the browser.

  17. From YUI to expui Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    YUI 2 and 3 are gone from Exponential 6.0.15. Find an old extension's YUI code and move it to jQuery and Exponential UI (expui): server calls, dialogs, tables, date pickers and events.

  18. Part 5: Extending, forking ethically and contributing back Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Part 5 of the book: build on other people's extensions fairly - extend without forking, fork when you must, keep credit and licenses right, and give your work back with pull requests, issues and reviews.

  19. Adopting an abandoned extension Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    How to tell whether an extension is really abandoned, how to ask its author for maintenance or a hand-over, and how to take it on fairly when nobody answers - with the steps and the notices to keep.

  20. Attribution and copyright notices Updated Markdown page

    Markdown documentation (help center) · Extension development · Changed 01:08 pm

    Where credit goes in an extension - file headers, license files, ezinfo.php Includes, composer.json authors, README credits, Git history - and how to add your name without removing anyone else's.