Aktywne Wpisy
dzkeson +140
Ci ludzie są autorami dzisiejszego upokorzenia. W imieniu portalu wykop dziękujemy za ten wspaniały wybór. Liczymy na powtórkę za rok :)
#eurowizja
#eurowizja
Desire22 +9
Jak wyszła na wierzch afera pieluchowa to oczywiście nie powiedziała na skrótach o co chodzi, przy czym jakby olgerdano mnie od k*rew wyzywał, to też bym tak zrobił, ale bez wspominki o czym była ta afera, to podpadła już u społeczności w lateksiarstwo. Obecnie nie wrzuca nic nowego na kanał, bo pewnie tak jak sum wąsaty musi odpocząć od tego wszystkiego w jakiś sposób. Ciekawe, czy odpowie się za którąś ze stron
class Class {
public $test;
public $test2;
public function gg() {
$testdwas = 'bksd';
$this->test = $testdwas;
$this->test2 = $test2 = 'dddd';
}
}
Inicjalizuję to w innym pliku, wiadomo$class = new Class(); vardump($class);_ i mam wszędzie NULL. Podpowie ktoś? :(
Chcę uzyskać efekt, że inicjalizując klasę, będę mieć dostęp do wartości zmiennych z tej funkcji. Może jakoś inaczej to trzeba? Z góry wielkie thx za podpowiedzi.
To, że są nullami, to inna - oczywista - sprawa, bo im nie ustawiasz żadnej wartości. Metoda
gg
, która przypisuje im wartości sama się nie wywoła.Jak chcesz mieć wartości od razu, to albo je ustaw przy deklaracji, albo w konstruktorze, ewentualnie wywołaj metodę, która te wartości ustawi. Zależy od konkretnego przypadku.
public function __construct($test, $test) {
$this->test = $test;
$this->test2 = $test2
}
Z pamięci to napisałem, mogłem gdzieś się machnąć.
@zakopiak: Potrzebuję coś takiego, że metoda będzie przechowywać takie dane jak np. adres URL obecnej strony i takie tam pierdoły, zatem przypisanie
Tak czy inaczej jeśli z jakiegoś powodu chcesz dopiero w jakiejś metodzie przypisywać wartości publicznych atrybutów, to logiczne, że musisz tę metodę najpierw na obiekcie wykonać. Jednak wygląda to na kod wbrew wszelkim standardom obiektowego programowania.
Jak chcesz konkretów, to musisz dać konkretny, realny kod (np. na 3v4l.org). Z takim pseudo kodem dużo nie zdziałamy. Poza tym najwyraźniej tu problem masz
@khaotic: Masz wyraźny brak zrozumienia tego, co robisz. "var dumpowałeś" obiekt.
Rozróżniasz klasę od obiektu?
Generalnie jeżeli nie masz doświadczenia i chcesz, żeby Twoja jedna metoda zwracała wiele różnych typów danych to jest to bardzo zły początek. Od takich "akcji", gdzie chcesz zwracać różne rzeczy powinieneś mieć osobne metody. Gdybyś kiedyś chciał się uczyć testów to takiego gniota, który zwraca milion różnych
@khaotic Lepiej na początek przeczytaj jakiś tutorial albo książkę OOP bo są braki w zrozumieniu co jest co :)
Porady:
- samych dobrych nawyków nauczy Cię programowanie w PHP z twardym typowaniem. A więc na początku pliku
declare(strict_types=1);
, a potem trzymasz się tego, że wszystkie argumenty w metodach muszą mieć określony typ, tak samo określony typ powinny zwracać. Poczytaj dokumentację jakie typy są dostępne.- dbaj o enkapsulację danych, czyli zawsze właściwości klasy (w Twoim przykładzie to np.
@ajgoron: widzę rządzisz twardą ręką ᕦ(òóˇ)ᕤ