Hoe een MVC in te richten is wel duidelijk bij veel mensen, uiteraard verschillen de MVC's in opbouw wel.
Ert vanuit gaande dat een MVC een controller_base en model_base heef waarbij er een controller directory is en een model_directory waarbij de controllers FOO_controller.php en de models FOO_model.php heten.
Om de juiste views te gebruiken heb je een folder FOO in de folder views nodig, dit gaat er dus uit zien als:
Stel je hebt meedere view folders als FOO1, FOO2 waarin views staan welke je wil "beveiligen" met een user-level dan heb je hier een functie voor nodig om dit makkelijk te kunnen doen.
Ik ben nog in dubbio of ik dit via een query wil doen, dus kijken wat de de user-level is dmv een query of dit op te slaan in een sessie-variabele. Probleem van sessie-variabele is dat je vaak opniew moet inloggen om nieuwe rechten toe te passen... echter een query voor iedere pagina bezoek lijkt me logisch maar misschien wat overdreven.
Om terug te komen op mijn "probleem" is dat ik deze functies shared wil maken zodat ik deze overal makkelijk kan gebruiken zonder deze iedere keer in de desbetreffende controller te moeten zetten.
Ik vraag me echt af wat de beste optie is. Ik heb gedacht een functions.php te gebruiken en deze simpelweg in de index te includen en dan op die manier deze functies te gebruiken welke natuurlijk in een classe staan.
Het jammere van die oplossing is dat je dan queries in je functions.php gaat zetten en dit van een MVC niet echt de bedoeling is. Echter omdat je hier niet echt een model/controller constructie voor kunt maken die logisch is tov het MVC loop ik een beetje vast.
Het schijnt dat meerdere PHP-programmeurs hier met een eigen MVC tegenaan lopen. Je moet het eigenlijk tegen gaan om een "externe" functions file te maken maar het komt er op neer dat je vaak niet anders kan.
Wat is nu wijsheid om van deze functies bruikbaar te maken in iedere view/controller ? Deze functies kunnen dus vanalles doen, gebruik makelijk van queries, session checks, etc, welke je overal waar nodig wil toe kunnen passen op een nette manier.
Ert vanuit gaande dat een MVC een controller_base en model_base heef waarbij er een controller directory is en een model_directory waarbij de controllers FOO_controller.php en de models FOO_model.php heten.
Om de juiste views te gebruiken heb je een folder FOO in de folder views nodig, dit gaat er dus uit zien als:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| +-/ +-controller/ | +-FOO_controller.php +-helpers/ | +-model_helper.php | +-controller_helper.php | +-view_helper.php +-lib/ | +-model_base.php | +-controller_base.php | +-router.php +-model/ | +-FOO_model.php +-view/ | +-FOO |+-index.php |+-secure.php |+-login.php +-index.php |
Stel je hebt meedere view folders als FOO1, FOO2 waarin views staan welke je wil "beveiligen" met een user-level dan heb je hier een functie voor nodig om dit makkelijk te kunnen doen.
Ik ben nog in dubbio of ik dit via een query wil doen, dus kijken wat de de user-level is dmv een query of dit op te slaan in een sessie-variabele. Probleem van sessie-variabele is dat je vaak opniew moet inloggen om nieuwe rechten toe te passen... echter een query voor iedere pagina bezoek lijkt me logisch maar misschien wat overdreven.
Om terug te komen op mijn "probleem" is dat ik deze functies shared wil maken zodat ik deze overal makkelijk kan gebruiken zonder deze iedere keer in de desbetreffende controller te moeten zetten.
Ik vraag me echt af wat de beste optie is. Ik heb gedacht een functions.php te gebruiken en deze simpelweg in de index te includen en dan op die manier deze functies te gebruiken welke natuurlijk in een classe staan.
Het jammere van die oplossing is dat je dan queries in je functions.php gaat zetten en dit van een MVC niet echt de bedoeling is. Echter omdat je hier niet echt een model/controller constructie voor kunt maken die logisch is tov het MVC loop ik een beetje vast.
Het schijnt dat meerdere PHP-programmeurs hier met een eigen MVC tegenaan lopen. Je moet het eigenlijk tegen gaan om een "externe" functions file te maken maar het komt er op neer dat je vaak niet anders kan.
Wat is nu wijsheid om van deze functies bruikbaar te maken in iedere view/controller ? Deze functies kunnen dus vanalles doen, gebruik makelijk van queries, session checks, etc, welke je overal waar nodig wil toe kunnen passen op een nette manier.