Moin,
Eine krass andere Lösung sähe z.B. so aus: Deine DALs benutzen gar kein Lock. Wenn ein Prozess locken muss, wird in der Anwendungsklasse einfach ein
$this->LOCK = 1;
gesetzt. PHP Magic Methods laden, wie von Geisterhand bewegt, eine Klasse 'LOCK' als Attribut in die eigene Instanz. In Class 'LOCK' wird auf eine Ressource mit einem konstanten Pfadnamen das LOCK_EX gesetzt und erst wieder aufgehoben, wenn die Instanz Deiner Klasse stirbt :D
Klingt ja ganz cool, aber löst wieder das Problem nicht :P Denn auch hier können 2 Verschiedene Programm-Instanzen die Datei einlesen, bevor eine von beiden mit LOCK_EX sperrt.
Gruß,
Take