Zur Zeit wird gefiltert nach: php
Filter zurücksetzen

15.11.2011
23:18

PhpStorm und Fluid

Rudimentäre Code-Completion für Fluid in PhpStorm

PhpStorm hat bei mir schon seit einigen Monaten Eclipse als PHP-IDE abgelöst und dass nich nur, weil der Hersteller Open Source Entwicklern kostenlose Lizenzen vergibt und ich eine für das YAG Projekt erhalten habe. Entwickeln mit dem Programm macht einfach Spass was vor allem an den vielen kleinen Dingen liegt, an denen man merkt dass die Macher wirklich mitgedacht haben.


Was leider noch fehlt, ist eine Integration der Fluid Syntax, sprich code-completion für die fluid ViewHelper. So komplettierte die IDE regelmässig "<f " mit "<fieldset" was selten nie in meinem Sinne ist.

Bis sich jemand die Mühe macht ein richtiges Schema zu schreiben könnte der folgender Trick einige Schmerzen lindern.

  1. In PhpStorm: File -> Settings wählen.
  2. Zum einfacheren auffinden "custom" in der Suchfeld oben tippen.
  3. "Inspections" wählen und dort HTML -> "Unknown HTML tag"
  4. In der Fusszeile findet sich eine Zeile mit custom tags.
  5. Diese werden nun um die folgenden Tags erweitert.
Suche nach "Custom" findet die "Inspection"-Einstellungen.
Unten aufgelistete Tags einfügen.
f:alias,f:cObject,f:count,f:cycle,f:debug,f:escape,f:flashMessages,f:for,f:groupedFor,f:image,f:layout,f:render,f:section,f:translate,
f:if,f:then,f:else,
f:form,f:form.checkbox,f:form.errors,f:form.hidden,f:form.password,f:form.radio,f:form.select,f:form.submit,f:form.textarea,f:form.textfield,f:form.upload,
f:format.crop,f:format.currency,f:format.date,f:format.html,f:format.nl2br,f:format.number,f:format.padding,f:format.printf,
f:link.action,f:link.email,f:link.external,f:link.page,
f:security.ifAuthenticated,f:security.ifHasRole,
f:uri.action,f:uri.email,f:uri.external,f:uri.image,f:uri.pageView,f:uri.resource
Tags der Fluid ViewHelper

Das wars schon, das nächste "<f " bringt eine Liste aller default ViewHelper zum Vorschein.

Daniel Lienert(daniel@lienert.cc)PermalinkKommentare 2
Tags: phpstorm, typo3, php
Views: 122

Zurück

23.04.2011
12:44

TYPO3, Extbase und Ajax

Extbase und Fluid scheinen sich mehr und mehr zum Standard in der TYPO3 Extension Entwicklung zu etablieren und das ist gut so, bieten sie doch – von ein paar kleineren Bugs abgesehen – eine solide Basis zur Entwicklung von modernen TYPO3 Erweiterungen.

Sauberer MVC-getriebener PHP-Code ist aber in vielen aktuellen Extensions nur noch die halbe Miete. Die Andere besteht aus einem dynamischen Frontend im Browser, welchem mit Hilfe von Javascript desktopähnliches Feeling beigebracht wird. Ein entscheidendes Bauteil für ein dynamisches Frontend sind asynchrone Serveraufrufe. Doch das nachladen kleiner Datenfetzen fällt mit Extbase noch nicht aus der Schachtel. Daher möchte ich zwei Möglichkeiten vorstellen, wie Extbase-AJAX-Aufrufe in Frontend und Backend realisiert werden können:

undefinedMöglichkeit 1 - Eigener Seitentyp für AJAX Aufrufe

Für AJAX-Calls wird ein eigener Seitentyp in Typoscript definiert, welcher nur die Ausgabe eines bestimmten Plugins zurückgibt.

  • Vorteil: Nur die schlanke Pagedefinition und das gewünschte Plugin wird ausgegeben.
  • Nachteile: Für jedes Plugin mus ein eigener Pagetype definiert werden. Funktioniert nur im Frontend.

undefinedMöglichkeit 2 - Extbase Dispatcher für eId / ajax.php

Mit EId im Frontend und ajax.php im Backend bietet TYPO3 dedizierte Möglichkeiten um Prozeduren ausserhalb von Templates und Content-Elementen auszuführen. Genau das wollen wir mit einem AJAX-Call auch tun.

  • Vorteile: eID / ajax.php bootstrappen nur einen Teil der TYPO3 Umgebung und sind daher leichtgewichtiger als ein Aufruf der index.php. Mit ajax.php ist das Verfahren auch im Backend möglich. Die Registrierung des Dispatchers muss für alle Extensions nur einmal erfolgen. Keine separate Typoscript Definition nötig.
  • Nachteil: PHP Klasse für den Dispatcher nötig.

[mehr]
Daniel Lienert(daniel@lienert.cc)PermalinkKommentare 17
Tags: typo3, extbase, php
Views: 1129

Zurück

12.03.2011
19:45

TYPO3 Caching Framework in eigener Extension verwenden

Um unsere TYPO3 Galerie YAG auch für hochfrequentiere Seiten einsetzbar zu machen, habe ich mir heute einige Gedanken zu Caching gemacht. Ich war schon drauf und dran eine eigene Lösung zu schreiben, da bin ich auf den Artikel Caching in extensions gestossen, welcher den Einbau des Caching-Frameworks von TYPO3 > 4.3 beschreibt.

Folgende Schritte zur Verwendung des Frameworks nötig (Beispiele aus pt_extlist):

  • Anlegen der Cache-Tabellen in der ext_tables.sql
  • Definieren des Caches in der ext_localconf.php
  • Registrieren des Caches für den "Cache löschen" button in der ext_tables.php
  • Instanziieren des Caches in der eigenen Extension
  • Verwenden des Caches

[mehr]
Daniel Lienert(daniel@lienert.cc)PermalinkKommentare 0
Tags: typo3, php
Views: 372

Zurück

21.04.2009
23:47

Linux updates ...

Wollte eben mal schnell noch die aktuellen ubuntu patches inklsuvie  PHP5.2.6-2ubuntu4.1 auf meinen Servern einspielen. Das upgrade lief problemlos – doch danach war der apache weg.
Und obwohl das Startskript brav

Starting web server apache2        OK


auswarf wurde der Server nicht gestartet – kein thread in der Prozesslist, keine einzige Fehlermeldung in der error.log.

Google wusste keinen Rat (der Grund warum ich das hier auch noch mal aufschreibe) – dabei ist die Lösung trivial:
Ich habe den eaccelerator für das cachen von PHP-Skripten im Einsatz und dieser will für jede PHP-Version neu kompiliert werden. Nach dem neukompilieren funktioniert alles wieder problemlos.

Fazit: Linux ist ja normalerweise eine wahre Log-Schleuder – aber manchmal könnte ein Eintrag mehr nicht schaden.

Zurück

24.02.2009
15:21

UML-Klassendiagramme aus PHP erstellen mit PHUML

Ich habe gerade ein wenig das OpenSource Tool Öffnet externen Link im aktuellen FensterphUML von Jakob Westhof getestet. phUML ist eine in PHP geschriebene Konsoleanwendung. Sie scannt ein Verzeichnis mit PHP-Sourcen rekursiv und spuckt mit Hilfe des Graphviz-Toolkits ein Klassendiagramm im PNG-Format aus.

Die Grafik zeigt die Metehoden der Klassen mit Typ und Parametern und ihre Vererbungshierarchie. Zwar wären die "Uses"-Beziehungen auch nett gewesen, aber um sich einen schnellen Überblick über eine Applikation zu verschaffen ist das ne richtig feine Sache.

Ich hab das gleich mal meine aktuelle Appliaktion losgelassen. Die Grafik der eigenen Klassen bringt es auf 3000px Kantenlänge - mit Fremdmaterial auf 22000px (8x8 Meter bei 72dpi) - das wäre doch mal ne nette Tapete :)

Daniel Lienert(daniel@lienert.cc)PermalinkKommentare 0
Tags: php, spielerei, linux, tools
Views: 518

Zurück

Design © by Daniel Lienert / 2009