Archive for the ‘Zend Framework’ Category

Pingen mit Zend_XmlRpc_Client

Mittwoch, September 8th, 2010

Wer Wordpress nutzt, kennt die Option Update Services. Dort werden URLs der Ping Dienste eingetragen um sie bei einem neuen Eintrag zu informieren. Ping wird benutzt um der Welt zu erzählen, dass man was neues auf der Seite hat. Das wollte ich in auch meinem CMS haben und schon kam die erste Schwierigkeit wie mache ich das, was ist genau Ping und wie funktioniert er. Gefunden hab ich viel über die XML Rpc Technologie, doch wie man sie für den Ping einsetzt und was man genau braucht, da hab ich nichts gefunden und wenn ich in 15 Minuten bei Google nichts finde bleibt mir nur eine Option übrig: Wordpress Quellcode aufmachen und das Tier suchen. Nach kurzer Zeit hab ich auch die Technik raus gefunden und sie mit Zend Framework umgesetzt.

Was brauch man? Natürlich den Zend_XmlRpc_Client und ein wichtiges Parameter weblogUpdates.ping Man instantiiert einen XmlRpc Client und lässt ihn mit den Parametern spazieren gehen.
Hier ein Beispiel:

1
2
3
$client = new Zend_XmlRpc_Client('http://blogsearch.google.de/ping/RPC2');
 
$client->call('weblogUpdates.ping', array('Alexander Zerr Blog Title', 'http://www.xelaz.de'));

Und schon hat man Google mitgeteil das er vorbei kommen soll um die neuen Inhalte zu indexieren.
Wie man mehrere Pings nutzt gebe ich einen Ansatz um es in eigener Seiten schnell einzubauen und los Pingen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$result = array();
$error = array();
 
$pingList = array(
 'http://rpc.pingomatic.com/',
 'http://ping.wordblog.de/',
 'http://blogsearch.google.de/ping/RPC2',
 'http://xmlrpc.bloggernetz.de/RPC2',
 'http://ping.blogg.de',
 'http://xmlrpc.blogg.de',
 'http://rpc.bloggerei.de/ping/'
);
 
$title = 'Titel meiner Seite';
$link = 'http://www.urlmeinerseite.de';
 
foreach($pingList as $l) {
 $client = new Zend_XmlRpc_Client($l);
 try {
  $result[] = array('ping' => $l, 'result' => $client->call('weblogUpdates.ping', array($title, $link)));
 }
 catch(Zend_Exception $e) {
  $error[] = array('ping'=> $l, 'error'=> 'Unable to Connect','message'=>$e->getMessage());
 }
 catch (Zend_XmlRpc_Client_HttpException $e) {
  $error[] = array('ping'=> $l,'error'=>$e->getCode(),'message'=>$e->getMessage());
 }
}
echo 'Ergebnis:';
var_dump($result);
echo '<br>-------------<br><br>';
echo 'Fehler:';
var_dump($error);
echo '-------------';

Dieser Schnippsel reich um seinen Eigenen Ping zu entwickeln.
Ich hab natürlich nur eine kleine Liste der Dienste die für den Deutschen Markt brauchbar ist und dir mir komplett reichen. Im Netz kann man lange Listen der Ping Dienste finden die auch mehr für den Englischen Markt zu gebrauchen sind.



Zend Framework: All you can Eat

Sonntag, Januar 3rd, 2010

Das ZF ist eine geniales Framework mit sehr guten Modulen und Plugins, doch das Paket wird etwa maximal bei mir zu 30% genutzt, der Rest liegt einfach da und verbraucht sein Platz. Manchmal möchte man aber nur ein Modul nutzen wie Filter, Feed oder Capcha und dabei muss man das Komplette Framework runter laden. Das muss nicht sein, den es gibt eine Lösung im Netz, die dieses Problem gut löst.

Man kann direkt einzelne Pakete auswählen und die zugehörigen Skripte werden automatisch mit eingepackt. Somit kann man sich nur auf das Nötige konzentrieren und sein Zend Framework klein halten. Ich lade aber mir immer das gesamte ZF Paket runter ohne mir den Stress zu machen nur die Komponenten auszusuchen die ich brauche.

Zend Framework Packer



Zend Framework Blog

Mittwoch, Juni 4th, 2008

Vor ein paar Tagen bin ich in ein Team eingestiegen, welches über Zend Framework bloggt.
Die Seite www.zf-blog.de hat mir schon von ersten mal gefallen. Aber das ich dort bloggen werde kam mir nie in den Kopf.
Ab jetzt aber werde ich auch dort meine Erfahrungen mit anderen Zend Framework Entwicklern bloggen, also es wird sich lohnen dort mal ab und zu vorbeizuschauen. Den die Themen werden rund um das Zend Framework sein. Viel Spaß beim reinschauen.



Global View Helper

Mittwoch, Mai 7th, 2008

Zend Framework ist so Aufgebaut, dass man alles Global anlegen kann oder das ZF für alle Projekte gemeinsam nutzt. So kann man auch eigenes ZF Komponente Global anlegen.
Ich zeige wie man eigen View Helper anlegt, den man in allen Projekten nutzen kann und noch der dazu getrennt von ZF ist.
Ich mache ein kleinen Helper der mir den cheked Attribut in die Inputs schreibt.
Die Voraussetzung dafür ist, dass man ZF und eigene Global Library in einem Verzeichnis legt welcher auch im include_path angehängt ist.

Dann legt man seine Globale Komponenten an:

library/
  Global/
    View/
      Helper/
        CheckedInput.php
  Zend/

Die Klasse sieht so aus:

<?php

class Global_View_Helper_CheckedInput
{

	public function checkedInput($val, $eq)
	{
		echo $val == (string) $eq ? ' checked="checked"' : '';
	}

}

In der Bootstrap Datei wird der Pfad an die View übergeben:

$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer(new Zend_View());
$viewRenderer->view->addHelperPath('Global/View/Helper', 'Global_View_Helper');
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);

Jetzt kann man den Helper in allen Views der Projekte benutzen:

<input type="radio" name="test" value="a" <?php $this->checkedInput('a','b') ?>>


Zend Framework Video Tutorials

Donnerstag, April 24th, 2008

Heute hab ich eine Seite mit Videos gefunden, die den Anfängern das Zend Framework mit einfachen Schritten heranführen. Es ist wirklich sehr einfach mit dem MVC des Zend Frameworks Dynamische Seiten zu erstellen. Diese Tutorials sind in Englisch gehalten, aber zeigen einen guten Einblick in die ersten Schritte des ZF.

Hier geht es zu den Zend Framework Video Tutorials