Prado\Data\ActiveRecord\Scaffold\InputBuilder\TScaffoldInputBase::createInputBuilder PHP Метод

createInputBuilder() публичный статический Метод

public static createInputBuilder ( $record )
    public static function createInputBuilder($record)
    {
        $record->getDbConnection()->setActive(true);
        //must be connected before retrieving driver name!
        $driver = $record->getDbConnection()->getDriverName();
        switch (strtolower($driver)) {
            case 'sqlite':
                //sqlite 3
            //sqlite 3
            case 'sqlite2':
                //sqlite 2
                require_once dirname(__FILE__) . '/TSqliteScaffoldInput.php';
                return new TSqliteScaffoldInput($conn);
            case 'mysqli':
            case 'mysql':
                require_once dirname(__FILE__) . '/TMysqlScaffoldInput.php';
                return new TMysqlScaffoldInput($conn);
            case 'pgsql':
                require_once dirname(__FILE__) . '/TPgsqlScaffoldInput.php';
                return new TPgsqlScaffoldInput($conn);
            case 'mssql':
                require_once dirname(__FILE__) . '/TMssqlScaffoldInput.php';
                return new TMssqlScaffoldInput($conn);
            case 'ibm':
                require_once dirname(__FILE__) . '/TIbmScaffoldInput.php';
                return new TIbmScaffoldInput($conn);
            default:
                throw new TConfigurationException('scaffold_invalid_database_driver', $driver);
        }
    }

Usage Example

Пример #1
0
 /**
  * Create the default scaffold editor control factory.
  * @param TActiveRecord record instance.
  * @return TScaffoldInputBase scaffold editor control factory.
  */
 protected function getScaffoldInputBuilder($record)
 {
     static $_builders = array();
     $class = get_class($record);
     if (!isset($_builders[$class])) {
         $_builders[$class] = TScaffoldInputBase::createInputBuilder($record);
     }
     return $_builders[$class];
 }