To secure your database from inconsistencies resulting from failing (complex) operations, you (should) use transactions.
However, complex methods often rely on other complex methods that themselves build on transactions.
This HowTo presents a method to nest or embed transactions without relying on the database's nesting capabilities.
The problem is not new: after setting some filters in a grid (typically in admin view), and gone to another page, returning in the grid's page I would like to find the filters with previous setting mantained.
The Yii Framework provides a sweet functionality that allows you to easily create page specific menus.
What does this mean?
This allows you to create one layout or CSS styling for your menu, and when each page is loaded, a new set of menu items is loaded in. This is useful for context specific sidebars within your application.
Uploading files in a webapp can be extremely tricky and sometimes the quickest way to do it is to store the file directly in the webserver or into a DNS (like Amazon S3) and then to save the link and the metadata inside a table in the DB. The thing is that you'll have to deal with file permissions, server storage, file management and so on (which is perfectly fine, by the way).