Kategorien
Development

Neue Artikel-Serie: Laravel Kurztipps

Wie regelmäßige Leser sicher schon mitbekommen habe beschäftige ich mich relativ viel in letzter Zeit mit dem PHP Framework Laravel.

Einige Artikel dazu sind ja bereits erschienen:

In letzter Zeit habe ich viele kleine Kniffe mit dem Framework gelernt und auch manche Klasse geschrieben, die vielleicht noch anderen nützlich sein kann. Diese kleinen Code-Snippets sind eigentlich zu kurz um richtige „Artikel“ zu rechtfertigen, daher werde ich sie in eine kleine „Serie“ als „Kurztipps“ benannt veröffentlichen.

Einige Kurztipps, die schon in Vorbereitung sind:

Ebenfalls werde ich vielleicht ein paar Tutorials veröffentlichen, u.a. zu:

  • Arbeiten mit Haupttemplates, Sub-Templates, Partiale & Co
  • Environments
  • Mehrsprachigkeit
  • und vieles mehr..

Ich hoffe, dass damit manchem Laravel-Neuling der Weg über die Brücke (ich weiß, sie ist nicht besonders gelungen.. es musste schnell gehen) erleichtert wird. Über Kommentare, Fragen, Anregungen für Artikel bin ich sehr dankbar.

Keine Sorge: Es werden weiterhin auch Artikel über Mac-Apps, Design und LiveSound nicht fehlen.

Kategorien
Development

PHP: Under_Score-Namen erzeugen (u.a. mit Laravel 4)

Für ein aktuelles Projekt musste ich in Laravel 4 einen sogenannten Under_Score-Dateinamen erzeugen.

Underscore vs. CamelCase

Es gibt im wesentlichen zwei Arten wie man Dateinamen erzeugen kann:

  • CamelCase = DasIstEinTestName
  • Underscore = Das_Ist_Ein_Test_Name

Es gibt tatsächlich einige Diskussionen was nun besser ist, aber das sei hier mal egal. Für mein Projekt benötigte ich auf jeden Fall explizit einen Underscore-Dateinamen.

Laravel 4 Bordmittel

Laravel 4 (ein PHP-Framework das ich verwende) bietet eine kleine Hilfsfunktion namens camel_case welche Zeichenketten in camelCase convertiert. Will man nun aber einen underscore-Namen bedarf es einer eigenen Umsetzung.

Class Helpers/UnderScoreName

Ich habe mir eine kleine Helfer-Klasse für diese Funktionalität geschrieben und werde diese nun kurz vorstellen. Die Klasse ist nicht Laravel-Spezifisch und kann mit vermutlich jedem PHP-Framework verwendet werden. Einige der verwendeten Syntax-Elemente (zB. [] als Kurzschreibweise für Arrays) sind allerdings nur in neueren PHP 5-Versionen verfügbar, könnten aber leicht ersetzt werden.

Für alle die den Artikel überspringen wollen: Die fertige Klasse findet ihr hier auf GitHub.

Kategorien
Development

Laravel 4: Datum und Zeit mit Carbon lokalisieren (Update: Zeichensatz angeben)

Meine Vorliebe für das PHP-Framework Laravel habe ich ja schon in dem ein oder anderen Artikel zum Ausdruck gebracht.

In einem aktuellen Projekt musste ich wie so oft eine Menge an Datensätzen auflisten. Diese enthielten auch Datumsangaben die ich aber nicht auf englisch, sondern auf deutsch wollte.

Wie nun das umsetzen?

Nach einigem Suchen habe ich einen Weg gefunden dieses Problem auf sehr leichte und schöne Art und Weise mit Laravel-eigenen Mitteln zu lösen, sogar ohne den bisherigen Code zu beeinflussen.

Kategorien
Development

Laravel 4: Pagination mit Bootstrap 3

Bei einem meiner aktuellen Projekte muss ich sehr viele Daten auflisten. Für die Übersichtlichkeit und vor allem Ladezeit von Seiten empfiehlt es sich derart große Tabellen auf verschiedene Seiten zu verteilen: Pagination.

Über das PHP-Framework Laravel habe ich schon früher auf diesem Blog berichtet. Das Framework bietet auch zum Thema Pagination einige interessante Funktionen die ich hier kurz erklären will. Außerdem zeigt der Artikel, wie man die Pagination-Links für Bootstrap3 konform ausgeben kann.

Kategorien
Development

Laravel: Emails mit 8bit Content-Transfer-Encoding senden

Seit einigen Monaten verwende ich für ein paar PHP-Projekte das PHP-Framework Laravel.

Ich möchte hier nicht all zu viel zu diesem Framwork loswerden, außer dass es mir bisher sehr gefällt, es klar strukturiert und gut dokumentiert ist, und bisher das beste PHP Framework ist mit dem ich gearbeitet habe, auch wenn ich mit CakePHP auch ganz gut klargekommen bin.

Heute hat mich ein Kunde wegen eines Problems kontaktiert. Seine Kunden erhalten etwas kryptische Mails mit ganz vielen =09 usw. Ich habe ein wenig gebraucht bis ich hinter die Lösung gekommen bin. Es ist nicht, wie man im ersten Moment annehmen könnte das übliche UTF-8-Problem sondern hat mit dem Content-Transfer-Encoding und dem MIME-Standard zu tun.