PHP 에서 실 현 된 데이터 개체 맵 모드 상세 설명
아니면 코드 말 하기:여 기 는 전략 모드 의 psr-0 코드 규범 을 따 릅 니 다.
데이터 시트:
 
 데이터베이스 연결 파일 Db.php(이전'PHP 단일 모드 데이터베이스 연결 클래스 와 페이지 정적 화'에서 찾 을 수 없 으 면)
클래스 파일 Config.php 자동 불 러 오기(이전'PHP 정책 모드'에 가서 가 져 올 수 있 습 니 다)
입력 파일 DataUser.php
<?php
define('BASEDIR', __DIR__);
//                
require 'Config.php';
spl_autoload_register('Config::autolad');
//    
$user = new Data(1);
var_dump($user->id, $user->name, $user->money);
//        
$user->id = 1;
$user->name = 'zhangjianping';
$user->money = 10000;
?>
<?php
class Data
{
//   
public $id;
public $name;
public $money;
//       
protected $con;
//         
public function __construct($id)
{
  //     
  $this->con = DB::getInstance()->connect();
  //    
  $res = $this->con->query('select * from account where id = '.$id.' limit 1');
  $data = $res->fetch(PDO::FETCH_ASSOC);
  //            
  $this->id = $data['id'];
  $this->name = $data['name'];
  $this->money = $data['money'];
}
//         
public function __destruct()
{
  $this->con->query("update account set name = '{$this->name}', 'money = {$this->money}' where id = {$this->id}");
}
}
?>
DataUser.php
<?php
define('BASEDIR', __DIR__);
require 'Config.php';
spl_autoload_register(Config::autoload);
class DataUser
{
  public function index()
  {
    //           
    $user = Factory::getUser(1);
    var_dump($user->id);
    $this->name();
    $this->money();
  }
  public function name()
  {
    $user = Factory::getUser(1);
    var_dump($user->name);
  }
  public function money()
  {
    $user = Factory::getUser(1);
    var_dump($user->money);
  }
}
?>
<?php
class Factory
{
  static function getUser($id)
  {
    //         ,    ,       ,                     ,     
    //  id           
    $key = 'user_'.$id;
    //         
    $user = Register::get($key);
    //                    
    if(!isset($user))
    {
      $user = new Data($id);
      $user = Register::set($key, $user);
    }
    return $user;
  }
}
?>
<?php
class Register
{
  //       
  protected static $object;
  //      
  public static function set($key, $value)
  {
    self::$object[$key] = $value;
  }
  //       
  public static function get($key)
  {
    return self::$object[$key];
  }
  //       
  public static function _unset($key)
  {
    unset(self::$object[$key]);
  }
}
?>
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.