/** * 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.
万彩商图
专为电商打造的AI商拍工具,快速生成多样化的高质量商品图和模特图,助力商家节省成本,解决素材生产难、产图速度慢、场地设备拍摄等问题。
下载