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
21.09.2011
20:26

Der Schussel-Test

Nachts um drei oder Freitag um 5 sind Zeiten an denen man es bereuen könnte mal schnell noch einen bugfix oder ein neues Feature in seine TYPO3 Extension eingecheckt zu haben.

Möglich nämlich, dass man in der debug-Wut doch noch irgendwo eine Testausgabe vergessen hat. Gerade mal wieder erlebt und gleich mal einen Unit-Test dazu geschrieben, der wohl nun zum Standard bei meinen Extensions gehören wird :)

Der Test durchsucht die angegebene Extension nach den angegebenen Debug Befehlen und schlägt bei Funden Alarm.

<?php
/**
 * Testcase to find debug code in the extension
 * 
 * @author Daniel Lienert 
 * @package Tests
 */
class Tx_Yag_Tests_DebugCodeTest extends Tx_Extbase_Tests_Unit_BaseTestCase {

	/**
	 * @var string Put the extension name here
	 */
	protected $extensionName = 'yag';


	/**
	 * @return array
	 */
	public function debugStringDataProvider() {
		return array(
			'Search for print_r in code!' => array('debugCommand' => 'print_r'),
			'Search for var_dump in code!' => array('debugCommand' => 'var_dump'),
		);
	}

	/**
	 * @test
	 * @dataProvider debugStringDataProvider
	 * 
	 * @var $debugCommand
	 */
	public function checkForForgottenDebugCode($debugCommand) {
		$searchPath = t3lib_extMgm::extPath($this->extensionName);

		$result = `fgrep -i -r "$debugCommand" "$searchPath" | grep ".php"`;
		$lines = explode("\n", trim($result));

		foreach($lines as $line) {
			if(!stristr($line, __FILE__)) {
				$this->fail('Found ' . $debugCommand . ': ' . $line);
			}
		}
	}
}
?>
Daniel Lienert(daniel@lienert.cc)PermalinkKommentare 0
Tags: unittests
Views: 113
28.05.2009
20:24

Gallery2 Flash Video Player gegen Alternative tauschen

Ich wollte für Öffnet externen Link in neuem Fensterrapha-in-ruanda.de heute mal eben schnell testen, ob sich Videos aus der Gallery 2 einfach in wordpress einbinden lassen.

Über W2PG (Wordpress plugin zur integration von Gallery2) kann man Videos auch wie Bilder einfach in Artikel einbinden. Anstatt eines Videos tauchte aber nur ein Hinweis auf fehlendes Javascript auf.

Gute Gelegenheit, den in G2 integrierten Flash-Video-Player gegen eine Alternative zu tauschen, da dieser etwas globig wirkt und auch keine Video in Fullscreen zeigt.

Ich habe mich für den Öffnet externen Link in neuem FensterJW FLV Media Player entschieden. Um diesen nun zu aktivieren, muss in der Datei: gallery2/modules/flashvideo/classes/FlashVideoRenderer.class der Codeblock:

  1.   $playerUrl = $urlGenerator->generateUrl(
  2.     array('href' => 'modules/flashvideo/lib/G2flv.swf'),
  3.     array('forceFullUrl' => true));
  4.   $flashVars = 'flvUrl=' . urlencode($src) . '&Width=' . $width . '&Height=' . $height
  5.        . '&title=' . urlencode($title);

durch

  1. $playerUrl = $urlGenerator->generateUrl(
  2. array('href' => 'modules/flashvideo/lib/player.swf'),
  3. array('forceFullUrl' => true));
  4. $flashVars = sprintf('type=video&file=%s&plugins=viral-1',
  5. urlencode($src));  

getauscht werden.

Damit der Player nun aber auch wiklich in einem Post angezeigt wird, ist noch die <![CDATA[ Klammer am Ende der FlashVideoRenderer.class zu entfernen.

Daniel Lienert(daniel@lienert.cc)PermalinkKommentare 0
Tags: flashplayer, gallery
Views: 413
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.

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
Design © by Daniel Lienert / 2009