![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
Bardzo proszę o pomoc bo juz nie wiem w czym rzecz. Czym więcej dopisuje funkcji do mojej strony muszę kopiować wcześniej napisane linijki kodu. Przecież php obiektowe miało być proste. Mialo sie tu raczej nic nie powtarzać. Nie wiem co robię źle i jak można uprościć napisany przeze mnie kod. O co chodzi, tak na prawde?
Napisałem cały moduł newsów (bardzo uproszczony na razie), aczkolwiek są już funkcje takie jak index, view, add, edit, del (czyli podstawa). Problemem jest to, że muszę pomiędzy kontrolerami i wszystkimi/większością funkcji (tam gdzie wywołuje widoki) kopiować ciągle ten sam kod! W moim przypadku:
Odpowiada on za sesje, sprawdzenie czy jestes adminem, oraz inne funkcje z modeli. PYTANIE DO WAS: Czy jest jakas możliwość by tego nie kopiwac a by nie rzucalo bledu o braku dostepi do zmiennej np $admin (juz w widoku)? Próbowałem to wywoływać w konstruktorze jednak bez efektu ;/ Dorzucam całość jednego kontrolera: http://wklejto.pl/288309 Dopiero się uczę obiektowości ... Ten post edytował eminiasty 8.07.2017, 19:05:27 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat php obiektowe miało być proste Ktoś Cię oszukał. Cytat Mialo sie tu raczej nic nie powtarzać Jak napiszesz bez powtórzeń to się powtarzać nie będzie. Czym według Ciebie jest __construct? Wiesz co to extends? (php obiektowe nie może być proste bez znajomości podstaw programowania obiektowego). Poczytaj o tym, wtedy:
zostanie tylko w 1 miejscu. Mała podpowiedź: Jeżeli w każdym kontolerze potrzebujesz danych o zalogowanym użytkowniku to te informacje mogą być pozyskiwane w nadrzędnej klasie np. MY_Controller - po której dziedziczyć będą wszystkie inne kontrolery Twojej aplikacji. Potem będzie jeszcze z problem przekazania tych danych do widoku, ale możesz utworzyć właściwość klasy MY_Controller o nazwie np. viewData do której będziesz przekazywał wszystkie zmienne które mają znaleźć się w widoku. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 05:49 |