• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Nazwa zmiennej w funkcji klasy.

Object Storage Arubacloud
0 głosów
115 wizyt
pytanie zadane 10 marca 2016 w PHP przez Tail Nowicjusz (240 p.)
zamknięte 13 marca 2016 przez Tail

Siema.

Korzystają z dewizy że nie ma głupich pytań i nawet nie ma głupich odpowiedzi zapytam :D

Otóż jest w funkcji showStats zmienna o nazwime $this i teraz jeżeli zmienię jej nazwę wyświetla się błąd z cytatu.

<?php


class Magnus
{
	public $str = '10';
	public $agi = '10';
	public $ene= '10';
	
	function showStats()
		{
                               //$str=str;
		                      //printf ('Str=%s Agi=%s Ene=%s', $str, $agi, $ene);
            echo $this->str;
		}
}
	
	$Mag1=new Magnus();
	                          //$Mag2=new Magnus(1, 2, 3);
        $Mag1->showStats();
	
		
class MyClass
{
    public $public = 'Publicsssss';
    protected $protected = 'Protected';
    private $private = 'Private';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}
$obj = new MyClass();
$obj->printHello(); // Shows Public, Protected and Private

Notice: Undefined variable: thiss in D:\Programs\xampp\htdocs\testy\class.php on line 14

Notice: Trying to get property of non-object in D:\Programs\xampp\htdocs\testy\class.php on line 14
PublicsssssProtectedPrivate

Ja tego nie pojmuję wcale i mam wrażenie że mój komputer robi ze mnie idiotę...

Fakt że nie rozumiem klas i zaczyna dopiero z PHP i to co widać wyżej to czysta zabawa żeby trochę się w tym poobracać i zrozumieć ale nie rozumiem...

Niezidentyfikowana zmienna... Czemu $this jest zidentyfikowane a każda inna zmienna nie... ?

komentarz zamknięcia: Rozwiązanie problemu

1 odpowiedź

+3 głosów
odpowiedź 10 marca 2016 przez efiku Szeryf (75,160 p.)
wybrane 13 marca 2016 przez Tail
 
Najlepsza

Zamiast przeczytać wiki o OOP porządnie lecisz od razu z pytaniem na forum, prawda?

 

https://pl.wikibooks.org/wiki/PHP/Czym_jest_programowanie_obiektowe%3F

https://pl.wikibooks.org/wiki/PHP/Klasy_i_obiekty

Jedyna istotna różnica to obecność specjalnego wskaźnika $this, który wskazuje zawsze na obiekt, na którym daną metodę wywołujemy. Dzięki niemu możemy dostać się do wartości przechowywanych w polach obiektu oraz wywoływać inne metody. Służy do tego specjalny operator ->. Zauważ, że odwołując się do pól, pomijamy znak dolara. 

 

Ostatnio zauważyłem mocny spadek jakości pytań na tym forum... 

komentarz 10 marca 2016 przez Tail Nowicjusz (240 p.)

Zamiast przeczytać wiki o OOP porządnie lecisz od razu z pytaniem na forum, prawda?

 Od razu ? Uwierz mi na słowo że siedziałem na tym naprawdę sporo czasu i szukałem błędu. Ci ta odpowiedź przypuszczam że zajęła 5 minut a mi szukanie błędu w kodzie 10 razy tyle.

Polecam wrócić do tematu: http://forum.pasja-informatyki.pl/115433/uczenie-sie-php-praktyczne-kodowanie

Gdzie również mi odpowiedziałeś

Cóż, nic na to nie można poradzić. Po prostu musisz się nauczyć pracować z dokumentacją, a nie KURSAMI. To jedyny możliwy sposób. 

Dokładnie i się uczę. Robiłem również Twój kurs gdzie nie ma programowania obiektowego więc zacząłem się uczyć na własną rękę. Stąd ten problem bo $this wygląda jak zwykła zmienna która została użyta jak każda inna.

 

Widzę że Twoje odpowiedzi zależą od humoru. Może innym razem odpowiedziałbyś na moje pytanie tak jak w ostatnim moim temacie: "Wiesz co nie ucz się jeszcze takich rzeczy najpierw sprawdź podstawy programowania obiektowego o tutaj: xyz.pl" A nie komentował mocnym spadkiem jakości pytań czy zarzucając mi że od razu lecę na forum nie znając podstaw o czym doskonale wiem.

 

Ale i tak dziękuje za odpowiedź teraz wiem że jednak obiektówka nie jest taka prosta i logiczna jak mogłoby się wydawać i poczytam więcej na ten temat zamiast od razu pisać kod.

Podobne pytania

0 głosów
1 odpowiedź 325 wizyt
pytanie zadane 10 marca 2018 w C i C++ przez dasad33 Użytkownik (710 p.)
0 głosów
1 odpowiedź 139 wizyt
pytanie zadane 18 kwietnia 2016 w PHP przez Miko Obywatel (1,480 p.)
0 głosów
1 odpowiedź 109 wizyt

92,632 zapytań

141,500 odpowiedzi

319,878 komentarzy

62,012 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...