Individuelle Übersetzungen in Laravel Formularvalidierungen

In der Regel werden Attributnamen und Fehlermeldungen für die Validierung von Formularen in Laravel ja in den Sprachdateien gespeichert z.B.  resources/lang/CODE/validation.php

Die Controller-eigene validate()  Methode sowie Validator::make()  können jedoch auch mit zusätzlichen Parametern aufgerufen werden, um diese Übersetzungen punktgenau zu überschreiben.

„Individuelle Übersetzungen in Laravel Formularvalidierungen“ weiterlesen

Ternärer Operator – if-else in Kurzform

Der ternäre Operator ist sicherlich vielen bekannt und je nach Vorliebe verhasst oder beliebt:

Kurz gesagt: hinter dem Fragezeichen in der Kurzform steht die Anweisung oder Zuordnung die ausgeführt wird, wenn die Bedingung $a == 1  wahr ist. Hinter dem Doppelpunkt steht dann dementsprechend das Gegenstück, also das was passiert wenn die Bedingung falsch ist. Die Klammerung im obigen Beispiel ist optional.

Sonderfälle bei der Anwendung des ternären Operators:

Wird nur abgefragt, ob ein Wert vorhanden ist (nicht empty , NULL , '0'  oder false) ohne diesen mit einem konkreten Gegenstück zu vergleichen, so kann die o.g. Schreibweise weiter verkürzt werden:

Sollte $a  nicht definiert sein, so wird ein E_WARNING ausgegeben – und damit kommen wir auch schon zum zweiten Sonderfall. Soll die Ausgabe des E_WARNING  verhindert werden, wäre eine zusätzliche Prüfung isset($a)  erforderlich. Diese Verkettung von Operationen wiederum verhindert die Nutzung der Kurzform. Beispiel:

Das erste obere Beispiel gibt true zurück, falls $a  definiert ist und nicht empty , NULL , '0'  oder false. Gewollt war in diesem Fall aber, den Wert von $a auszugeben (Beispiel 2). Das ist mit der Anweisung ??  zu erreichen (Beispiel 3).

Übersichtlichkeit im Code

Um den Quelltext übersichtlich zu gestalten gibt es hier mehrere Möglichkeiten, die der Situation entsprechend genutzt werden können.

Mehrere Zuweisungen mit ternärem Operator, hier ist u.U. eine mit Tabs eingerückte Schreibweise vorteilhaft:

Bei einzelnen Zuordnungen bevorzuge ich die Schreibform in mehreren Zeilen:

Verkettung von mehreren Operationen:

Die mehrfache/verkettete Verwendung kann zu schwer les- bzw. interpretierbarem Code führen, daher hier nur der Vollständigkeit halber. Anweisungen müssen hierbei in Klammern eingefasst sein, damit korrekt damit umgegangen wird:

 

ID – Value basiertes Ergebnis einer PDO-Abfrage

Immer wieder brauche ich diese Art von Abfrage, um einen Wert mit der dazugehörigen ID aus einer DB abzufragen. Das geht ganz einfach:

„ID – Value basiertes Ergebnis einer PDO-Abfrage“ weiterlesen

Korrekt formatierte E-Mail mit php mail()

Sonderzeichen sind immer wieder ein Ärgernis, vor allem wenn unterschiedliche Systeme diese unterschiedlich darstellen. Viele Web-Mailer machen das intuitiv richtig, einige Mail-Programme leider nicht (u.a. MS-Outlook, AOL-Webmailer, etc.). Um dem entgegen zu wirken, hilft es immer, dem Empfängersystem zu sagen, welche Sprache gesprochen wird (sprich: welcher Zeichensatz wird verwendet)

„Korrekt formatierte E-Mail mit php mail()“ weiterlesen

Pushing und Stacking ohne Laravels Blade

Um das hier beschriebene Pushing und Stacking ohne die Blade Syntax umsetzen zu können, nutze ich in Magento folgenden Helper:

Im Template angewendet sieht das dann so aus. Dies kann beliebig oft wiederholt werden, die Einträge werden alle in der Session zwischengespeichert, um diese dann in der korrekten Reihenfolge am Ende des Dokuments wieder auszuliefern. Zu diesem Zeitpunkt sollten dann alle nötigen Bibliotheken bereits geladen sein.

In der zweiten Zeile steht JavaScript ohne <script> Tags? Diese werden erst beim Stacking im footer außenherum gewrappt:

 

Magento Inserttags / WYSIWYG Variablen und Funktionen

In Contao nennt man die unten gezeigten Elemente in geschweiften Klammern inserttags. In Magento konnte ich bisher keinen offiziellen Namen finden, daher übernehme ich diesen hier einfach mal.

Um die Inserttags in Richtext-Feldern parsen zu lassen, bei denen dies nicht per Standard vorgesehen ist (z.B. bei den Bestellbedingungen in älteren Installationen ohne GermanSetup), bedient man sich folgender Methode: „Magento Inserttags / WYSIWYG Variablen und Funktionen“ weiterlesen