/usr/portage

Dojo and the Zend Framework 4

The Zend Framework provides a neat function in its request object called isXmlHttpRequest(). The following is therefore possible:

public function someAction()
{
    if ($this->getRequest()->isXmlHttpRequest()) {
        // AJAX request specific parts
    }
}

Zend_Controller_Request_Http::isXmlHttpRequest() checks internally if the request header X-Requested-With is set to “XMLHttpRequest”. If this condition is fullfilled, the request is considered an XH request. However, Prototype, jQuery and YUI set this request in their XHR abstractions, Dojo does not. The following snippet helps to set this in Dojo:

dojo.xhrGet({
    url: <url>,
    load: <callback>,
    headers: {"X-Requested-With": "XMLHttpRequest"}
});

This stucks the X-Requested-With header into the XMLHttp-request and isXmlHttpRequest() will return bool(true).

What the others do

Interesting to see that Rails is a bit more generous in what it accepts as an XHR. As this header is a pseudo standard it would be worth doing it exactly the same way as Rails does it. Nothing is worse than a pseudo standard with slightly different implementations.

def xml_http_request?
  !(@env['HTTP_X_REQUESTED_WITH'] !~ /XMLHttpRequest/i)
end

The RequestHandlerComponent from CakePHP provides a method isAjax() in the stricter Zend Framework variant. Django, Pylons and TurboGears seem not to provide such helpers.

Filed on 08-02-2008, 18:06 under , , , , , , & four comments & no trackbacks

Gerd on Rails 0

Lars Strojny: Super, dass in einem offiziellen Rails-Howto der Autor praktisch sagt, er habe keine Ahnung von Patterns Gerd Riesselmann: Braucht man nicht. Werden Rails-Programme nicht so gemacht, dass du die DB entwirfst, dann ein Programm ausführst, das den Code generiert, und dann kommt der Designer und baut noch noch Logo und CSS?

Hatte ich schonmal erwähnt, dass einen der Hype immer dann am gewaltigstens stört, wenn man echt falsche Sachen lesen muss, wie dass ein Controller Business-Logic ist. Gehen Sie nicht über Los, gehen sie direkt zur GOF-Straße.

Filed on 02-11-2006, 13:01 under , & no comments & no trackbacks

Rails 1.1.0 1

Ich bin ja nun wirklich nicht so der Rails-Experte finde es aber trotzdem nicht nur cool (meistverwendetes Buzzword im RoR-Vortrag auf dem Webmontag gestern), sondern arbeite schlichtweg ab und an recht gerne mit diesem Framework. Mehr nicht. Einige der Dinge in Version 1.1 hören sich sehr praktisch an, so dass das integrierte Scaffolding nun endlich keine Injections mehr zulässt (nicht probiert, steht nur im Changelog), auch die Updates der JS-Bibliotheken scheinen mir sinnig und dass ich nun Unit-Tests auch direkt in den Source schreiben kann, erleichtert einiges. Auch wenn mir letzteres aus der Perspektive guten Software-Designs nur halb gefällt, ist es doch praktisch das für »ich mach ma flott was« schon in Ordnung. Für mehr taugt Rails wahrscheinlich eh nicht.
Version 1.1.0 gibt es jetzt alternativ zu 1.0 auf Schokokeks.

Filed on 28-03-2006, 20:08 under , , , , & one comment & no trackbacks

Migration allenthalben erledigt 0

Was Hanno und Stefan schon zu berichten wussten, gibt es nun auch hier zu lesen: Schokokeks.org ist umgezogen.


Continue reading "Migration allenthalben erledigt"

Filed on 28-03-2006, 11:11 under , , , , , , , , & no comments & no trackbacks

Diamantenjagd 7

Ruby on Rails LogoAußer dass ich endlich die PHP 5.1er Reihe PHP 5.1.2 inklusive hardened-Patch auf Schokokeks eingeführt habe, habe ich mir endlich mal Ruby noch ein bisschen genauer angesehen. Das ist schon eine furchtbar geniale Sprache.


Continue reading "Diamantenjagd"

Filed on 16-01-2006, 05:05 under , , , & seven comments & no trackbacks