phpsqldatabaseflat-file

Flat file databases


What are the best practices around creating flat file database structures in PHP?

A lot of more matured PHP flat file frameworks out there which I attempt to implement SQL-like query syntax which is over the top for my purposes in most cases. (I would just use a database at that point).

Are there any elegant tricks out there to get good performance and features with a small code overhead?


Solution

  • Well, what is the nature of the flat databases. Are they large or small. Is it simple arrays with arrays in them? if its something simple say userprofiles built as such:

    $user = array("name" => "bob", 
                  "age" => 20,
                  "websites" => array("example.com","bob.example.com","bob2.example.com"),
                  "and_one" => "more");
    

    and to save or update the db record for that user.

    $dir = "../userdata/";  //make sure to put it bellow what the server can reach.
    file_put_contents($dir.$user['name'],serialize($user));
    

    and to load the record for the user

    function &get_user($name){
        return unserialize(file_get_contents("../userdata/".$name));
    }
    

    but again this implementation will vary on the application and nature of the database you need.