PHP依赖注入

来源:互联网 发布:java认证培训中心 编辑:程序博客网 时间:2024/05/18 19:20
$_SESSION['language'] = 'fr';$user_language = $_SESSION['language'];
class SessionStorage{  function __construct($cookieName = 'PHP_SESS_ID')  {    session_name($cookieName);    session_start();  }  function set($key, $value)  {    $_SESSION[$key] = $value;  }  function get($key)  {    return $_SESSION[$key];  }  // ...}
class User{  protected $storage;  function __construct()  {    $this->storage = new SessionStorage();  }  function setLanguage($language)  {    $this->storage->set('language', $language);  }  function getLanguage()  {    return $this->storage->get('language');  }  // ...}
$user = new User();$user->setLanguage('fr');$user_language = $user->getLanguage();
class User{    function __construct()    {        $this->storage = new SessionStorage('SESSION_ID');    }    // ...}
class User{  function __construct()  {    $this->storage = new SessionStorage(STORAGE_SESSION_NAME);  }  // ...}define('STORAGE_SESSION_NAME', 'SESSION_ID');
class User{  function __construct($sessionName)  {    $this->storage = new SessionStorage($sessionName);  }  // ...}$user = new User('SESSION_ID');
class User{  function __construct($storageOptions)  {    $this->storage = new SessionStorage($storageOptions['session_name']);  }  // ...}$user = new User(array('session_name' => 'SESSION_ID'));
class User{  function __construct($storage)  {    $this->storage = $storage;  }  // ...}
$storage = new SessionStorage('SESSION_ID');$user = new User($storage);

实际上 依赖注入 关键就是 把实例当做参数传入构造函数,降低了业务类之间的耦合。

原创粉丝点击