Ho un controller di eventi (s):
class Event extends CI_Controller{
public function index(){
}
public function foo(){
}
//Shouldn't be able to use this method unless logged in
public function bar(){
}
}
E sto cercando di organizzare il mio codice in modo che sia abbastanza ordinato e diretto. Proprio ora ho un controller chiamato MY_Controller
in modo che solo gli utenti autenticati possano accedere ai metodi ( edit_event()
, add_event()
) di qualsiasi controller che lo estende.
Tuttavia, alcuni dei metodi nel mio controller devono essere accessibili da utenti non autenticati (come get_event()
).
Qual è un buon modo per gestirlo? Dovrei creare due controller completamente separati o estendere dal controller di eventi di base e aggiungere metodi autenticati?
In precedenza avevo un controller di gestione che gestiva tutti i metodi che richiedevano l'autenticazione come add_user
, delete_user
, add_doc
, delete_doc
. Ma è stato cancellato molto velocemente e non è stato facile aggiornare o modificare il controller (in più era disordinato e non sembrava seguire una buona etichetta di programmazione).