I wanted some suggestions from someone with experience in php.
I am making a website in php which will have 4 kinds of users :
1. guest(unregistered),
2. registered,
3. registered with special privilages,
4. admins
So the same page will be visible differently to all four of them.
Right now I am doing that by using if conditions.
In every page, I am checking the role of the user and then using many if statements to display the page accordingly.
It makes the code very big and untidy and I have to check conditions again and again in all the pages.
-
Is there a better way to do this?
-
How is this done in big professional websites?
-
Extended Question:
What is the most optimal way to do the same using a MVC framework like kohana 3.1? Does it have anything to do withacl?
It really depends on what you need.
For example if the page has big part that change completely, what I would suggest is to create different templates and include them depending on their “permissions”
and have something in the page similar to
if the script is full of small parts like “show this text”, or “show this button”, you can create a function that will check the permissions for you
As a rule of thumb, if a piece of code is used more than 2 times, it needs to be put in a function/file separately, so if you have many “IFS” you need to create a function