Wywołanie metody kontrolera "obcego"

Wywołanie metody kontrolera "obcego"
L8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 99
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
Kopiuj
if(warunek) {
		redirect('SendEmail');
	} else {
		$this->load->view('Error');
	}
  • Kontroler "obcy" (SendEmail)
Kopiuj
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().

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
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.

L8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 99
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?

serek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1506
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.