I've been looking for an answer on this, so far I have been unable to find an answer. My question is; What is the best way to store a huge global class that does not require any dynamic input, it only needs to be used once.
Lets take for example a template class:
<?php
class Design_API{
function loadfile($file){
//load file here
}
// do file manipulation here
function presentfile(){
echo($this->file);
}
}
?>
Utilizing this class as a basic example of a layout. What would be the best way performance and security wise to use it. Would it be to create an instance of it as a global; store the instance in a session; or simply make it a static class.
Also, say we used a session if 2 clients access the site at the same exact millisecond, would php lock the session file forcing client 2's web load to take longer?
This question is a bit too mixed up to be answered in a consistent way, so here are some points:
static
classes as much as possible, they cause code coupling, which should be reducedstatic
classes are not necessarily fasterThe best way to handle this is to make the class a Singleton class and use the static method to instatiante it.
Storing the object in session will involve serialization and de-serialization which is very bad for performance. Also if you store any resources in the class they can't be serialized.