Lightweight-PHP-Validator: Neue Version

Neue Features:
– Unterstützung von Fehlermeldungen
– Mehrsprachigkeit (deutsch / englisch) über Annotations
– Manuelles Festlegen einer Validierungsklasse

Definition der Fehlermeldungen über Annotations:
In der Validierungsklasse „ValidatorRules“ können die Fehlermeldungen in beliebig vielen Sprachen mit Hilfe von Annotations hinterlegt werden.

/**
 * @ErrorMessage[lang=de] Bitte geben Sie eine Zahl an, die kleiner ist als %.2f.
 * @ErrorMessage[lang=en] Please enter a number less than %.2f.
 */

public function check_less_than($mValue, $aParams)
{
    return (number_format($mValue, 15) < $aParams[0]);
}

Sprache festlegen:
Die Sprache in der die Fehlermeldungen zurückgegeben werden sollen, lässt sich im Validator ganz einfach über die Funktion „setLanguage“ festlegen.

$oValidator = new Validator();
$oValidator->setLanguage('de'); //Deutsch

Validieren und Fehlermeldung auslesen:
Die jeweilige Fehlermeldung kann direkt nach der Validierung über die Funktion „getLastErrorMessage“ ermittelt werden.

$oValidator->setLanguage('de');
$oValidator->isValid("15", 'less_than[10.90]'); //false
echo $oValidator->getLastErrorMessage();
//Bitte geben Sie eine Zahl an, die kleiner ist als 10.90.

//Nochmal auf Englisch
$oValidator->setLanguage('en');
$oValidator->isValid("15", 'less_than[10.90]'); //false
echo $oValidator->getLastErrorMessage();
//Please enter a number less than 10.90.

Lightweight-PHP-Validator: Neue Version weiterlesen

Anzahl der Tweets einer URL mit PHP auslesen

Die API von Twitter bietet die Möglichkeit, die Anzahl der Tweets einer URL auszulesen. Hierzu reicht es die folgende Adresse (http://urls.api.twitter.com/1/urls/count.json?url=http://meineurl) mit entsprechendem GET-Parameter (url) aufzurufen. Als Antwort erhält man ein JSON-Array mit der Tweetzahl.
Mit PHP kann das Ganze wie folgt aussehen:

Code:

function getTweetCount($sURL)
{
    $sJSON = file_get_contents("http://urls.api.twitter.com/1/urls/count.json?url=".urlencode($sURL));
    $aResult = json_decode($sJSON, true);
    return $aResult['count'];
}

Anzahl der Tweets einer URL mit PHP auslesen weiterlesen

Verzeichnis rekursiv mit PHP auslesen

Diese Methode durchläuft mit Hilfe des DirectoryIterators rekursiv das angegebene Verzeichnis und gibt die Struktur in Form eines Arrays zurück.

Code:

function iterateDir($sPath)
{
    $aRes = array();
    foreach(new DirectoryIterator($sPath) as $oItem)
    {
        if($oItem->isDir())
        {
            (!$oItem->isDot() ? $aRes[$oItem->getFilename()] = iterateDir($oItem->getPathname()):0);
            continue;
        }
        $aRes[] = $oItem->getFilename();
    } return $aRes;
}

Verzeichnis rekursiv mit PHP auslesen weiterlesen

Gravatar mit PHP auslesen

Bei Gravatar handelt es sich um einen Dienst, der E-Mail-Adressen mit einem Foto verknüpft. Diese Avatare können dann an einer beliebigen Stelle eingebunden werden. Wie man seinen Gravatar mit PHP auslesen kann, zeigt dieser Code:

function getGravatar($sEmail)
{
    return "<img alt="Gravatar" src="http://www.gravatar.com/avatar/".md5(trim(strtolower($sEmail)))."" />";
}

//Gravatar anzeigen
echo getGravatar("test@sklueh.de");

Cross-Domain Requests (XDR) mit JavaScript / jQuery

Folgende Problematik: Möchte man bestimmte Informationen einer fremden Webseite mit JavaScript auslesen, dann ist man gezwungen Workarrounds anzuwenden. Eine Möglichkeit ist, ein kleines PHP-Skript als Proxy einzusetzen, um an die gewünschten Daten zu kommen.
Cross-Domain Requests (XDR) mit JavaScript / jQuery weiterlesen