{"id":581,"title":"laravel\u542f\u52a8\u6d41\u7a0b\uff08\u751f\u547d\u5468\u671f\uff09","good":0,"bad":0,"hit":1680,"created_at":"2023-02-09 03:27:48","content":"

\u81f3\u4e8e\u4e3a\u4ec0\u4e48\u5de5\u4f5c\u8fd9\u4e48\u591a\u5e74\u4e86\u73b0\u5728\u7814\u7a76\u6846\u67b6\uff0c\u4ee5\u524d\u5de5\u4f5c\u90fd\u662f\u4e13\u6ce8\u7528\u6846\u67b6\u5b9e\u73b0\u4e1a\u52a1\uff0c\u6ca1\u6709\u9047\u5230\u8fc7\u9700\u8981\u53bb\u6539\u6846\u67b6\u7684\u60c5\u51b5\uff0c\u4f46\u662f\u9762\u8bd5\u7684\u65f6\u5019\u603b\u662f\u6709\u4eba\u559c\u6b22\u95ee\u6846\u67b6\u7684\u539f\u7406\uff0c\u867d\u7136\u611f\u89c9\u6709\u70b9\u88c5\u903c\uff0c\u4f46\u7814\u7a76\u4e86\u4e00\u4e0b\u6536\u83b7\u8fd8\u662f\u633a\u5927\u7684<\/p>

\"016dfe88c2c8ef9261287a451ff33cce.png\"\/<\/p>

laravel\u6846\u67b6\u4f18\u3001\u7f3a\u70b9\uff1a<\/p>

\u4f18\u70b9\uff1a<\/p>

\u96c6\u6210\u4e86composer,\u5b9e\u73b0\u4e86\u4f9d\u8d56\u6ce8\u5165\uff0c\u66f4\u597d\u7684\u7ba1\u7406\u7c7b\u4e0e\u7c7b\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u4e3a\u6269\u5c55\u63d0\u4f9b\u4e86\u65e0\u9650\u53ef\u80fd\uff1b<\/p>

\u5b9e\u73b0\u4e86\u4e00\u4e9b\u9ad8\u7ea7\u7279\u6027\uff0c\u5982\uff1aconsole,event,queue,middleware,facades\u7b49<\/p>

\u7f3a\u70b9\uff1a<\/p>

\u52a0\u8f7d\u6587\u4ef6\u8fc7\u591a\u5bfc\u81f4\u901f\u5ea6\u53d8\u6162<\/p>

\u4f18\u5316\u65b9\u6cd5\uff1a<\/p>

\u7f13\u5b58\u914d\u7f6e\u6587\u4ef6<\/p>

\u53bb\u6389\u4e0d\u5fc5\u8981\u7684\u52a0\u8f7d\u6587\u4ef6\uff0c\u4e3b\u8981\u662fserviceProvider<\/p>

opcache(\u901a\u8fc7\u5c06 PHP \u811a\u672c\u9884\u7f16\u8bd1\u7684\u5b57\u8282\u7801\u5b58\u50a8\u5230\u5171\u4eab\u5185\u5b58\u4e2d\u6765\u63d0\u5347 PHP \u7684\u6027\u80fd)<\/p>

\u4f18\u79c0\u7684\u8bbe\u8ba1\u601d\u60f3\u548c\u77e5\u8bc6\u70b9\uff1a<\/p>

\u5355\u4f8b\u6a21\u5f0f\uff08\u6846\u67b6\u4e2d\u7684make\u65b9\u6cd5\uff0c\u7528\u4e8e\u7c7b\u7684\u5b9e\u4f8b\u5316\uff08\u4e3b\u8981\u662fserviceProvider))<\/p>

\u89c2\u5bdf\u8005\u6a21\u5f0f\uff08\u4e8b\u4ef6-\u88ab\u89c2\u5bdf\u8005\u3001\u76d1\u542c\u5668-\u89c2\u5bdf\u8005\uff09<\/p>

\u53cd\u5c04\uff08\u548c\u4f9d\u8d56\u6ce8\u5165\u4e00\u8d77\u89e3\u51b3\u7c7b\u7684\u76f8\u4e92\u8c03\u7528\uff0c\u5e76\u89e3\u8026\uff09<\/p>

array_reduce(\u7528\u56de\u8c03\u51fd\u6570\u8fed\u4ee3\u5730\u5c06\u6570\u7ec4\u7b80\u5316\u4e3a\u5355\u4e00\u7684\u503c<\/span>)<\/p>

\u9884\u5b9a\u4e49\u63a5\u53e3ArrayAccess<\/p>

tips:ArrayAccess\u7528\u6cd5\u8be6\u89e3<\/a><\/p>

<\/p>

\u751f\u547d\u5468\u671f\uff1a<\/p>

1\u3001\u5305\u542b\u81ea\u52a8\u52a0\u8f7d\u6587\u4ef6<\/p>

2\u3001\u751f\u6210\u670d\u52a1\u5bb9\u5668\uff08\u4e3b\u8981\u529f\u80fd\u662f\u5c06serviceProvider\u5b9e\u4f8b\u5316\uff0c\u8d4b\u7ed9\u670d\u52a1\u5bb9\u5668$app)<\/p>

    2.1\u3001\u6ce8\u518c\u57fa\u7840\u7684bindings<\/p>

    2.2\u3001\u901a\u8fc7bind\u6ce8\u518c\u57fa\u7840\u7684serviceProvider\uff08event\u670d\u52a1\u3001\u8def\u7531\u670d\u52a1\u3001\u65e5\u5fd7\u670d\u52a1\u7b49\uff09<\/p>

    2.3\u3001\u901a\u8fc7bind\u7ed1\u5b9a\u91cd\u8981\u7684\u63a5\u53e3<\/p>

tips:\u751f\u6210\u670d\u52a1\u5bb9\u5668\u76843\u79cd\u65b9\u6cd5\uff1a<\/p>

\/\/\u7b2c1\u79cd\u65b9\u5f0f<\/p>

$this->app->singleton('Family', function () {<\/p>

       return FamilyService(new PersonService(),new TvService());<\/p>

});<\/p>

\/\/\u7b2c2\u79cd\u65b9\u5f0f<\/p>

\/\/$this->app->bind(FamilyService::class);<\/p>

\/\/$this->app->bind("App\\Service\\Family\\FamilyService");<\/p>

\/\/\u7b2c3\u79cd\u65b9\u5f0f<\/p>

\/\/$this->app->bind("Family","App\\Service\\Family\\FamilyService");<\/p>

3\u3001\u83b7\u53d6request\u5bf9\u5e94<\/p>

    \u901a\u8fc7\u7ba1\u9053\uff08\u7c7b\u4f3c\u4e8e\u65e5\u5e38\u751f\u6d3b\u4e2d\u7684\u6c34\u7ba1\uff09\u7684\u65b9\u5f0f\uff0c\u5c06\u8bf7\u6c42\u7684\u6570\u636e\uff08request)\uff0c\u901a\u8fc7\u4e2d\u95f4\u4ef6\uff08\u7c7b\u4f3c\u4e8e\u7ba1\u9053\u4e0a\u7684\u8fc7\u6ee4\u9600\u95e8\uff0c\u53ef\u80fd\u6709\u5f88\u591a\u4e2a\uff09\u4e00\u5c42\u5c42\u7684\u8fc7\u6ee4\uff1b<\/p>

4\u3001\u903b\u8f91\u5904\u7406<\/p>

4.1\u3001\u52a0\u8f7d\/\u89e3\u6790\u57fa\u672c\u7684\u542f\u52a8\u9879\uff08\u57fa\u7840\u670d\u52a1\u548cserviceProvider,\u5982\uff1a\u8def\u7531\u3001\u5f02\u5e38\u5904\u7406\u3001facades\u3001serviceProvider)<\/p>

4.2\u3001\u901a\u8fc7\u7ba1\u7406\u6a21\u5f0f\uff0c\u7528\u4e2d\u95f4\u4ef6\u8fc7\u6ee4\u7528\u6237\u8bf7\u6c42\u6570\u636e\uff0c\u5904\u7406\u4e1a\u52a1\u903b\u8f91<\/p>

5\u3001\u8fd4\u56deresponse\u5bf9\u8c61<\/p>"}