Archive für die Kategorie ‘Tipps & Tricks’

PHP: Getter und Setter mit PDT generieren

Veröffentlicht am 5. Februar 2010 um 12:40 von Fabian Martin Permalink

Eine Möglichkeit, automatisch Getter und Setter mit PDT zu generieren, habe ich noch nicht gefunden. Mit dem unten genannten Code, könnt Ihr das Erstellen von Gettern und Settern mit PDT aber beschleunigen.

Erstellt hierzu ein neues Code Template (Window -> Preferences -> PHP -> Editor -> Templates) und gebt ihm den Namen ‘get’. In das Feld Pattern, fügt ihr den unten gezeigten Code ein.

Um nun Getter und Setter zu generieren, müsst ihr nur noch ‘get’ in euren Editor tippen und die Tastenkombination STRG+Leertaste drücken. Der Code sollte erscheinen und der Cursor in der ersten Variable blinken. Mit Tab könnt ihr zwischen den Werten springen.

/**
* Legt ${field} fest
*
* @param ${type} ${dollar}${field}
* @return void
*/
public function set${funcName}(${dollar}${field})
{
	${dollar}this->${field} = ${dollar}${field};
}

/**
* Gibt ${field} zurück
*
* @return ${type}
*/
public function get${funcName}()
{
	return ${dollar}this->${field};
}

Das ganze geht natürlich auch mit statischen Werten:

/**
* Legt ${field} fest
*
* @param ${type} ${dollar}${field}
* @return void
*/
public static function set${funcName}(${dollar}${field})
{
	self::${dollar}${field} = ${dollar}${field};
}

/**
* Gibt ${field} zurück
*
* @return ${type}
*/
public static function get${funcName}()
{
	return self::${dollar}${field};
}

jQuery: Prüfen ob ein Objekt versteckt ist

Veröffentlicht am 27. Januar 2010 um 00:23 von Fabian Martin Permalink
if($("#myDivID").is(":hidden"))
{
    // Element ist versteckt
}

ASP.NET: Mails über SMTP mit SMTP Auth versenden

Veröffentlicht am 26. Januar 2010 um 08:28 von Fabian Martin Permalink

Mit dem folgenden Code Schnipsel lassen sich E-Mails über einen SMTP Server versenden, der eine Anmeldung mittels SMTP Auth erwartet.

MailMessage Message = new MailMessage();

// Benutzername u. Passwort
NetworkCredential UserNamePass = new NetworkCredential("username@example.org", "password");

// SMTP Client erstellen
SmtpClient Client = new SmtpClient()
{
	DeliveryMethod = SmtpDeliveryMethod.Network,
	Host = "mail.example.org",
	UseDefaultCredentials = false,
	Credentials = UserNamePass
};

// Mail versenden
Client.Send(Message);

Das MailMessage Objekt muss natürlich noch mit den wichtigsten Daten (Empfänger, Betreff, Nachricht etc.) gefüllt werden.

Lighttpd 1.4: HTTP 417 Expectation Failed

Veröffentlicht am 13. Januar 2010 um 15:22 von Fabian Martin Permalink

Versucht man mit einer cURL oder .NET Anwendung POST Daten an einen Lighttpd 1.4 Server zu senden, bekommt man die Meldung


HTTP/1.1 417 Expectation Failed

Dies liegt daran, das die Programme einen Expect: 100-continue Header senden, und als Antwort 100 (Continue) oder 417 Expectation Failed erwarten. Lighty kennt den Header jedoch nicht, und antwortet deswegen mit dem besagten 417 Expectation Failed.

Der Expect: 100-continue Header soll verhindern, das Daten an den Server gesendet werden, die nicht benötigt werden. Erkennt der Server z.B. das er die Anfrage ablehnen muss, kann er dies dem Client mitteilen, noch bevor die POST Daten übermittelt wurden.

Wer dennoch POST Daten an Lighty senden möchte, kann die folgenden Paramter anpassen:

.NET


System.Net.ServicePointManager.Expect100Continue = false;

cURL unter PHP

curl_setopt($objCurl, CURLOPT_HTTPHEADER, array('Expect: '));

cURL auf der Kommandozeile

curl -v -H "Expect: " -F "field=value" http://example.com/upload.php

Alternativ aktualisiert man auf Lighttpd 1.5. Dieser kennt den Expect: 100-continue Header und beantwortet entsprechende Anfragen korrekt.

Browser senden übrigens keinen Expect: 100-continue Header.

Windows 7: God Mode

Veröffentlicht am 5. Januar 2010 um 20:50 von Fabian Martin Permalink

In Windows 7 ist eine hübsche Übersicht über viele Einstellmöglichkeiten versteckt.

Um diese zu betreten, erstellt einfach einen neuen Ordner und vergebt den folgenden Namen:
(GodMode könnt ihr durch einen beliebigen Text ersetzen, der Rest muss so bleiben)

GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}

Das Symbol sollte sich nun ändern, und nach einem Doppelklick darauf, öffnet sich die versprochene Übersicht.