"In PHP, eval executes code in a string almost exactly as if it had been put in the file instead of the call to eval(). " -- WikipediaHockey wrote:are you storing PHP code in the database and later eval'ing it?
I can't say I like that approach:
This framewerk has it's own online IDE.. no files means no files to manage, with the exception of images, pdfs etc. They are tagged, then stored in an Amazon S3 bucket.My IDE doesn't understand DB tables it understands native files
I simply meant PHP code IS data from a storage pov. Now there's different types of data, and there's different ways of handling it. That goes without saying.Saying code and data are the same thing...I strongly disagree.
With this framework everything is identified with a unique name (tag if you prefer.. whatever), that I call a subject. As you type the name of the subject into the IDE, all the relevant information pops up in the editor. The whole thing is online, and uses Codepress http://codepress.org/ as the editor.How do you find the PHP source you are looking for if all source modules/functions/whatever are stored in a trivial lookup table?
On the contrary. Manually maintaining this system is the easiest of any framework I've used for the reason stated above, in that everything is tagged. However, because the system is built as a semantic network (sorry) of nodes, arcs, isa's and hasparts, and was designed from the ground up as an AI tool, we can let the system handle the maintenance. Passing it a query like "Delete all animals" will remove Tweety from the system, as tweety isa canary. canary isa bird and bird isa animal.Subject predicate and value fields to store an entire source tree sounds like a lot of work maintaining.
When developing AI and natural language processing agents, one of the biggest problems you face is ambiguation. "Bob turned into a store" .. does this mean that Bob changed direction, or that he's a shape shifter, and morphed? To avoid this, we have ~bob~ (I use ~ to identify subjects.. not so much for humans, but more for the machine to parse), now we know what bob were talking about.. then we use the predicate .. something like "enteredbuilding" . No more ambiguation.. and this works well on all levels, including maintaing code.