Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako spreciti override PDO metoda?

[es] :: PHP :: Kako spreciti override PDO metoda?

[ Pregleda: 1920 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
93.87.243.*



+4 Profil

icon Kako spreciti override PDO metoda?13.11.2009. u 18:23 - pre 175 meseci
Danas sam uspesno i totalno slucajno overrideovao PDO::query() !!!
Otislo mi vise od pola dana na trazenje zasto myPDO->query() konstantno vraca NULL!
Doslo mi da zaplacem od muke kad sam shvatio. Naravno bila je tu gomila koda pa se public function query(){} nije tako lako videla Plus ovo mi je prvi dan da radim sa PDO pa mi je sve nepoznato i veze nisam imao gde moze da se nadje greska. Uzas!

class myPDO extends PDO{
public function query(){
}
...

Kako spreciti override nekih nasledjenih metoda?
Predpostavljam da su PDO, mysqli i ostale klase internog tipa i da ne mogu da ih otvorim i unutra napisem final function query().

Ili ako to ne mogu, daj da me makar upozori, nek mi apac kaze da radim override postojeceg metoda, nesto, bilo sta samo da ne cuti!
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-1.sezampro.yu.



+33 Profil

icon Re: Kako spreciti override PDO metoda?13.11.2009. u 20:05 - pre 175 meseci
Ni u jednom jeziku, pa ni u PHP-u nećeš dobiti nikakvo upozorenje tog tipa kad radiš redefinisanje nekog metoda. Možeš eventualno da dobiješ informaciju u nekom iole naprednijem tekst editoru ili nekom IDE-u (npr. NetBeans), u vidu ispisa neke naznake da radiš override-ovanje, ili tako nešto.
 
Odgovor na temu

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
93.87.243.*



+4 Profil

icon Re: Kako spreciti override PDO metoda?14.11.2009. u 12:42 - pre 175 meseci
Nisam hteo da je overrajdujem, keve mi Slucajno se desilo. I da budem iskren, pomalo se plasim da mi se to omaskom opet ne desi.

Jel' napravio neko neku skriptu za proveru? Secam se da PHP ima onaj get_class_methods, to bi moglo da se upotrebi...
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.dynamic.sbb.rs.



+13 Profil

icon Re: Kako spreciti override PDO metoda?14.11.2009. u 14:24 - pre 175 meseci
Zar ti nije najlakse da stavis neki prefix u toj sub-klasi ? tipa, da svaku funkciju prefixujes sa: "_", tj:

Code:

public function _query()
{
}
// ...


---

Sad sam probao u NetBeans-u, i nazalost, ne javlja kad se override-uje neka metoda :-(
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Kako spreciti override PDO metoda?14.11.2009. u 14:59 - pre 175 meseci
A i ne znam zašto si tol'ko fasciniran činjenicom da si redefinisao metod te PDO klase...

Citat:
MilosDj: Jel' napravio neko neku skriptu za proveru?

Za proveru čega? Ne vidim svrhu provere da li klasa redefiniše neki metod... Ti u nekoj svojoj klasi redefinišeš metod iz nadređene klase, kako bi uneo neku svoju custom logiku, i to radiš svesno, tako da tu nema ničeg diskutabilnog.
 
Odgovor na temu

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
93.87.243.*



+4 Profil

icon Re: Kako spreciti override PDO metoda?14.11.2009. u 15:27 - pre 175 meseci
Citat:
i to radiš svesno, tako da tu nema ničeg diskutabilnog. :)
Skroz se slazem kad to uradim svesno i tendenciozno. Razumem ja vas stav. Znate napamet sve PHP klase i lako vam je da izbegnete slucajni override.
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Kako spreciti override PDO metoda?14.11.2009. u 15:46 - pre 175 meseci
Citat:
MilosDj: Znate napamet sve PHP klase

Daleko od toga... Ja kad hoću da radim sa nekom ugrađenom PHP klasom, uvek prvo proučim njen API u dokumentaciji, vidim koji metod može da mi bude od koristi, itd.

Ono što sam hteo da kažem je to da mi se čini da si nepotrebno digao "dramu" oko svega ovoga. Najpre ne znam šta si hteo da postigneš izvođenjem iz PDO klase... Praviš neki svoj DAL, koji proširuje mogućnosti PDO-a, ili šta? Izvođenje se ne radi da bi tek tako, reda radi nasledio neku klasu, već samo u situacijama kad to ima nekog smisla.
 
Odgovor na temu

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
93.87.243.*



+4 Profil

icon Re: Kako spreciti override PDO metoda?15.11.2009. u 00:30 - pre 175 meseci
Hehehe, sorry Evo, necu vise da dramim Obecavam

Citat:
Najpre ne znam šta si hteo da postigneš izvođenjem iz PDO klase...
Pa samo sam odlucio da zamenim mysql sa PDO. A imam lepu klasu koja je "automatizovala" insert, select, delete... Samo pozovem odredjeni metod, dam mu podatke i klasa sve uradi. Kao ActiveRecord ali vise u logickom smislu, prilagodjeno onome sto trenutno radim.
Citat:
Izvođenje se ne radi da bi tek tako, reda radi nasledio neku klasu, već samo u situacijama kad to ima nekog smisla.
Da, naravno. Mozda moj nacin nije najbolji, ali mi se jako dopada da uguram u klasu sve sto treba za dati objekat i automatizujem je koliko god mogu a u programu(php skripti) samo povezujem logicke objekte.

Tako mi je kod drasticno skracen, i fokusiram se na ono sto zaista hocu. Nema vise potrebe da razmisljam o bazi, escape stringu, formatiranju podataka, validaciji i gomili ostalih zezalica.

Sto bi moj kum rekao: Radi samo ako ce ti to olaksati zivot
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1123
79.101.212.*

Sajt: www.gvozden.info


+68 Profil

icon Re: Kako spreciti override PDO metoda?15.11.2009. u 12:58 - pre 175 meseci
Zato se ja ljutim na ljude sa kojima radim kada koriste generičke nazive u metodama i članovima, tipa: query, prosao, prosledi (bilo da je reč o eng. ili srp.).

Treba koristi nazive sa nekim smislom. Često tome posvetim pažnju, to me malo uspori u programiranju (nije uvak lako naći naziv sa logikom), ali dosta pomaže.
I kada posle neko drugi čita kod, neće se mučiti da provali šta je to proveri u odnosu na proveri_korisnik_ulogovan.

 
Odgovor na temu

[es] :: PHP :: Kako spreciti override PDO metoda?

[ Pregleda: 1920 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.