PHP:Cakephp-Framework: Unterschied zwischen den Versionen

Aus Alexander's Wiki
Zeile 8: Zeile 8:
! Tools !! Einstellung
! Tools !! Einstellung
|-
|-
| Browser || Beispiel
| Browser || <source lang="html5">
<meta charset="utf-8" /> (HTML5)
  bzw.
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> (XHTML)
</source>
|-
|-
| Datenbank (mysql) || Beispiel
| Datenbank (mysql) || Beispiel
Zeile 14: Zeile 18:
| IDE (Netbeans) ||  
| IDE (Netbeans) ||  
|-
|-
| IDE (Eclipse) || Beispiel
| IDE (Eclipse) || Window/Preferences --> General/Editors/Text Editors/Spelling --> Encoding
|-
|-
| Editor (jedit) || Beispiel
| Editor (jedit) || Extras/Globale Optionen --> Zeichenkodierung --> Standardzeichenkodierung
|-
|-
| Editor (notepad++) ||  
| Editor (notepad++) || Kodierung
|-
|-
| Spracheditor (poedit) || Beispiel
| Spracheditor (poedit) || Wenn ein Katalog geöffnet ist. Katalog/Eigenschaften --> Zeichensatz
|-
|-
| SQL-Developer || Beispiel
| SQL-Developer || Extras/Voreinstellungen --> Umgebung --> Codierung
|}
|}


'''Im Browser:'''
<source lang="html5">
  <meta charset="utf-8" /> (HTML5)
    bzw.
  <meta http-equiv="content-type" content="text/html; charset=utf-8" /> (XHTML)
</source>
'''Im Editor ''jedit'':'''
Extras/Globale Optionen --> Zeichenkodierung --> Standardzeichenkodierung
'''Im Editor ''Notepad++'':'''
Kodierung
'''In ''sqldeveloper'':'''
Extras/Voreinstellungen --> Umgebung --> Codierung
'''In ''eclipse'':'''
Window/Preferences --> General/Editors/Text Editors/Spelling --> Encoding
'''Im Sprachtool ''poedit'':'''


Wenn ein Katalog geöffnet ist. Katalog/Eigenschaften --> Zeichensatz


== Aufbau der Webseite ==
== Aufbau der Webseite ==

Version vom 9. Februar 2014, 18:11 Uhr


Einstellungen der Tools

Wenn die Webseite nicht nur Englisch , sondern auch andere Sprachen verwenden soll, dann ist es notwendig einen einheitlichen Zeichensatz festzulegen. Wenn man das nicht macht, können Sonderzeichen falsch dargestellt werden. Meist wird die UTF-8-Zeichenkodierung dafür verwendet. Im Folgenden zeige ich, wie man die Tools, die ich verwendet auf den UTF-8-Zeichensatz umstellt.

Tools Einstellung
Browser
<meta charset="utf-8" /> (HTML5)
  bzw.
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> (XHTML)
Datenbank (mysql) Beispiel
IDE (Netbeans)
IDE (Eclipse) Window/Preferences --> General/Editors/Text Editors/Spelling --> Encoding
Editor (jedit) Extras/Globale Optionen --> Zeichenkodierung --> Standardzeichenkodierung
Editor (notepad++) Kodierung
Spracheditor (poedit) Wenn ein Katalog geöffnet ist. Katalog/Eigenschaften --> Zeichensatz
SQL-Developer Extras/Voreinstellungen --> Umgebung --> Codierung


Aufbau der Webseite

Wie die Webseite aufgebaut wird, beschreibt die Datei app/Views/Layout/default.ctp. Den HTML-Code, den die Views zu den entsprechenden Controllern erzeugen wird durch:

  echo $this->fetch('content');

eingefügt.

Man kann weitere dieser Einfügestellen erstellen indem man in einer View einen Abschnitt definiert, der wie folgt aussehen würde:

  $this->start('Abschnitt');
    //erzeuge HTML-Text
  $this->end();

Auf diesen Namen bezieht man sich dann in der app/Views/Layout/default.ctp durch Einfügen von:

  echo $this->fetch('Abschnitt');

Installation

git clone git://github.com/cakephp/cakephp.git

In das Webserververzeinis kopieren und die URL aufrufen.

Speichern und Laden von Daten

Die ID einer neu gespeicherten Zeile erhalten

if($this->MyModel->save($this->data)){
    //the id is here
    echo $this->MyModel->id;
}

Internationalisierung

Im Model (erzeugt validation.pot):

    public $validationDomain = 'validation';
    
    public $validate = array(
        'username' => array(
            'alphaNumeric' => array(
                'rule'     => 'alphaNumeric',
                'required' => true,
                'message'  => 'Alphabets and numbers only',
                'last'    => false
            ),
            'between' => array(
                'rule'    => array('between', 5, 15),
                'message' => 'Username should be between %d and %d characters'
            )
        ),
    );

Im Helper (kommt in default.pot):

    private static $subSets = array();

    public function __construct() {
        self::$subSets = array(
            'deviceUpload' => array('icon' => 'icon-broadcast', 'color' => 'bg-amber',
                'destination' => array('controller' => 'basedatas', 'action' => 'device_config_load'),
                'text' => __('Device upload')
            ),
        );
    }

    public function getSubSet($name) {
        return BaseDataHelper::$subSets[$name];
    }


CakePHP-Webseite zur Installation