Skip to content

Conversation

@kenjis
Copy link
Member

@kenjis kenjis commented Oct 12, 2023

Description
See #8036 (comment)

  • fix a bug that $options are not saved in cache
  • refactor

Details
This bug is hidden. Because when restoring the cache, Config\App is instantiated and calls:

static::$moduleConfig = config(Modules::class);

The above code calls Factories::getOptions() and it calls setOptions() and sets self::$options['config'].
Therefore after the instantiation, Factories::$options['config'] is always set.

But this change removed config(). So after the instantiation, Factories::$options['config'] will be empty.
When $options['config'] is empty, getOptions() calls setOptions() and it calls reset():

self::reset($values['component']);

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@kenjis kenjis changed the title fix: Factories caching factories cache bug fix: Factories caching bug Oct 12, 2023
@kenjis kenjis added bug Verified issues on the current code behavior or pull requests that will fix them 4.4 labels Oct 12, 2023
@kenjis kenjis force-pushed the fix-Factories-cache-bug branch from f0393b5 to 4b5d112 Compare October 12, 2023 05:49
@kenjis kenjis force-pushed the fix-Factories-cache-bug branch from a6bb35e to 7664bb6 Compare October 13, 2023 00:59
@kenjis kenjis merged commit a9fa8f0 into codeigniter4:develop Oct 18, 2023
@kenjis kenjis deleted the fix-Factories-cache-bug branch October 18, 2023 01:15
@kenjis kenjis mentioned this pull request Oct 18, 2023
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Verified issues on the current code behavior or pull requests that will fix them

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants