每天laravel-20160818| Container -21
程序员文章站
2022-06-05 21:26:27
...
/** * Fire all of the resolving callbacks. * * @param string $abstract * @param mixed $object * @return void */// Fire all of the resolving callbacks. protected function fireResolvingCallbacks($abstract, $object) {// fire Resolving Callbacks $this->fireCallbackArray($object, $this->globalResolvingCallbacks); // fireCallbackArray is a function, // two parameters $this->fireCallbackArray( $object, $this->getCallbacksForType( $abstract, $object, $this->resolvingCallbacks ) );// set the fire Call back Array $this->fireCallbackArray($object, $this->globalAfterResolvingCallbacks); // fire two $this->fireCallbackArray( $object, $this->getCallbacksForType( $abstract, $object, $this->afterResolvingCallbacks ) );// fire third }// this is a fire function to make it /** * Get all callbacks for a given type. * * @param string $abstract * @param object $object * @param array $callbacksPerType * * @return array */// Get all callbacks for a given type. protected function getCallbacksForType($abstract, $object, array $callbacksPerType) {// this is abstract parameters // object // array call backs Per Type $results = [];// has a array store foreach ($callbacksPerType as $type => $callbacks) {// loop the result if ($type === $abstract || $object instanceof $type) { $results = array_merge($results, $callbacks);// combine the array } } return $results; } /** * Fire an array of callbacks with an object. * * @param mixed $object * @param array $callbacks * @return void */ protected function fireCallbackArray($object, array $callbacks) { foreach ($callbacks as $callback) { $callback($object, $this); } }// fire an array callbacks with an object. /** * Determine if a given type is shared. * * @param string $abstract * @return bool */ public function isShared($abstract)// check shared status { $abstract = $this->normalize($abstract);// first get a normal string that i need if (isset($this->instances[$abstract])) { return true; }// if it is done, ok return it if (! isset($this->bindings[$abstract]['shared'])) { return false; }// if it can't be bound it return $this->bindings[$abstract]['shared'] === true; // if set ,get the result about shared } /** * Determine if the given concrete is buildable. * * @param mixed $concrete * @param string $abstract * @return bool */ protected function isBuildable($concrete, $abstract) { return $concrete === $abstract || $concrete instanceof Closure; }// Determine if the given concrete is buildable.
推荐阅读
-
每天都用的三个Excel对齐技巧即跨列居中与缩进对齐及日期对齐
-
微信公众平台每天必不可少的数据分析
-
day21_步入百万年薪的第二十一天——面向对象初识、结构、从类名研究类、从对象研究类、logging模块进阶版
-
网上挣钱每天80元?太简单了,自媒体爆款短视频让你月入10000
-
打开windowXP的21端口即用winxp架设ftp服务器
-
Flutter学习笔记(21)--TextField文本框组件和Card卡片组件
-
通过压缩文件生成器实现网站推广(每天10分钟,增加网盘外链200个)
-
索尼新机Xperia L4发布:21比9水滴屏、保留耳机孔
-
每天一道Python面试题(系列)
-
对于新手学seo优化,就是每天写文章发外链吗?