PHP:Cakephp-Framework: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
| Zeile 67: | Zeile 67: | ||
echo $this->MyModel->id; | echo $this->MyModel->id; | ||
} | } | ||
</source> | |||
== Internationalisierung == | |||
Im Model ''(erzeugt validation.pot)'': | |||
<source lang="php"> | |||
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' | |||
) | |||
), | |||
); | |||
</source> | |||
Im Helper ''(kommt in default.pot)'': | |||
<source lang="php"> | |||
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]; | |||
} | |||
</source> | </source> | ||
Version vom 4. Februar 2014, 11:53 Uhr
- Authentication
- Daten des Models abspeichern
- JavaScript-Helper
- Internationalisierung
- HTML-Helper (Breadcrumps)
- Views, auch Vererbung
- Uses, quasi die Imports
- Form-Helper
- Validation (ziemlich weit unten)
Generelle Einstellungen
Insbesondere für spezielle Zeichen wie Umlaute sollte man im ganzen Prozess eine einheitliche Zeichenkodierung verwenden. Als beste Einstellung hat sich UTF-8 etabliert. Im Folgenden wird beschrieben wie man die Tools, die ich einsetze, dementsprechend konfiguriert.
Im Browser:
<meta charset="utf-8" /> (HTML5)
bzw.
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> (XHTML)
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
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');
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];
}