Wywołanie metody kontrolera "obcego"

0

Hej,

Potrzebuję wywołać metodę, którą mam zdefiniowaną w drugim, osobnym kontrolerze, który odpowiada za wysłanie spreparowanego maila. Czy takie rozwiązanie jak:

  • Kontroler główny
if(warunek) {
		redirect('SendEmail');
	} else {
		$this->load->view('Error');
	}
  • Kontroler "obcy" (SendEmail)
if($this->email->send()) {
		session_destroy();
		$this->load->view('Success');
	} else {
		$this->load->view('Error');
	}

jest dopuszczalne z punktu widzenia dobrych praktyk? Chodzi mi głównie o wykorzystanie funkcji redirect().

0

Nie - kontrolery nie powinny zawierać żadnej większej logiki i powinny być niezależne od siebie.
Wydziel wspólny kod (odpowiadający za wysyłanie maili) do serwisu.

0
Patryk27 napisał(a):

Nie - kontrolery nie powinny zawierać żadnej większej logiki i powinny być niezależne od siebie.
Wydziel wspólny kod (odpowiadający za wysyłanie maili) do serwisu.

Do serwisu? Rozwiniesz tę myśl?

0
Lucas83 napisał(a):
Patryk27 napisał(a):

Nie - kontrolery nie powinny zawierać żadnej większej logiki i powinny być niezależne od siebie.
Wydziel wspólny kod (odpowiadający za wysyłanie maili) do serwisu.

Do serwisu? Rozwiniesz tę myśl?

Stwórz sobie po prostu osobną klasę, w której będziesz przechowywać potrzebny kod. I to ją będziesz wywoływać w każdym z kontrolerów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1