![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 1 Dołączył: 22.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
pracuję nad stworzeniem klasy struktur (znanej bardzo dobrze z C++), niestety mam problem. Próbuję zrobić funkcję, która tworzy dla klasy publiczną zmienną. Dla przykładu, mamy zmienną $foo i chcemy do niej przypisać strukturę, więc przypisujemy do $foo funkcję assign ($foo = Struct::assign(Nazwa struktury)) i możemy korzystać ze struktury jako $foo->zmienne. Może mój błędny kod:
Kod błędu jest następujący: Parse error: syntax error, unexpected 'public' (T_PUBLIC) in D:\User\Projekty\PHP\core\lib\struct.php on line 39 Dziękuję za pomoc! (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Na pierwszy rzut oka widać co robisz źle - nie możesz deklarować własności klasy wewnątrz jej metody.
Jeśli chcesz uzyskać taki efekt to jedyne co mi przychodzi do głowy to użycie tablicy oraz własności __set oraz __get:
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 1 Dołączył: 22.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie! Właśnie tego mi było trzeba (IMG:style_emoticons/default/wink.gif)
Oczywiście by nie być "żyła", daję pomógł (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
teraz jestem z deczka "dziabnięty ;p" i nie chce mi się sprawdzać (już jakiś czas nie kodziłem w php), ale o ile pamięć mnie nie myli oba rozwiązania są poprawne, tzn. chciałbym tu zwrócić uwagę na podane rozwiązanie przez @wookieb... domyślnie jak pamiętam takie zmienne są publiczne, więc to co tu próbujecie osiągnąć, oprócz tego powinno to być szybsze... ktoś powie, że minusem tu może być wyzerowanie istniejącej zmiennej publicznej, z kolei drugie rozwiązanie jest z deczka wolniejsze i w tablicy przechowywane są zmienne nie zadeklarowane publicznie w danej klasie (choć to też można potraktować na +)...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 10:18 |