Leser: 16
1 2
$title = $self->eav('title'); # Getter $self->eav('title', 'Neuer Titel'); # Setter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
D:\>.pl RPC
Remote CMD auf dem Host
--attribute, -a: Zeigt Attribut+Value einer Entity in Konfiguration
--base, -ba: Name der Datenbank für Option --sql
--binary, -bi: Erzeuge die Konfiguration als Binary
--cmd, -c: Freies Kommando im aktuellen Verzeichnis
--dump, -d: Dump Response Object
--entity, -e: Zeigt Attribute einer Entity in Konfiguration
--files, -f: Lokale Dateien für Upload
--head, -he: HEAD Request auf URL
--host, -ho: example.com
--request, -r: HTTP Request auf den angegebenen URL oder auf alle URLs
--sql, -s: SQL Anweisung String oder Datei, erfordert --base
--urls, -u: Listet URLs in Konfiguration
1
2
3
4
5
6
7
[REQUEST_TIME] => 1462266830
[argv] => Array
(
[0] => C:\Dokumente und Einstellungen\rolf\Desktop\pack.php
)
[argc] => 1
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
# hier werden die jeweiligen Layer geladen sub _parse_rawdata{ my $self = shift; if( $self->{CONTENT_TYPE} eq 'multipart/c-eav' ){ require cEAV; $self->{eav} = cEAV->decode_eav( $self->rawdata ); $self->{param} = $self->{eav}->{param}; } elsif( $self->{CONTENT_TYPE} eq 'multipart/eav' ){ # coming soon } elsif( $self->{CONTENT_TYPE} eq 'multipart/form-data' ){ require ParseMultipart; $self->{STDIN}->seek(0,0); $self->{param} = ParseMultipart->parse_multipart( $self->{STDIN} ); } elsif( $self->{CONTENT_TYPE} eq 'application/json' ){ require JSON; my $json = JSON->new; $self->{json} = $json->decode($self->rawdata); $self->{param} = $self->{json}{param}; } elsif( $self->{CONTENT_TYPE} eq 'bserialize/av' ){ require bSerialize; my $bs = bSerialize->new; my $binary = $self->rawdata; $self->{param} = $bs->bin2av( \$binary ); } else{ # Default Enctype # Parameter: Name => [Value], application/x-www-form-urlencoded $self->{param} = $self->qparse($self->rawdata); } }
Guest janus... die auch nicht so neu ist. Das nennt sich Content-Negotiation und ist z.B. hier beschrieben: http://www.programmableweb.com/news/rest-api-desig...Und jetzt mal was Anderes: An meiner Idee für einem universellen Parser, der um beliebige Content-Types (im Client als Enctype bezeichnet) erweiterbar ist, habe ich lange gearbeitet, nicht zuletzt auch wegen meiner Erkrankung hat das viel Zeit gebraucht. Umsetzen kann das jeder halbwegs begabte Programmierer, genauso wie meine Frameworks: Entscheidend ist nicht das bischen Code sondern immer die Idee.
Guest janussag ich jaEs ist unerheblich wie Daten serialisiert werden
Guest janusHier widersprichst Du Dir in einem Satz...und dass XML oder JSON plattformunabhängig sind ist deswegen auch eine unsinnige Behauptung, eben weil sich jeder beliebige Serialize-Algorithmus mit jeder beliebigen Programmiersprache auf jeder beliebigen Plattform umsetzen lässt.
Guest janusWas mir immer noch nicht klar ist: Warum sind XML, JSON etc. grottig?PL bzw. Plattformübergreifend heißt für mich , dass Daten den Hauptspeicher verlassen müssen. XML, SOAP, JSON, multipart/form-data und all der andere Schrott ungezählt grottiger Content-Types fällt mir dazu ein.
Guest janusWarum sollte ich "mit reinen Binaries" etwas umsetzen? Das hast Du in den vergangenen Posts noch nicht erklärt - Du hast immer nur davon gesprochen, dass Dein Framework eben auch JSON, XML, ... behandeln kann.Selbst der Fakt, das mittlerweile (seit Jahren!) JavaScript mit reinen Binaries umgehen kann, scheint vielen Entwicklern glatt am Arsch vorbeizugehen. Oder hab ich da was verpasst kurz bevor ich in Rente ging!?