![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
Tytuł tematu nie do końca jest prawdziwy, zaraz wyjaśnię dlaczego, jednak nie potrafiłem inaczej nazwać swojego problemu. Jakiś czas temu zacząłem oglądać pewien kurs związany z PHP. Zostały tam przedstawione pewne funkcje, których przy swojej znajomości PHP, nie jestem w stanie zrozumieć, jak mają prawo działać. Niestety tematem kursu było co innego, więc nie zostało w nim dokładnie to wyjaśnione. Mam nadzieję, że ktoś z Was będzie w stanie rozjaśnić temat. Mamy kod (w pewnej klasie):
Pytanie 1: W bloku klasy nie została utworzona zmienna 'setAlertTypes', jednak autor w jakiś sposób się do niej odwołuje. Jak to jest możliwe? Jeśli w jakiś sposób zostanie automatycznie stworzona taka zmienna, to jaki typ będzie miała? Pytanie 2: Czy taka konstrukcja "$_SESSION[$type][] = $value;" powoduje, że przy użyciu w np. taki sposób:
zostaną nadane kolejne indeksy, do których będzie można się odwołać w taki sposób:
Dobrze rozumiem? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 318 Pomógł: 76 Dołączył: 27.12.2011 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Ad. 1.
Typ? Dokładnie taki jak parametr $types. Ad. 2. O ile $_SESSION[$type] = array();, to kolejno będą przyjmować wartości o 1 większą(W przypadku pustej tablicy zaczynać się będą od 0) Ten post edytował untorched 1.02.2015, 00:04:21 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ad. 1. Typ? Dokładnie taki jak parametr $types. Źle się wyraziłem. Chodziło mi o prawa dostępu (public/private/protected). Czyli, jeśli wcześniej nie została zdefiniowana zmienna 'setAlertTypes', a użyje ją w funkcji (takiej jak przedstawiona w pierwszym poście), zostanie ona automatycznie utworzona, prawda? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko co nie jest określone typem private/protected jest public. Zmienna zostanie dynamicznie utworzona i nadana wartość.
Powinno się deklarować zmienne aby w getAlerts przy foreach nie wywaliło błędu protected $setAlertTypes = array(); |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 318 Pomógł: 76 Dołączył: 27.12.2011 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Automatycznie, jako public.
@Pyton_000 mnie uprzedził (IMG:style_emoticons/default/smile.gif) Ten post edytował untorched 1.02.2015, 00:29:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:39 |