Page MenuHomeDevCentral

Migrate to more modern and modular PHP 7.2 code
Changes PlannedPublic

Authored by dereckson on Oct 14 2018, 03:17.
Tags
None
Referenced Files
F3764642: D1920.diff
Fri, Nov 22, 07:12
Unknown Object (File)
Tue, Nov 19, 06:38
Unknown Object (File)
Tue, Nov 19, 06:38
Unknown Object (File)
Tue, Nov 19, 06:38
Unknown Object (File)
Tue, Nov 19, 06:38
Unknown Object (File)
Mon, Nov 18, 20:25
Unknown Object (File)
Sat, Nov 16, 02:22
Unknown Object (File)
Sat, Nov 16, 01:39
Subscribers
None

Details

Reviewers
dereckson
Summary

Transfer the utility methods responsibility to Keruald OmniTools.

Use PSR-4 namespace Keruald\Core for main features.
The configuration, error global functions and not yet migrated
functions are kept.

Offer a transparent migration path to convert user passwords from legacy MD5
to a modern hash (by default, under PHP 7.2, the default is Argon2i) when
they log in successfully.

Use type hints for signature methods.

Test Plan

Build a small site with a login form and some MD5 password to migrate.

Dump session.

Diff Detail

Repository
rK Keruald legacy core libraries
Lint
No Lint Coverage
Unit
No Test Coverage
Branch
migration (branched from master)
Build Status
Buildable 2984
Build 3232: arc lint + arc unit

Event Timeline

dereckson created this revision.

Use mysqli classes from root namespace

dereckson added inline comments.
src/Database/Database.php
68

Class MUST be fully qualified with namespace.

Not sure the best strategy for this change.

I've archived the repository on GitHub, to create a more flexible system based on:

  • keruald/omnitools for helpers functions (rKOT)
  • keruald/database (rDB)
  • keruald/application to create a web application, repository to create

The MD5 to salted hash migration path is pretty important here and should be extracted and promoted to legacy web applications still using that hash.

Obsidian Workspaces has a better approach for the session code I think (rOBSIDIAN).