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”
Continue reading “PHP und Sqlite Transaktionen”

Symfony-Plugin: ein FormWidget mit eigenen Ajax Actions

Wenn man versucht mit Symfony/Doctrine/Generator Bordmitteln “related” Objekte in Formularen darzustellen, wird das schnell schwierig bei etwas mehr Daten.
“Ein Projekt wird mehreren Mitarbeitern zugewiesen. Es gibt aber 500.000 Mitarbeiter.”
Schon rendert sich das generierte multi-select im Projekt-Formular den sprichwörtlichen Wolf.
Hier braucht man eigentlich schon was mit Ajax/Pagination.

Hier ein Entwurf für ein FormWidget, Plugin das seine eigenen Ajax Actions haben soll. Continue reading “Symfony-Plugin: ein FormWidget mit eigenen Ajax Actions”

symfony 1.2.9 auf 1.4 upgraden

Den upgrade haben die Entwickler von symfony schon gut durchdacht und sollte dank der guten Anleitung auch ohne Probleme klappen.
Vorneweg: symfony 1.3 und 1.4 haben den selben Funktionsumfang und unterscheiden sich i.G. nur dadurch, dass 1.3 ein Abwärtskompatibilätslayer hat.
Daher sollte man erst auf 1.3 upgraden und -wenn man mutig ist- dann auf 1.4.
Ein paar Fallstricke gabs dennoch, daher hier mal mein Erfahrungsbericht: Continue reading “symfony 1.2.9 auf 1.4 upgraden”

Symfony: Doctrine Validation abschalten

Doctrine bringt ab Werk ein paar sehr mächtige Attribut-Validatoren auf Anwendungsebene mit, die aber im Symfony-Kontext nur für zusätzlichen Overhead sorgen und gleichzeitig nicht ganz so fein granuliert sind wie bspw. ein entsprechender sfValidator. Wie man Doctrine auf Projektebene konfigurieren und bspw. das Validation-Feature abschalten kann, zeigt das folgende Listing.

Continue reading “Symfony: Doctrine Validation abschalten”

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. Continue reading “sunrise, sunset, sunrise, sunset, sunrise, sunset”