-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Function to check if the kernel is loaded via the console or a web request. #51340
New issue
Have a question about 8000 this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I don't think that the kernel should be injected into anything unless you want to perform subrequests. While I understand your motivation, I disagree with the proposed implementation. |
I also thought this could be useful. I think the can be done with an envvar ( |
I tried to implement @nicolas-grekas idea. |
…`kernel.runtime_mode.*`, all set from env var `APP_RUNTIME_MODE` (nicolas-grekas) This PR was merged into the 6.4 branch. Discussion ---------- [HttpKernel] Add parameters `kernel.runtime_mode` and `kernel.runtime_mode.*`, all set from env var `APP_RUNTIME_MODE` | Q | A | ------------- | --- | Branch? | 6.4 | Bug fix? | no | New feature? | yes | Deprecations? | no | Tickets | Fix #51340 | License | MIT | Doc PR | TODO Alternative to #51408. I think this approach is simpler and more powerful. Here, we ensure that the kernel always provides a new `kernel.runtime_mode` parameter. This parameter is an array derived by default from the `APP_RUNTIME_MODE` env var, using the `query_string` processor. This also creates 3 new parameters that should be the most common: `kernel.runtime_mode.web`, `kernel.runtime_mode.cli`, and `kernel.runtime_mode.worker`. A long-running server would typically set `APP_RUNTIME_MODE` to `web=1&worker=1` or `web=0&worker=1` when appropriate (eg https://github.com/php-runtime/frankenphp-symfony/ should do so when `FRANKENPHP_WORKER` is set.) I screened the codebase and updated them all except cache pools (where the SAPI is used to enable/disable locking) and error renderers (where the SAPI is used to turn html-rendering on/off.) These require more work that could be done later on. There are a few other remaining usages of `PHP_SAPI` but these look not appropriate for the new flag. Commits ------- 7c70aec [HttpKernel] Add parameters `kernel.runtime_mode` and `kernel.runtime_mode.*`, all set from env var `APP_RUNTIME_MODE`
Description
I had the problem that I had to check in a service if the function is called via CLI or web.
Depending on that, I had to make different calculations. That's where my idea comes from, that you could put a function
isCLI()
orisWeb()
into the kernel.Example
The text was updated successfully, but these errors were encountered: