Open boesing opened 2 years ago
@boesing we must consider opcache in this context.
Also, when designing the new API for the caching for fastroute v2 I've thought about exposing a method for cache invalidation but didn't get to implement it yet.
Maybe this is the kind of thing that we should solve on the upstream package?
I'm not sure I understand the need for this. You can set the location of the config file:
'router' => [
'fastroute' => [
// Enable caching support:
'cache_enabled' => true,
// Optional (but recommended) cache file path:
'cache_file' => 'data/cache/fastroute.php.cache',
],
],
Once you stored it in the configuration you can retrieve it and delete it inside a cli command. The default location is also known as it is hardcoded. So basically in your cli command you can check if one of the files exist and remove it.
@geerteltink Yes, I could pass it via config and read it from config. Thats exactly what I am doing as of now. But since the cache_file
is not a required option, it can also be missing from the config and thus, the default property value from the FastRouteRouter
would be used.
There is no way of getting that value.
@lcobucci TBH; I have a very strange use-case for removing the cache file and thus, I don't think that its worth to have something implemented from this library. I would be fine with deleting it by myself but if you want to add that feature, I would probably use it.
Feature Request
Summary
I am writing a command with
laminas-cli
in our project to remove cache files. There is actually no way of receiving the default cache location of theFastRouteRouter
. The only thing I can do as of now is to pass the config file path by myself but it would be quite helpful if this would be provided by this component.Another idea could be a
mezzio/mezzio
command to flush the configuration cache. Sadly, the config cache path is not passed to the config itself by default and thus, its not that easy. However, together with the command-chain feature oflaminas-cli
, a generic command to flush all application caches could be provided as well, but this is not feasible as of now.