亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

只用了依賴容器注入,沒有用facade門面模式

asal 2019-04-22 23:59:00 268
abstrak:<?php // 工具類 class Db { public function conn() { return '數(shù)據(jù)庫(kù)連接成功!<br>'; } } class Validate { public function check() { return '數(shù)據(jù)驗(yàn)證成功!
<?php
// 工具類
class Db
{
public function conn()
{
return '數(shù)據(jù)庫(kù)連接成功!<br>';
}
}
class Validate
{
public function check()
{
return '數(shù)據(jù)驗(yàn)證成功!<br>';
}
}
class View
{
public function show()
{
return '數(shù)據(jù)展示成功!<br>';
}
}
// 創(chuàng)建容器,將類與類的實(shí)例化過(guò)程綁定到容器中
class Container
{
protected $container = [];
public function bind($validate,Closure $param)
{
$this->container[$validate] = $param;
}
public function make($validate,$param = [])
{
return call_user_func_array($this->container[$validate],[]);
}
}
// 服務(wù)注冊(cè),bind將可能用到的工具類全部綁定到容器中
$container = new Container();
$container->bind('db',function(){
return new Db();
});
$container->bind('validate',function(){
return new Validate();
});
$container->bind('view',function(){
return new View();
});
// 依賴容器
class User
{
public function login(Container $container)
{
echo $container->make('db')->conn();
echo $container->make('validate')->check();
echo $container->make('view')->show();
}
}
$user = new User();
echo $user->login($container);

老師我想問(wèn):Container類中的make()方法中的call_user_func_array()執(zhí)行的是哪個(gè)函數(shù)???是make()嗎?

sf.png

Guru membetulkan:查無(wú)此人Masa pembetulan:2019-04-23 13:48:31
Rumusan guru:完成的不錯(cuò)。有問(wèn)題可以提交工單,作業(yè)中你無(wú)法追問(wèn)。 call_user_func_array有兩個(gè)參數(shù),第1個(gè)參數(shù)是一個(gè)字符串,表示要調(diào)用的函數(shù)名,第2個(gè)參數(shù)是一個(gè)數(shù)組,表示參數(shù)列表,按照順序依次會(huì)傳遞給要調(diào)用的函數(shù)。

Nota Keluaran

Penyertaan Popular