|  | Posted by Jochem Maas on 12/30/05 16:53 
Dave M G wrote:> PHP General,
 >
 > 	I have a site where I will set the interface up to be multilingual.
 > This means that all the snippets of text which make up the menu and
 > other elements of navigation common to most pages will be stored as
 > variables.
 >
 > 	In most web site set ups that I have seen, especially on forums, the
 > text is stored in a PHP script which is just a long list of variables.
 >
 > 	I wondered if there was any downside to storing the list of interface
 > texts in a MySQL database, then calling them as an array when the page
 > loads?
 >
 > 	This would have one minor advantage, which is that as I expand to new
 > languages, I could build a simple web interface where people could input
 > new languages into a form.
 
 true - rather than trying to writing an interface thats _properly_ capable
 tf editing phpb-like language files - which although not impossible is a lot
 more difficult to make fool-proof than one first imagines (I have very
 ingenious 'fools' who want to edit stuff like that!)
 
 >
 > 	However, is it a drag on a server to have to reach into the MySQL
 > database to retrieve the array of texts each time the page loads? Note
 > that the texts will be something like 20 to 30 small one to four word
 > phrases like "contact" and "previous page" and that sort of thing.
 
 using var_export() you can write the array to a file on a TMPFS filesystem
 (e.g. /dev/shm) as a cache and have a cmdline script or something that you run
 whenever you want the lang itmes to be updated - reading a single small file in off
 disk (which in the case of TMPFS is in RAM - bonus!!!) will be faster in general
 than querying MySQL and building the array.
 
 essentially this gives you the best of both world - with the added bonus of
 begin able to easily control publication of updates to the lang items.
 
 >
 > 	On the surface, it doesn't seem like this would be much different than
 > accessing a PHP script with a list of variables. But then, I figured
 > there might be a reason why I've never seen it done this way.
 
 basically unless you have some killer site thats taking a beating and
 needs to take performance very seriously in order to stay in the air then either
 way will do fine. a DB call on every request is somewhat wasteful but a low traffic
 site won't mind one little bit.
 
 >
 > 	Opinions would be much appreciated.
 >
 > --
 > Dave M G
 >
  Navigation: [Reply to this message] |