Overview

Namespaces

  • webfilesframework
    • codegeneration
      • general
      • php
    • core
      • datastore
        • functions
          • filter
          • sorting
        • types
          • database
            • resultHandler
          • directory
          • googlecalendar
          • mail
          • remote
      • datasystem
        • database
        • file
          • format
            • media
              • image
                • handler
          • system
            • dropbox
      • datatypes
        • time
      • time
    • io
      • form
        • formItem
        • validation
        • webfile
      • request

Classes

  • webfilesframework\codegeneration\general\MAbstractClass
  • webfilesframework\codegeneration\general\MAbstractClassAttribute
  • webfilesframework\codegeneration\general\MAbstractClassMethod
  • webfilesframework\codegeneration\general\MAbstractClassMethodParameter
  • webfilesframework\codegeneration\general\MAbstractCodeItem
  • webfilesframework\codegeneration\MCodeItemFactory
  • webfilesframework\codegeneration\MProgrammingLanguage
  • webfilesframework\codegeneration\MWebfileClassGeneration
  • webfilesframework\codegeneration\php\MPhpClassAttribute
  • webfilesframework\codegeneration\php\MPhpClassMethod
  • webfilesframework\codegeneration\php\MPhpClassMethodParameter
  • webfilesframework\codegeneration\php\MPhpWebfileClass
  • webfilesframework\core\datastore\functions\filter\MSubstringFiltering
  • webfilesframework\core\datastore\functions\sorting\MAscendingSorting
  • webfilesframework\core\datastore\functions\sorting\MDescendingSorting
  • webfilesframework\core\datastore\MAbstractCachableDatastore
  • webfilesframework\core\datastore\MAbstractDatastore
  • webfilesframework\core\datastore\MCombinedDatastore
  • webfilesframework\core\datastore\MDatastoreFactory
  • webfilesframework\core\datastore\MDatastoreTransfer
  • webfilesframework\core\datastore\types\database\MDatabaseDatastore
  • webfilesframework\core\datastore\types\database\MSampleWebfile
  • webfilesframework\core\datastore\types\database\resultHandler\MMysqlResultHandler
  • webfilesframework\core\datastore\types\directory\MDirectoryDatastore
  • webfilesframework\core\datastore\types\directory\MDirectoryDatastoreMetainformation
  • webfilesframework\core\datastore\types\directory\MDirectoryDatastoreWebfile
  • webfilesframework\core\datastore\types\googlecalendar\MEvent
  • webfilesframework\core\datastore\types\googlecalendar\MGoogleCalendarDatastore
  • webfilesframework\core\datastore\types\mail\MImapDatastore
  • webfilesframework\core\datastore\types\mail\MMail
  • webfilesframework\core\datastore\types\mail\MMailAccount
  • webfilesframework\core\datastore\types\remote\MRemoteDatastore
  • webfilesframework\core\datastore\types\remote\MRemoteDatastoreEndpoint
  • webfilesframework\core\datasystem\database\MDatabaseConnection
  • webfilesframework\core\datasystem\database\MDatabaseDatatypes
  • webfilesframework\core\datasystem\database\MDatabaseTable
  • webfilesframework\core\datasystem\database\MDatabaseTableColumn
  • webfilesframework\core\datasystem\file\format\media\image\handler\MAbstractImageLibraryHandler
  • webfilesframework\core\datasystem\file\format\media\image\handler\MGdHandler
  • webfilesframework\core\datasystem\file\format\media\image\handler\MImageMagickHandler
  • webfilesframework\core\datasystem\file\format\media\image\MImage
  • webfilesframework\core\datasystem\file\format\media\image\MQrCodeImage
  • webfilesframework\core\datasystem\file\format\media\MYoutubeVideo
  • webfilesframework\core\datasystem\file\format\MWebfile
  • webfilesframework\core\datasystem\file\format\MWebfileStream
  • webfilesframework\core\datasystem\file\system\dropbox\MDropboxAccount
  • webfilesframework\core\datasystem\file\system\dropbox\MDropboxDirectory
  • webfilesframework\core\datasystem\file\system\dropbox\MDropboxFile
  • webfilesframework\core\datasystem\file\system\MDirectory
  • webfilesframework\core\datasystem\file\system\MFile
  • webfilesframework\core\datatypes\time\MTimestampHelper
  • webfilesframework\core\time\MTimespan
  • webfilesframework\core\time\MWeekday
  • webfilesframework\io\form\formItem\MAbstractFormItem
  • webfilesframework\io\form\formItem\MCheckboxesFormItem
  • webfilesframework\io\form\formItem\MDateFormItem
  • webfilesframework\io\form\formItem\MDateTimeFormItem
  • webfilesframework\io\form\formItem\MDropdownMenueFormItem
  • webfilesframework\io\form\formItem\MHiddenFormItem
  • webfilesframework\io\form\formItem\MHtmlTextareaFormItem
  • webfilesframework\io\form\formItem\MPasswordFormItem
  • webfilesframework\io\form\formItem\MTextareaFormItem
  • webfilesframework\io\form\formItem\MTextfieldFormItem
  • webfilesframework\io\form\formItem\MTimeFormItem
  • webfilesframework\io\form\formItem\MWeekdayFormItem
  • webfilesframework\io\form\MForm
  • webfilesframework\io\form\MFormItemFactory
  • webfilesframework\io\form\validation\MValidator
  • webfilesframework\io\form\webfile\MWebfileFormHandler
  • webfilesframework\io\form\webfile\MWebfileFormVisualizer
  • webfilesframework\io\request\MAbstractHttpRequest
  • webfilesframework\io\request\MGetHttpRequest
  • webfilesframework\io\request\MPostHttpRequest
  • webfilesframework\io\request\MUrl

Interfaces

  • webfilesframework\core\datastore\functions\MIDatastoreFunction
  • webfilesframework\core\datastore\MISingleDatasourceDatastore
  • webfilesframework\core\datastore\types\database\resultHandler\MIResultHandler
  • webfilesframework\core\datastore\types\googlecalendar\MISecretStore

Exceptions

  • webfilesframework\core\datastore\MDatastoreException
  • webfilesframework\core\datastore\types\database\MDatabaseDatastoreException
  • webfilesframework\MWebfilesFrameworkException
  • Overview
  • Namespace
  • Class
  1: <?php
  2: 
  3: namespace webfilesframework\core\datasystem\database;
  4: 
  5: 
  6: 
  7: 
  8: /**
  9:  * description
 10:  *
 11:  * @author     Sebastian Monzel < mail@sebastianmonzel.de >
 12:  * @since      0.1.7
 13:  */
 14: class MDatabaseTable
 15: {
 16: 
 17:     var $name = null;
 18: 
 19:     var $primaryKey = null;
 20:     var $identifier = null;
 21:     var $identifierSize = null;
 22: 
 23:     var $columns = array();
 24: 
 25:     var $databaseConnection;
 26: 
 27:     /**
 28:      * MDatabaseTable constructor.
 29:      * @param \webfilesframework\core\datasystem\database\MDatabaseConnection $databaseConnection
 30:      * @param string $name
 31:      */
 32:     public function __construct(MDatabaseConnection $databaseConnection, $name)
 33:     {
 34:         $this->databaseConnection = $databaseConnection;
 35:         $this->name = $name;
 36:     }
 37: 
 38: 
 39:     /**
 40:      * @throws \webfilesframework\MWebfilesFrameworkException
 41:      */
 42:     public function create()
 43:     {
 44:         $query = "CREATE TABLE IF NOT EXISTS `" . $this->name . "` (";
 45: 
 46:         if ($this->identifier != null && $this->identifierSize != null) {
 47:             $query .= "`" . $this->identifier . "` int(" . $this->identifierSize . ") NOT NULL AUTO_INCREMENT,";
 48:         }
 49:         /**
 50:          * @var MDatabaseTableColumn $value
 51:          */
 52:         foreach ($this->columns as $value) {
 53:             $query .= $value->getStringRepresentation();
 54:         }
 55: 
 56:         if ($this->primaryKey != null) {
 57:             $query .= "PRIMARY KEY (`" . $this->primaryKey . "`)";
 58:         }
 59:         $query .= ") ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;";
 60: 
 61:         $this->databaseConnection->query($query);
 62:     }
 63: 
 64: 
 65:     /**
 66:      *
 67:      * Enter description here ...
 68:      */
 69:     public function drop()
 70:     {
 71:         $this->databaseConnection->query(
 72:             "DROP TABLE IF EXISTS `" . $this->name . "`"
 73:         );
 74:     }
 75: 
 76: 
 77:     /**
 78:      * Spe
 79:      * @param string $columnName
 80:      * @param string $size
 81:      */
 82:     public function specifyIdentifier($columnName, $size)
 83:     {
 84:         $this->identifier = $columnName;
 85:         $this->identifierSize = $size;
 86:         $this->setPrimaryKey($columnName);
 87:     }
 88: 
 89: 
 90:     /**
 91:      * Sets the primary key of the table.
 92:      * @param string $columnName
 93:      */
 94:     public function setPrimaryKey($columnName)
 95:     {
 96:         $this->primaryKey = $columnName;
 97:     }
 98: 
 99: 
100:     /**
101:      * Adds a new column to the actual database representation.
102:      *
103:      * @param string $name
104:      * @param string $type
105:      * @param int $length
106:      */
107:     public function addColumn($name, $type, $length = null)
108:     {
109:         $column = new MDatabaseTableColumn($name, $type, $length);
110:         array_push($this->columns, $column);
111:     }
112: 
113:     /**
114:      * @param MDatabaseTableColumn $column
115:      */
116:     public function addColumnObject($column) {
117:         array_push($this->columns,$column);
118:     }
119: 
120: 
121: }
API documentation generated by ApiGen