<?php
/**人
* クラスに関するユーティリティ
*
* PHP version 5
*
* @package    core
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/

class charcoal_ClassUtil
{
	/*
	 * クラス名を検証
	 */
	public static function validateClassName( $class_name )
	{
		return preg_match( "/\A[a-zA-Z]\w*/", "$class_name" );
	}

	/*
	 * クラスのインスタンスを生成する
	 */
	public static function newInstance( $class_name, $args = NULL )
	{
		if ( !class_exists($class_name) ){
			throw new charcoal_ClassNotFoundException( $class_name );
		}

		$reflection = new ReflectionClass( $class_name );
		$instance = $reflection->newInstance( $args );

		return $instance;
	}
}
