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\codegeneration\php;
 4: 
 5: use webfilesframework\codegeneration\general\MAbstractClass;
 6: use webfilesframework\MWebfilesFrameworkException;
 7: 
 8: /**
 9:  * description
10:  *
11:  * @author     Sebastian Monzel < mail@sebastianmonzel.de >
12:  * @since      0.1.7
13:  */
14: class MPhpWebfileClass extends MAbstractClass
15: {
16: 
17:     public function generateCode()
18:     {
19: 
20:         $this->generateSetterAndGetter();
21: 
22:         $code = parent::generateCode();
23:         return $code;
24:     }
25: 
26:     protected function generatePreambleCode()
27:     {
28:         return "<?php \n";
29:     }
30: 
31:     protected function generateHeaderCode()
32:     {
33: 
34: 
35:         return "class " . $this->className . " extends MWebfile { \n\n";
36:     }
37: 
38:     protected function generateAttributes()
39:     {
40: 
41:         $code = "";
42: 
43:         /** @var MPhpClassAttribute $attribute */
44:         foreach ($this->attributes as $attribute) {
45: 
46:             if (!$attribute instanceof MPhpClassAttribute) {
47:                 throw new MWebfilesFrameworkException("Cannot generate code for attribute which is not of type 'MPhpClassAttribute'.");
48:             }
49: 
50:             // ADD "m_" BEFORE THE ATTRIBUTENAME TO MAKE IT POSSIBLE FOR WEBFILES FRAMEWORK TO RECOGNIZE RELEVANT ATTRIBUTES
51:             $modifiedAttribute = new MPhpClassAttribute($attribute->getVisibility(), "m_" . $attribute->getName(), $attribute->getType());
52: 
53:             $code .= $modifiedAttribute->generateCode() . "\n";
54:         }
55: 
56:         return $code;
57:     }
58: 
59:     protected function generateFooterCode()
60:     {
61:         return "}";
62:     }
63: 
64:     public function addAttribute(MPhpClassAttribute $attribute)
65:     {
66:         $this->attributes[] = $attribute;
67:     }
68: 
69:     public function addMethod(MPhpClassMethod $method)
70:     {
71:         $this->methods[] = $method;
72:     }
73: 
74:     private function generateSetterAndGetter()
75:     {
76:         foreach ($this->attributes as $attribute) {
77: 
78:             $firstLetterUppercaseAttribute = ucfirst($attribute);
79: 
80:             // GETTER
81:             $getterMethodName = "get" . $firstLetterUppercaseAttribute;
82:             $getterContent = "return \$this->m_" . $attribute . ";";
83:             $getterMethod = new MPhpClassMethod("public", $getterMethodName, $getterContent);
84:             $this->addMethod($getterMethod);
85: 
86:             // SETTER
87:             $setterMethodName = "set" . $firstLetterUppercaseAttribute;
88:             $setterContent = "\$this->m_" . $attribute . " = $" . $attribute . ";";
89:             $setterMethod = new MPhpClassMethod("public", $setterMethodName, $setterContent);
90:             $setterMethod->addParameter(new MPhpClassMethodParameter($attribute, ""));
91:             $this->addMethod($setterMethod);
92: 
93:         }
94:     }
95: }
API documentation generated by ApiGen