Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Własna klasa do sql się sypie, Fatal error: Call to a member function query() on a non-object in ...
sledziu1
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 10.07.2006

Ostrzeżenie: (0%)
-----


...

Ten post edytował sledziu1 23.01.2009, 17:50:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
Statozor
post
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 23.09.2006

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $objSQL->query("SELECT * FROM `users` WHERE `id` = '".$this->id = $userID."'");
  3. ?>

$objSQL nie jest obiektem żadnej klasy, to zwykła zmienna.
Go to the top of the page
+Quote Post
Joachim Peters
post
Post #3





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Zainteresuj się wzorcami projektowymi, a dokładniej singleton'em.
Go to the top of the page
+Quote Post
LEW21
post
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 31.01.2007

Ostrzeżenie: (0%)
-----


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;


--------------------
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL
Go to the top of the page
+Quote Post
Turgon
post
Post #5





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


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.


--------------------
Jah Music Is On My Mind !
Go to the top of the page
+Quote Post
LEW21
post
Post #6





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 31.01.2007

Ostrzeżenie: (0%)
-----


Turgon, jaki jest sens mieszać dodatkową klasę w miejscu gdzie możesz po prostu napisać global $mojaZmienna?


--------------------
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL
Go to the top of the page
+Quote Post
kwiateusz
post
Post #7


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




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
Go to the top of the page
+Quote Post
LEW21
post
Post #8





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 31.01.2007

Ostrzeżenie: (0%)
-----


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


--------------------
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #9





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
LEW21
post
Post #10





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 31.01.2007

Ostrzeżenie: (0%)
-----


sledziu1, już lepszym rozwiązaniem był by (znienawidzony przeze mnie) singleton tongue.gif

Ten post edytował LEW21 20.07.2007, 11:52:57


--------------------
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL
Go to the top of the page
+Quote Post
bim2
post
Post #11





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


LEW, czmeu znienawidzony. Co cie tak od niego odpycha? Możesz "nam" wytłumaczyć?

BTW. Ty jesteś z forum phpBB3?


--------------------
Go to the top of the page
+Quote Post
NuLL
post
Post #12





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


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


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
Turgon
post
Post #13





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


NuLL, http://bylo.pl - to tak a propos Singletona winksmiley.jpg

P.S.
A rejestru nie używam, bo mi nie potrzebny.


--------------------
Jah Music Is On My Mind !
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 06:56