![]() |
![]() |
-edekk- |
![]()
Post
#1
|
Goście ![]() |
Witam,
Chciałbym napisać pewną część swojego edukacyjnego projektu w ujęciu obiektowym. Korzystam z bazy danych MySQL, więc nie muszę pisać klasy obsługującej tę bazę osobno, tylko chcę skorzystać z wbudowanej klasy mysqli. Mam jednak problem już na starcie, bo nie wiem, jak ta klasa może być dziedziczona w innych. Przykładowo mam klasę: Kod class Przykladowa_klasa ( ) w której chciałbym wykonać pewne operacje na bazie danych. Jak w takiej sytuacji zainicjować dziedziczenie mysqli? Wpisać po prostu Przykładowa klasa extends mysqli? Czy jeśli taki zabieg jest możliwy, to w jaki sposób tworzy się egzemplarz klasy wewnątrz tej Przykładowa_klasa? Jeśli wywołuję mysqli w innym miejscu, wystarczy, że wpiszę: Kod $polaczenie = @new mysqli('host', 'uzytkownik', 'haslo', 'nazwa bazy'); czy można użyć tego podobnie wewnątrz innej klasy (chodzi o operator new). Jeśli tak to gdzie najlepiej to zrobić? Jednocześnie chciałbym zadać jeszcze kilka innych pytać związanych z php obiektowym. Analizowałem sobie przez pewien czas kod obiektowy z różnych źródeł, gdzie jest on umieszczany bezpłatnie i nie rozumiem pewnych mechanizmów często stosowanych (przepraszam, jeśli pytania sa lamerskie, ale niestety w książkach które przerabiam jest ogólny zarys idei OOP, a w praktyce napotykam na niezrozumiałe fragmenty), np. Kod class klasa1 { public $imie; public $nazwisko; function __construct($imie,$nazwisko) { $this->imie=$imie; $this->nazwisko=$nazwisko; } function wyswietl() { echo " klasa 1"."\n"; echo "$this->imie"."\n"."$this->nazwisko"."\n"; } } Nurtuje mnie to, co się dzieje w konstruktorze. Kumam kod do momentu, kiedy po odwołaniu się do pól $imie, $naziwsko wewnątrz klasy za pomocą $this, przypisuje sie je do zmiennej $imie jeszcze raz za pomocą operatora "=". Czy ktoś mógłby mi wytłumaczyć dlaczego stosuje się taki zabieg? Ponadto chciałbym zapytać, czy zmienne w metodach danej klasy mogą przyjmować za swoje parametry tylko zmiennie wcześniej zadeklarowane jako metody klasy, czy także zmienne niezwiązane z klasą i pochodzące z innej części skryptu? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 20:00 |