RSS Feed
^__^

PHP und Sqlite Transaktionen

,

Ich bin ja Fan von sqlite, besonders für kleinere Projekte, wo kein hohes paralelles Schreiben zu erwarten ist, also für fast alle kleineren Seiten.
Keine Datenbank Administration, einfach loslegen und schnell ist es auch noch.

Ein paar Krücken gibts aber schon, zB bei Transaktionen (die MySql im Regelfall gar nicht kann ;)).
Ich benutze die in diesem Fall für multiple Inserts, um da Performance rauszuschlagen.

Über diese bin ich letztens noch gestolpert:

1. Es ist keine gute Idee Transaktionen zu stückeln und sequentiell abzuarbeiten.(warum auch immer man auf diese Idee kommt ;))
besser ist: alle Queries zu buffern und dann in einer Transaktion auszuführen.
Denn Transaktionen locken die DB und nach meiner Erfahrung kann das PHP SQLiteDatabase Object den Datenbank Cursor nicht richtig schließen.
Das führt dann zu sowas: “cannot start a transaction within a transaction”
» read more

The only valid measurement of code quality: WTFs/minute

,

oder: Doctrine 2 wird wohl ziemlich gut.

Hier gibt es ein paar Notizen von Jonathan Wage’s Präsentation dazu!

» read more

Run Symfony Tasks from Controller

,

Symfony Tasks (zB “symfony cc”) aus dem Controller oder Model aufrufen kann man folgendermaßen: » read more

Eclipse Galieo mit Aptana und PDT

,

Aptana hatte sich ja in den letzten Versionen am PHP Support versucht.
Was mir als großem Fan von PDT garnicht so gut gepasst hat.
Damit war nämlich die Variante Aptana (als Eclipse Plugin) mit PDT zu kombinieren eher schwierig, soweit ich mich erinnern kann. » read more

Nützliche Eclipse PDT Templates zum Debuggen

,

Als kleines vorweihnachtliches Geschenk hier meine meistgebrauchten Eclipse PDT shortcuts, die leider nicht Bestandteil von PDT sind.

type:
du -> Strg Space und schon
gibts das gute alte:

echo '<pre>';
print_r($var);
echo '</pre>';

» read more

Etwas untergegangen: Propel 1.4 is raus

,

Symfony und multiple inserts

,

Manchmal sollte man multiple Inserts machen, ist doch performanter als in jedem Schleifendurchlauf die Database Engine zu bemühen.

Falls man sich mal fragt wie man multiple Inserts mit symfony hinkriegt, fängt man an zu googlen und stößt schnell auf dieses Snippet.

Und bevor man da rumeiert und das auf zB Sqlite umschreibt, einfach mal Propel Transaktionen anschauen:

» read more

Sunrise, sunset, sunrise, sunset, sunrise, sunset

,

Ist doch schön wenn einen die Lieblings Programmiersprache nach all den Jahren noch überraschen kann.

…nein, die Rede ist nicht von JS.

Dass PHP Sonnenauf- bzw. untergangszeiten ausgeben kann wusste ich bisher nicht.

date_sunrise und date_sunset heissen die beiden Funktionen.


/* calculate the sunset time for Lisbon, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', sunset time : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

coole Sache, wie ich finde. » read more

Symfony 1.2. Admin Generator mit Datepicker

,

Eigentlich hatte ich gedacht, dass das irgendwie einfacher gehen würde, aber hat mich dann doch einiges an Recherche gekostet.

Nachdem ich irgendwann mal das “My First Project” durchgespielt hatte, war ich der Auffasung, dass der Datepicker immer benutzt wird beim Admin Generator. Doch nachdem ich dann mal eine andere Anleitung benutzt hatte mußte ich feststellen: Das ist nicht immer so!

Den Unterschied macht, wie man den Admin Generator aufruft:

php symfony propel:init-admin backend post BlogPost

ist symfony 1.0 und macht den DatePicker

php symfony propel:generate-admin backend BlogComment --module=comment

ist symfony 1.2 und generiert stattdessen ein häßliches pulldown.

Um nun für 1.2. doch einen DatePicker zu bekommen nützt es auch nix irgendwas in der generator.yml anzugeben. Das wird alles ignoriert.

» read more

Ein Projekt mit Zend Framework anlegen via USVN und Subclipse

,

Mal wieder ein neues Projekt anlegen, wird Zeit, dass das mal automatisch geht.

Diesmal aber noch manuell und zwar so:

USVN benutzen wir um bequem unsere Repos zu verwalten, hat sich bisher bewährt im manuellen Betrieb.

Für den automatisierten Betrieb kann ich es allerdings nicht empfehlen.

Der Text hier gilt für USVN Version 0.7.2, es gibts übrigens eine neuere Version 1.0.1, da kann ich allerdings noch nicht viel zu sagen.

benutzen wir um bequem unsere Repos zu verwalten, hat sich bisher bewährt im manuellen Betrieb.
Für den automatisierten Betrieb kann ich es allerdings nicht empfehlen

Also ein svn Projekt anlegen: » read more