Skip to content

Propel: lazyLoad

by zergu on Styczeń 31st, 2009 Blip Facebook Flaker Twitter Wykop

Użycie LazyLoadingu w Propelu jest bardzo proste, jednak słabo udokumentowane. Polega ono na dodaniu lazyLoad: true w schemacie bazy danych (dla wybranych kolumn). Przykładowy fragment schematu:

  images:
    _attributes: { phpName: Image }
    id: { type: serial }
    data_large: { type: blob, lazyLoad: true }
    data_small: { type: blob, required: true, lazyLoad: true }
    …

Czym jest LazyLoad?

Dla nieznających tego mechanizmu wyjaśnienie. LazyLoad to technika stosowana w warstwie modelu dla wybranych kolumn tabeli. Atrybuty oznaczone do LazdyLoadingu pobierane są tylko i wyłączenie, gdy nastąpi jawne zapytanie o nie. Przykładowo (bazując na powyższym kawałku schematu), podczas wyszukiwania zdjęć, chcemy dostać miniaturki wyników — jednak bez tego mechanizmu pobrane byłyby również duże wersje zdjęć, które w aktualnym widoku nie są potrzebne, a to może bardzo spowolnić wygenerowanie strony.

Podobne wpisy:

  1. Migracja MySQL → PostgreSQL aplikacji w Symfony 1.1
  2. Symfony+Propel: domyślne sortowanie

From → Symfony

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS

Notify me of followup comments via e-mail. You can also subscribe without commenting.