Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Własna klasa do sql się sypie
Forum PHP.pl > Forum > PHP > Object-oriented programming
sledziu1
...
Statozor
  1. <?php
  2. $objSQL->query("SELECT * FROM `users` WHERE `id` = '".$this->id = $userID."'");
  3. ?>

$objSQL nie jest obiektem żadnej klasy, to zwykła zmienna.
Joachim Peters
Zainteresuj się wzorcami projektowymi, a dokładniej singleton'em.
LEW21
Ej, byle nie singleton tongue.gif Dużo lepiej jest napisać w metodach klasy User:
  1. <?php
  2. global $objSQL;
  3. ?>
przed użyciem zmiennej $objSQL;
Turgon
To jest jeszcze gorsze, bo to metoda przestarzała. Nawet developerzy PHP uznali, że to głupota. Należy używać rejestru. I kolego sledziu, słownik angielskiego nie gryzie.
LEW21
Turgon, jaki jest sens mieszać dodatkową klasę w miejscu gdzie możesz po prostu napisać global $mojaZmienna?
kwiateusz
to ze to nie ejst programowanie obiektowe, programowanie obiektowe to hermetyzacja obiektów a nie wrzucanie globali gdzie popadnie (które jak zauważono nawet przez developerów php są uważane za zło) do tego mogą spowodować iż inny programisty przypadkiem nadpisze taką zmienna i pupa blada skrypt nie działa a potem głów sie dlaczego bądź dostań reprymendę z tego powodu że skrypt ma luki
LEW21
Jak programista bierze się za pisanie kodu w oparciu o system którego nie zna, to jest to jego sprawa... Po za tym: Registry::get('coś'); niby lepiej pomaga w hermetyzacji niż global $coś? Efekt jest identyczny (pobieramy coś z globalnego rejestru), a global $coś; jest krócej i wygodniej tongue.gif
Cysiaczek
Tak. Pomaga w hermetyzacji, bo jest to pewengo rodzaju przestrzeń w której możesz określić zasady trzymania danych - np, rejestr składujący tylko obiekty określonego typu. Global to zło i dlatego wymyślono singleton, który ma mniej wad, a podobną funkcjonalność.

Pozdrawiam.
LEW21
sledziu1, już lepszym rozwiązaniem był by (znienawidzony przeze mnie) singleton tongue.gif
bim2
LEW, czmeu znienawidzony. Co cie tak od niego odpycha? Możesz "nam" wytłumaczyć?

BTW. Ty jesteś z forum phpBB3?
NuLL
Cytat(Turgon @ 19.07.2007, 21:56:53 ) *
To jest jeszcze gorsze, bo to metoda przestarzała. Nawet developerzy PHP uznali, że to głupota. Należy używać rejestru. I kolego sledziu, słownik angielskiego nie gryzie.

A jaka przewage daje ci rejest nad singletonem masta ? laugh.gif
Turgon
NuLL, http://bylo.pl - to tak a propos Singletona winksmiley.jpg

P.S.
A rejestru nie używam, bo mi nie potrzebny.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.