PHP 5はオブジェクトに対する新しい疑問点であり,クラスオブジェクトインスタンスがクラス内のプライベートメソッドにアクセスできるかどうかはバグかどうか分からない.


まずコードを見てください.
class orm_factory {
	/**
	 *        
	 *
	 * @var orm_driver
	 */
	private $_driver = null ;
	
	/**
	 *      
	 *
	 * @var orm_table_operator
	 */
	private $_table_operator = null ;
	private static $_valid_dsn_set = array();
	
	private function __init_params(orm_driver $driver,orm_table_operator $table_operator){
		$this->_driver = $driver ;echo "111111111111" ;
		$this->_table_operator = $table_operator ;
	}
	
	function get_driver(){
		return $this->_driver ;
	}
	
	/**
	 *       
	 * @param string $dsn
	 * @return orm_factory
	 */
	static function instance($dsn){
		static $inst = null ;
		if (!$inst) $inst = new orm_factory() ;
		
		if (!isset(self::$_valid_dsn_set[$dsn])){
			try {
				$driver = new orm_driver($dsn) ;
				$driver->open_connect();
				
				$table_operator = new orm_table_operator($driver);
				
				self::$_valid_dsn_set[$dsn] = array(
					'__driver__' => $driver ,
					'__operator__' => $table_operator
				);
			} catch (orm_driver_exception $ex){
				throw new orm_factory_exception($ex->getMessage());
			}
		}
		$inst->__init_params(self::$_valid_dsn_set[$dsn]['__driver__'],self::$_valid_dsn_set[$dsn]['__operator__']);
		return $inst ;
	}
	
	/**
	 *         
	 * @param string $table
	 * @return orm_table_operator
	 */
	function get_operator($table){
		//         orm_table_exception
		$this->_table_operator->register_table($table) ;
		return $this->_table_operator;
	}
}

ハイライトに問題があるはずです
$inst->__init_params

ここでオブジェクトインスタンスからプライベートメソッドにアクセスできるなんて不思議です....1つのクラスのコードがオブジェクトで個別に区切られるのではなく、呼び出すことができるからではないでしょうか.