我想知道为什么Container::getInstance()可以返回应用程序类。
例如:
\n\n我想做一个哈希str,我想知道它们是如何工作的\xef\xbc\x9a
\n\napp('hash')->make('password');\nRun Code Online (Sandbox Code Playgroud)\n\n我在 laravel \xef\xbc\x9a 中找到了源代码
\n\n供应商/laravel/framework/src/Illuminate/Foundation/helpers.php
\n\nif (! function_exists('app')) {\n /**\n * Get the available container instance.\n *\n * @param string $make\n * @param array $parameters\n * @return mixed|\\Illuminate\\Foundation\\Application\n */\n function app($make = null, $parameters = [])\n {\n if (is_null($make)) {\n return Container::getInstance();\n }\n\n return Container::getInstance()->make($make, $parameters);\n\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我不知道Container::getInstance()会返回什么,那么我dd\xef\xbc\x88Container::getInstance()\xef\xbc\x89知道它会返回一个应用程序类,但我不知道它们是如何工作的。
当我在laravel项目中运行命令时:
php artisan optimize
[Symfony\Component\Debug\Exception\FatalErrorException]
Call to undefined function get()
Script php artisan optimize handling the post-update-cmd event returned with an error
[RuntimeException]
Error Output:
Run Code Online (Sandbox Code Playgroud)
和
php artisan clear-compiled
[Symfony\Component\Debug\Exception\FatalErrorException]
Call to undefined function get()
Run Code Online (Sandbox Code Playgroud)
和
php artisan optimize --force
[Symfony\Component\Debug\Exception\FatalErrorException]
Call to undefined function get()
Run Code Online (Sandbox Code Playgroud)
和
{composer update加载包含软件包信息的composer存储库更新依赖项(包括require-dev)-删除barryvdh / laravel-ide-helper(v2.1.4)-删除symfony / class-loader(v3.1.0)编写锁定文件生成自动加载文件
Illuminate \ Foundation \ ComposerScripts :: postUpdate php artisan优化
[Symfony\Component\Debug\Exception\FatalErrorException]
Call to undefined function get()
Script php artisan optimize handling the post-update-cmd event returned with an error …Run Code Online (Sandbox Code Playgroud)