Hallo zusammen,
zurzeit versuche ich ein Studienprojekt mit dem yii Framework umzusetzen.
Dabei bin ich gleich am Anfang auf das Problem gestoßen, dass ich mit gii keine Models und CRUD Klassen mit Tabellennamen erzeugen kann, welche deutsche Umlaute (äöüÄÖÜ) im Namen haben. Siehe Screenshot.
Diese wären für mein Projekt aber wichtig (z. B. Tabelle Warenschäden, oder Spalte Prävention).
WICHTIG: Bei der Eintragung von Daten funktionieren die Wörter mit Umlauten ohne Probleme, die Datenbank und Datenbankanbindung ist natürlich alles utf8 encoded.
Es funktioniert nur bei den Tabellen- und Spaltennamen nicht.
Ich habe schon einiges probiert und das Forum durchsucht, leider alles erfolglos (z. B. Apache, PHP, usw. alles auf UTF-8 gestellt usw.). Falls ich etwas übersehen habe, dann bitte kurzen Hinweis.
Habe auch schon versucht die validation (preg_match usw.) zu ändern (beim gii generator sowie in der baseHTML, da hier die Fehler darauf verwiesen haben). Habe mir gedacht, vielleicht reicht es diese einfach zu ändern, leider auch ohne Erfolg. (Siehe Codesnippet)
vendor/yiisoft/yii2-gii/generators/model/Generator.php :
[['db', 'modelClass', 'queryClass'], 'match', 'pattern' => '/^\w+$/', 'message' => 'Only word characters are allowed.'],
[['ns', 'baseClass', 'queryNs', 'queryBaseClass'], 'match', 'pattern' => '/^[\w\\\\]+$/', 'message' => 'Only word characters and backslashes are allowed.'],
[['tableName'], 'match', 'pattern' => '/^([\w ]+\.)?([\w\* ]+)$/', 'message' => 'Only word characters, and optionally spaces, an asterisk and/or a dot are allowed.'],
Beispiel aus vendor/yii2/helpers/baseHTML :
public static function getAttributeName($attribute)
{
if (preg_match('/(^|.*\])([\w\.]+)(\[.*|$)/', $attribute, $matches)) {
return $matches[2];
} else {
throw new InvalidParamException('Attribute name must contain word characters only.');
}
}
Die GermanCrudCommand extension wollte ich noch versuchen, scheitere aber gerade an der Anbindung. Löst das evtl. mein Problem, hat damit schon jemand gearbeitet?
Wenn ja wie kann ich die in dem basic yii Projekt einbinden und aufrufen?
Hatte jemand hier schon das gleiche Problem und kann mir helfen?
Ich arbeite mit dem MAMP Server, php 5.6.10, MySQL 5.5.42, Apache 2.2.29 und der Yii Version 2.0.10 mit dem basic Paket.
IDE -> PHPStorm
Ich danke euch schon mal im Voraus!
Grüße
Coby