ZendDbSchema
Schema management for Zend Framework
 All Classes Namespaces Functions Pages
SqlToSchema.php
1 <?php
30  implements Zend_Filter_Interface
31 {
35  protected $_asObject;
36 
42  public function __construct($asObject = true)
43  {
44  $this->_asObject = (bool) $asObject;
45  }
46 
53  public function filter($value)
54  {
55  $schema = array();
56  if (!empty($value)) {
57  if (preg_match('|CREATE DATABASE `([\w\d\_\-]+)|i', $value, $matches)) {
58  $schema[ZendDbSchema_Db_Schema_Database::NAME_KEY] = $matches['1'];
59  }
60  if (preg_match('|DEFAULT CHARACTER SET ([\w\d\_\-]+)|i', $value, $matches)) {
61  $schema[ZendDbSchema_Db_Schema_Database::CHARSET_KEY] = $matches['1'];
62  }
63  }
64  if (!$this->_asObject) {
65  return $schema;
66  }
67  return new ZendDbSchema_Db_Schema_Database($schema[ZendDbSchema_Db_Schema_Database::NAME_KEY], $schema);
68  }
69 }