Új hozzászólás Aktív témák
-
biker
nagyúr
válasz Sk8erPeter #5506 üzenetére
az a vicc, az én összes gépem összes böngészőjén jó. de eddig volt olyan gép amin sosem ment, és volt, amin délelőtt jó volt, délután nem.
nem kapta meg a sessiontElektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
omega88
csendes tag
válasz Sk8erPeter #5513 üzenetére
Azt észre se vettem ,de nem ez a hiba forrása kivettem az fclose és semmi változás. Változtattam a host előtagját (tcp-ről udp-ra) így viszont akkor is oline-t ír ki ha nem fut a szerver, de még akkor is ha a gép se fut. Lehet hogy nem a scriptel van baj hanem a portforwardal rontottam el valamit.
-
fordfairlane
veterán
válasz Sk8erPeter #5506 üzenetére
"Ez elég jól hangzik, ezek szerint biztonsági szempontok is közrejátszhatnak abban, hogy view-t használjunk."
Amennyiben el akarod rejteni a táblaszerkezetet a lekérdező elől, akkor számíthat, de egyébként fölöslegesnek tartom. Egy plusz absztrakciós szintet visz be. Esetleg még akkor lehet hasznos, ha elképesztően bonyolult táblaszerkezet van, de csak néhány jellemző nézetre van szükség a program több részén, egyébként csak fölöslegesen bonyolítja a dolgokat.
x gon' give it to ya
-
fordfairlane
veterán
válasz Sk8erPeter #5516 üzenetére
Akkor viszont az általános, valóban érzékelhető, eme bolygón született weblapkészítők számára hasznos gyakorlati jelentőségével még mindig nem vagyok tisztában.
Ezzel én sem. A View egy lekérdezés szerveroldali prezentációban, virtuális tábla formájában, de mivel lekérdezéseket kliensoldalon is lehet eszközölni (kliensoldalként a megjelenítőréteg nyelvét értem, PHP vagy más), most már akár mysql-ben is akár több query-t is lehet egymásba ágyazni, sok értelmét nem látom. Anno régen, mikor SQL-t tanultam, akkor a példa a View-k használatára olyan eset volt, amikor az adatbázis adminisztrátor olyan szinten akarta korlátozni a hozzáférést az adatok és az adatszerkezetekhez, amit a beépített jogosultságkezeléssel nem lehet megoldani.
Előfordulhat, hogy view-k segítségével átláthatóbbá tehető bonyolult program- és adatszerkezet, és csak én nem használtam még eleget, nem ismerem a módszertant, mindenesetre egyszerűbb szituációk esetén nem hinném, hogy bármi haszna volna.
[ Szerkesztve ]
x gon' give it to ya
-
Tele von Zsinór
őstag
válasz Sk8erPeter #5523 üzenetére
Erre már érdemes lehetne, ha nem lenne benne a $page alapján négyféle kimenet.
Három megoldás jut eszembe hirtelen:
- a problémát okozó join marad php kódban, a többi megy viewbe, és ahhoz joinolsz
- a $page-től függő feltétel marad php kódban, select-kor where-rel szűrve
- írsz egy tárolt eljárást, mert annak tudsz paramétert átadni, és az rakja össze a teljes, $page alapján szűrt queryt (meg a $data_needed alapján is, ha már tárolt eljárás)Sajnos view-t nem lehet paraméterrel létrehozni.
A szintaktika egyszerű, a második megoldáshoz így csinálnám:
CREATE OR REPLACE VIEW valami AS
SELECT * FROM tbl_img
INNER JOIN tbl_ossze ON tbl_ossze.kep_id = tbl_img.kep_id
INNER JOIN tbl_kutya ON tbl_kutya.kutya_id = tbl_ossze.kutya_id
INNER JOIN tbl_torzskonyv ON tbl_kutya.torzskonyv_id = tbl_torzskonyv.torzskonyv_id
ORDER BY tbl_kutya.nev ASC ; -
omega88
csendes tag
válasz Sk8erPeter #5518 üzenetére
Az errort ki írattam az idézőjelet kiszedtem és a következő hibaüzenetet kaptam:
"110 A kapcsolat időtúllépés miatt megszakadt"
Az utólsó számot felvettem 250-re ,de így is ugyanezt írja ki.
A script működik ha apacheval be teszem a localhost-ra ,de a (000space.com) webhelyen nem működik. Lehe hogy a domain zárolja vagy lehet ,hogy a try.hu ra történű átírányítás miatt. Vagy a kettő együtt?
-
D@ni88
addikt
válasz Sk8erPeter #5539 üzenetére
köszi
legalább nem törik fel könnyen -
Tele von Zsinór
őstag
válasz Sk8erPeter #5535 üzenetére
Nem tudom, hogy lehet csak egy-egy mezőt átnevezni úgy, hogy közben a *-ot használod a mezők kijelölésére. Alternatíva lehet, hogy select * helyett csak azokat jelölöd ki, amik majd kellenek.
A tárolt eljárások egy sql-hez hasonlító nyelven megírt függvények, amiket az adatbázisszerver tárol és futtat. Lehet paraméterük, visszatérési értékük, stb., de ilyenekkel még csak oracle-ben foglalkoztam. Manual szerint a mysqlben is van hozzá valamennyi támogatás.
-
ArchElf
addikt
válasz Sk8erPeter #5545 üzenetére
Csinálj rá egy view-t (vagy kettőt, igénytől függően) és akkor csak a view deklarálásakor kell egyszer leírnod (és átnevezgetned az esetleg azonos nevű, de más tartalmú) mezőneveket.
Utána már tudod *-al selectelni, és nem néz ki dzsunkának a php kód sem.
SELECT * FROM view_kutya WHERE akármi = @akármi;
SELECT * FROM view_kutya_adatokkal WHERE akármi = @akármi;AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
ArchElf
addikt
válasz Sk8erPeter #5545 üzenetére
Stored procedure-re pedig:
MySQL Stored Procedure link, példa:
CREATE PROCEDURE kutyak_lekerese
(IN p_nev INTEGER, IN p_adatokkal INTEGER)
BEGIN
IF p_adatokkal = 0 THEN
SELECT * FROM view_kutyak WHERE nev = p_nev;
ELSE
SELECT * FROM view_kutyak_adatokkal WHERE nev = p_nev;
END IF;
ENDPHP Stored produre link, példa:
<?php
$stmt = $dbh->prepare("CALL kutyak_lekerese(?,?)");
$stmt->bindParam(1, $azonosito);
$stmt->bindParam(2, $adatokkal);
if ($stmt->execute()) {
while ($row = $stmt->fetch()) {
elemek_kiiratasa($row);
}
}
?>Amúgy ahogy korábban is mondtam (más topicokban is), konkatenálás helyett tessék paramétereket használni (már biztonsági szempontból is jobb, nem beszélve az átláthatóságról:
<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
// insert one row
$name = 'one';
$value = 1;
$stmt->execute();
// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
LW
őstag
válasz Sk8erPeter #5881 üzenetére
Értem, elnézést.
- - -
Itt elérhető a kis app amit készítek a CMSnek csúfolható alappakkomra.
Azt még nem tudom miért, de azért gondoltam megosztom veletek.
A lekérdezést még a másik topikban írt válasznál egyszerűbben sikerült megoldanom, bár így sem az igazi.Amúgy irodalomórán pattant ki az ötlet. Az osztályunkban mindenkinek adok egy felh/jelszó párost és meg tudjuk osztani egymással a tételeket, meg a többi agyromboló anyagot, amit érettségi előtt át kell nézni.
-
Brown ügynök
senior tag
válasz Sk8erPeter #5904 üzenetére
Ez csak egy példaoldal, kísérletezek. Nem az a lényeg mi van rajta, hogy mit írtam el, meg hogy mit hívok meg az osztályokból stb. Hanem ,hogy miért nem valid amikor a html kimenetnek annak kéne lennie.
"hacsak nem jön a jó tündér break utasítás képében..."
-
Brown ügynök
senior tag
válasz Sk8erPeter #5920 üzenetére
Igen, egyenlőre a Chrome beépített Developer Tools-át használom és majdnem olyan jó mint a Firebug. De a Firebug külön színezte a margót&eltartást.
Ez a HTML Validator bővítmény nem is rossz. Gyorsan tudsz vele ellenőrizni."hacsak nem jön a jó tündér break utasítás képében..."
-
Tele von Zsinór
őstag
válasz Sk8erPeter #5920 üzenetére
Nekem sem működik, Chrome 9.0.597.83 beta, Ubuntu 10.10 x64.
-
Speeedfire
nagyúr
válasz Sk8erPeter #5959 üzenetére
Egyre jobban kell nekem!
Még csorog lefele, kicsi a sávszél. Az egész pakkot leszedem, háhta épp valami kell majd. Java, vagy más. Erőforrásból csak egyél egy mezei pc neki. Remélem azért nem memory_leaks-es.Más sehol sem találok leírást arra, hogy hogyan kell a tabulátor és egyéb hasonlókat használni php alatt.
A \n az működik, de más nem akar. Van valami leírás a neten erről. Egyszerűen, akárhogy keresem nem találom.[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Speeedfire
nagyúr
válasz Sk8erPeter #5962 üzenetére
Köszi!
Esetleg azt megtudod mondani, hogy ezt, hogy lehetne escapelni? A netbeans szép piros jellel jelzi is, hogy bibi van. Php meg ugye error dob.
Már mindent próbáltam, de nem jön össze.echo '
<a href="'.$file.'" class="w" onmouseover="o(13, ''.$file.'');" onmouseout="f(13);">
<img src="'.$file.'" alt="'.$file.'"></a>
';Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Speeedfire
nagyúr
válasz Sk8erPeter #5964 üzenetére
Oh, hogy...
Kössz!Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Speeedfire
nagyúr
válasz Sk8erPeter #6000 üzenetére
Tényleg iframe-s.
Mindegy mostmár hála a PH! debugger csapatnak kiderül mi volt a hiba. Ugye 1. óra $_POST['valami'] kapcsos zárójel és nem sima.
A lényege annyi volt, hogy adott egy admin panel ahol galériában lévő fájlokat lehet mostmár nem csak törölni, hanem hozzá is lehet adni. Csak ugye nem akartam külön menüpontot neki, hanem beágyaztam ezt a többihez.
Meg ugye már megint kihagytam az apró dolgokat....kezd néha idegesíteni, hogy ennyire figyelmetlen vagyok.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Speeedfire
nagyúr
válasz Sk8erPeter #6004 üzenetére
Az lesz majd, a beküldésnél már az van az eleje óta. Csak a szerkesztésnél kellett valami gyorsan oda "firkantani".
Más: A session-őket nem lehet valahogy elkülöníteni?
Hírtelen most 2 admin panelen is dolgozok és mind a kettőnél ugyan azt a sessiont állítom be, és amikor a másikon be akarok lépni akkor már azt jelzi, hogy belépve....[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Inv1sus
addikt
válasz Sk8erPeter #6025 üzenetére
Elég nekem az a csomag, ami a php-t tartalmazza?
*** WEBDESIGN, GRAFIKUS DESIGN, FRONT-END PROGRAMOZÁS ***
-
Speeedfire
nagyúr
válasz Sk8erPeter #6103 üzenetére
Akkor én eddig tökéletesen csináltam. Bár én a sebességet nem néztem, csak az érdekelt, hogy ne kelljen a html elemeket escapelni.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Tele von Zsinór
őstag
válasz Sk8erPeter #6103 üzenetére
Urban legend. Amíg nincs benne változó, addig nincs mérhető különbség az idézőjel és az aposztróf sebessége közt.
-
Speeedfire
nagyúr
válasz Sk8erPeter #6109 üzenetére
Na most ha már sebesség akkor, ha jól emlékszem valaki anno mondta, hogy a sztring műveletek amúgy is lassúak.
pl mennyi lehet, egyáltalán mérhető-e a különség a 2 között?
Maradjunk a példádnál.1.eset:
echo '<img src="/images/misc/valid-xhtml10-blue.png" alt=".'$altimg'." height="31" width="88" />';
2.eset
<img src="/images/misc/valid-xhtml10-blue.png" alt="<?php echo $altimg; ?>" height="31" width="88" />
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Speeedfire
nagyúr
válasz Sk8erPeter #6112 üzenetére
Majd lehet egyszer lemérem valami random változókkal.
Én is arra tippelek, hogy a 2. gyorsabb lehet, de hogy mennyivel. Meg ugye abban az esetben kicsit körülményesebb lehet a kódolás szerintem, legalább is nekem az első eset kényelmesebb, főleg ha sok adat van, sok változó....Tedd azt én is azt szoktam.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Sk8erPeter #6120 üzenetére
Ja jó, most látom, hogy itt épp az a lényeg, hogy pl. egy tömb minden elemének megváltoztatása esetén milyen rossz eredmények tudnak kijönni a foreach ciklusra a forral szemben, lásd Conclusion:
"Conclusion:
Proof in this example shows how functionally murderous the foreach() loop can be."DE ez a modify loop-ra vonatkozott.
Van viszont read loop, ahol gyorsabb a for ciklus."Conclusion:
In all cases I've found that the foreach loop is substantially faster than both the while() and for() loop procedures. One thing to note is that when using an entire loop from the start it's extremely good to use the reset() function in all examples."Érdekes eredmények jönnek ki egyébként minden frissítésnél, pl. több frissítés után már az idézőjel vs. aposztróf kérdés is megfordult.
"Is a there a difference in using double (") and single (') quotes for strings. Call 1'000x
[...]
Conclusion:
In today's versions of PHP it looks like this argument has been satisfied on both sides of the line. Lets all join together in harmony in this one!"[ Szerkesztve ]
Sk8erPeter
-
Inv1sus
addikt
válasz Sk8erPeter #6121 üzenetére
Magyarán foreach kell a beolvasgatásra, for vagy while a módosításra. Bár nem értem, miért ennyire lassú módosítás esetén.
[ Szerkesztve ]
*** WEBDESIGN, GRAFIKUS DESIGN, FRONT-END PROGRAMOZÁS ***
-
Sk8erPeter
nagyúr
válasz Sk8erPeter #6121 üzenetére
Na, már megint rosszat írtam:
"Van viszont read loop, ahol gyorsabb a for ciklus."
helyesen:
"Van viszont read loop, ahol gyorsabb a foreach ciklus."Sk8erPeter
-
H.O.D.
senior tag
válasz Sk8erPeter #6121 üzenetére
A for és a while a határoló kifejezés kiértékelése miatt lassabb., ha csak végig akarod pörgetni.
A foreach() - amennyire én tudom - csak referencia szerint olvassa a tömböt, ezért lassul le, ha közben hozzányúlsz (ugyanaz a szitu, mint amikot egy tömböt referencia szerint adsz át egy függvénynek és ott módosítod).Where do you want to go today?
-
Inv1sus
addikt
válasz Sk8erPeter #6133 üzenetére
Ezek a hibák valamennyire visszadobhajták egyébként a teljesítményt? Vagy csak szemantikailag nem helyénvalóak.
*** WEBDESIGN, GRAFIKUS DESIGN, FRONT-END PROGRAMOZÁS ***
-
j0k3r!
senior tag
válasz Sk8erPeter #6139 üzenetére
omg : )
na erre nem gondoltam, mukodik mostmar, koszonom.pm: amugy a koddal kapcsolatban valami eszrevetel? valami nem lekezelt biztonsagi res?
[ Szerkesztve ]
some men just wanna watch the world burn...
-
zka67
őstag
válasz Sk8erPeter #6301 üzenetére
Nem arról beszélek. A textarea-nak is ugyanaz az alapértelmezett fontja mint a pre-nek. Magyarul amikor beírja, ugyanúgy látja mint ha pre-vel íratná ki.
De nem tart semeddig se megváltoztatni a stílust. Azt kérte az illető, hogy ugyanúgy nézzen ki neki a szöveg, mint amikor beírja, erre pedig a pre a megfelelő megoldás.
-
Tele von Zsinór
őstag
válasz Sk8erPeter #6316 üzenetére
Lehet valamennyire trükközni a noscript tag stílusával, hogy bár a domban hátul van, előrébb jelenik meg, vagy egyéb mód növeled a hangsúlyát.
A másik hozzászólásodhoz: örülök, hogy nem csak én vagyok rendszeres stack overflow felhasználó
Egy jól összerakott oldalnál az ajax megoldás nem egyszerűsít, inkább némi többletmunkát jelent - a plusz javascript, meg annak eldöntése, a szűk tartalmat akarja-e csak a user, vagy azt az egész layouttal dekorálva. És a fejlesztés úgy történik, hogy először megírod, aztán belenyúlsz egy kicsit, hogy ajax-szal működjön. Amennyire csak lehetséges, az oldalaimon törekszem a javascript nélküli használhatóságra. -
Siriusb
veterán
válasz Sk8erPeter #6330 üzenetére
Na igen, ebben egyetértek, a fejlesztőkörnyezetben az általad említett módszerrel sokkal áttekinthetőbb a kód.
-
rt06
veterán
válasz Sk8erPeter #6330 üzenetére
"Ráadásul tömbindexelésnél vagy egyéb esetben is szintaktikai hiba lehet belőle, az összefűzögetésnél könnyebb elkerülni (számomra)."
a kapcsolszarojeles megoldasnal nem - az alabbi pl szintaktikailag helyes (raadasul szamomra sokkal atlathatobb, mint a ponttal torteno konkatenacio, de ez mar izles dolga
$str = "valami{$valtozo["index"][$masikindex]}megvalami";
a vesszovel elvalasztast nem igen hasznalom (echo-t sem, print-elni szoktam, de ez leginkabb megszokas miatt van csak), sot, mostanaban egyre inkabb szokok ra a printf, sprintf hasznalatara
a sebessegrol meg annyit, hogy szerintem ugysem ezen a (talan) par tizezredasodpercen fog mulni a dolog, sokkal inkabb az adatbazislekereseken, egyeb muveleteken (es ez meg mindig sehol nincs a http kapcsolaton keresztuli kommunikacio lassusagahoz)
ha javitani akarok a kodom sebessegen, nem a kiiratas lesz az elso (sokkal inkabb az utolsok kozt), aminek nekiesek[ Szerkesztve ]
Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
Tele von Zsinór
őstag
válasz Sk8erPeter #6357 üzenetére
Arról nem is beszélve, hogy $e csak a catch blokkon belül van, amint annak vége, kikerül a scope-ból, és megsemmisül.
-
jeges
senior tag
válasz Sk8erPeter #6357 üzenetére
mindenekelőtt köszönöm a kiegészítéseket.
ciklus úgyben nem programozási struktúráról, hanem logikailag összetartozó lépések sorozatáról volt szó, ha megtévesztő számodra a megfogalmazás, elnézést.
!isset($e) részre vonatkozóan igazad (igazatok) van természetesen, itt valahonnan máshonnan vettem a kódrészletet. különösebb galibát egyébként az első esetben nem okoz, a második esetben valóban dupláz (ami nyilván kiderülne az első hibamentes futás alkalmával)
"a köszöntésnek épp a dátum után kéne lennie..." - felvetésre:
az, hogy a try/catch-ben vizsgált jelenség utáni lépést a szerkezetbe vagy utána teszed, környezetfüggő. nem néztem vissza, de emlékeim szerint itt "belefért" mindkettő. az viszont bizonyos, hogy az első hibamentes futás előhozza, ha mégsem a várt eredmény születik. a példa szempontjából majdnem mindegy. -
jeges
senior tag
válasz Sk8erPeter #6367 üzenetére
"Többek közt a fent említett indokok miatt nagyon nem"
abból a szempontból teljesen mindegy, hogy a kérdés feltevésekor
1) egyáltalán nem volt try/catch, így az egész hibára futott
(úgy gondolom ez volt az alapprobléma, amit megoldottunk)
2) a dátumkezelés miatt is hibára futott
(ez is megoldódott)a fentiek ellenére/mellett már elmondtam, hogy
1) mea culpa a megtévesztő szóhasználatért
(mellesleg azt gondolom, aki nem akarja, nem érti félre)
2) (még egyszer) köszönöm a kiegészítést, hiszen a megoldás valóban kiegészítésre szorult
3) az első hibátlan futás előhozza az addig esetleg elfedett nem várt működéseket
(lehet, mással nem fordul elő, hogy egy problémára koncentrálva elsiklik egy másik felett, velem bizony előfordul)amennyiben Te is egyetértesz, továbbléphetnénk.
-
shaggy
aktív tag
válasz Sk8erPeter #6374 üzenetére
ez az akart lenni h a test.php-t nem jeleníti meg nekem hanem ami benne van kódrész azt írja ki és nem tudom miért.
-
shaggy
aktív tag
válasz Sk8erPeter #6376 üzenetére
de localhost nyitom meg http:/localhos akkor behozza az apache az it's work! oldalát!
De amikor a test.php próbálom akkor csak a kódot írja ki nem amit kellene és nem tudom miért. -
Speeedfire
nagyúr
válasz Sk8erPeter #6387 üzenetére
Wamp-ot használok, de gondoltam meglesem ezt a appserver-t erre mit látok.
Php 6.0.0 dev. Ez mióta van, vagy mi lesz benne az újítás? Nekem ez most nagyon új infó, eddig erről nem tudom.Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
shaggy
aktív tag
válasz Sk8erPeter #6387 üzenetére
Igen rendesen le van zárva próbáltam röviddel és hosszúval is egyik sem jó még mindig a teljes kódrészletet írja ki.
De most letörlöm és amit mondtatok azt fogom feltenni és akkor remélem megoldódik a problémám -
shaggy
aktív tag
válasz Sk8erPeter #6387 üzenetére
Felraktam a wampot és csodálatosan működik köszönöm mindenkinek a segítséget azt hiszem ezt fogom használni!
-
j0k3r!
senior tag
válasz Sk8erPeter #6395 üzenetére
ha mar belementunk az oop php-be, akkor en is kerdeznek egyet. valahol azt hallottam (olvastam), hogy a magikus __call() al lehet fuggvenyt tulterhelni (amit egyebkent a php-ban azthiszem nem lehet).
a kerdesem az, hogy ezt szoktatok-e hasznalni? egyatalan lehet-e ilyet? (vagy csak en emlekszem rosszul)some men just wanna watch the world burn...
-
Sk8erPeter
nagyúr
válasz Sk8erPeter #6395 üzenetére
Korrigálnám magam annyiból, hogy tulajdonképpen valamilyen szinten mégiscsak "létrehoz" dinamikusan függvényeket a PHP, a lényeg:
http://php.net/manual/en/language.oop5.overloading.php
"Overloading in PHP provides means to dynamically "create" properties and methods. These dynamic entities are processed via magic methods one can establish in a class for various action types.The overloading methods are invoked when interacting with properties or methods that have not been declared or are not visible in the current scope. The rest of this section will use the terms "inaccessible properties" and "inaccessible methods" to refer to this combination of declaration and visibility.
All overloading methods must be defined as public."
Mellesleg most látom, hogy tulajdonképpen Tele von Zsinór már korábban leírta tömörebben a lényeget.
Na sebaj, elmondtam másféleképpen.---
(#6396) j0k3r!: pont a fentebb linkelt oldalon mutatják be a __call használatát!
Sk8erPeter
-
Tele von Zsinór
őstag
válasz Sk8erPeter #6395 üzenetére
Remek leírás, szép
@j0k3r!: a __call megkapja, milyen nevű függvényt akarsz meghívni és milyen paraméterekkel - aztán függvényen belül eldöntöd, mit akarsz ezekkel az adatokkal kezdeni. Valóban el lehet érni, hogy kívülről úgy nézzen ki, mintha túlterhelted volna, de ez nem változtat azon, hogy a php nem képes overloadingra. Default paraméterekkel lehet trükközni, de a gyenge típusosság miatt (egyelőre) nincs jobb.
@Speeedfire: akkor nézzük sorról sorra:
if(!array_key_exists($tulajdonsagnev, $this->_tulajdonsagok)) {
throw new Exception('Ervenytelen tulajdonsag-érték!');
}
if(method_exists($this, $tulajdonsagnev. 'Lekerdezes')) {
return call_user_func(array($this, $tulajdonsagnev . 'Lekerdezes'));
}
else {
return $this->_tulajdonsagok[$tulajdonsagnev];
}Van olyan tulajdonság amit be akar állítani? Ha nincs, akkor bizony hiba, és kész vagyunk.
Van olyan függvény, hogy "tulajdonságnévLekerdezes"? Ha igen, meghívjuk, és visszaadjuk, amit visszaad. Ha pedig nincs, akkor a tömb megfelelő indexű elemét adjuk vissza.A beállítás ezzel analóg logikával működik, csak ott nem visszaad, hanem beállít, és így a call_user_func() függvénnyel paramétert is átad.
[ Szerkesztve ]
-
Speeedfire
nagyúr
válasz Sk8erPeter #6395 üzenetére
Sk8erPeter & Tele von Zsinór: Köszönöm mindkettőtöknek, így utólag belegondolva pedig logikus és érthető is a dolog, nem értem miért nem értettem meg eddig.
Úgy néz ki nálam a hülyülés már korábban kezdődik mint kellene...Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
abteam2008
tag
válasz Sk8erPeter #6482 üzenetére
Már valamennyit haladtam. Először is van egy xbox_games.php-m:
<?php require_once('Connections/consolegames.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}mysql_select_db($database_consolegames, $consolegames);
$query_xboxgames = "SELECT gameId, gameTitle, gameGraphic, gameDesc FROM xbox ORDER BY gameTitle ASC";
$xboxgames = mysql_query($query_xboxgames, $consolegames) or die(mysql_error());
$row_xboxgames = mysql_fetch_assoc($xboxgames);
$totalRows_xboxgames = mysql_num_rows($xboxgames);
?>Body tagben pedig:
<?php do { ?>
<a href="xbox_games_details.php?id=<?php echo $row_xboxgames['gameId']; ?>" target= "_BLANK"> <img src="_images/<?php echo $row_xboxgames['gameGraphic']; ?>" width="195" height="262" />
<?php } while ($row_xboxgames = mysql_fetch_assoc($xboxgames)); ?>Ezzel kilistázza a játékborítókat, amelyekre kattintani is lehet (egy ilyen link jön létre kattintásra: http://localhost/consolegames/xbox_games_details.php?id=2)
Na most már "csak" az xbox_games_details.php-hoz kérnék segítséget. Úgy gondolom, hogy ezzel kellene bekérni az id-t:
<?PHP
$id = $_GET['id'];Tehát bekérném a gameId-ből az id-t, és az id alapján írná ki az oldalra a játék címét (gameTitle), borítóját (gameGraphic) és rövid leírását (gameDesc).
Eddig jutottam magamtól, innentől nem tudom tovább..
[ Szerkesztve ]
Xbox Series X
-
Speeedfire
nagyúr
válasz Sk8erPeter #6488 üzenetére
Itt olvashatsz róla az 5. hsz-től.
Az írják, hogy lassú és nagyon nyakatekert...
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
cucka
addikt
válasz Sk8erPeter #6491 üzenetére
Ez a fenti ilyenformán jól működik, mégis felmerült bennem, hogy tulajdonképpen melyik a gyorsabb, az, ha Apache-csal vagy PHP-vel dolgozom fel a címet?
Elég gyors bárhogy. Ha gyorsítani akarsz a kódodon, akkor a bottleneck-eket kell megkeresni, ilyen kaliberű dolgokkal fölöslegesen pocsékolod az időd. Kit érdekel, hogy 0.02 ms alatt futtatja le a regexp-et, vagy 0.03?Ti hogy látjátok a kérdést? Másképp használjátok, vagy muszáj elfogadni, hogy ez egy viszonylag kötött szerkezet, jól kell kitalálni az elején, és nem érdemes változtatni rajta később?
Fel lehet php-ból is dolgozni az url-t, ez valamivel rugalmasabb megoldás, de értelemszerűen a korábban könyvjelzőzött url-ek változására nem ad ez sem megoldást. A barátságos url-ek egyébként a keresőmotornak szólnak, nem pedig a felhasználónak, tehát szerintem egyszer elég jól kitalálni és utána nem piszkálni.Több RewriteRule-t hogyan adtok hozzá úgy, hogy helyesen működjön?
A RewriteRule-ok alapból így működnek. Fentről lefele halad a .htaccess fileban egészen addig, amíg talál egy megfelelő sort, ami alapján átírja az url-t. (Ennél jóval bonyolultabb amúgy, vannak feltételek, meg igazából ha talált egy jó RewriteRule-t, akkor nem áll le a feldolgozás, de nem akarok hülyeséget írni, szóval nézz utána ) -
Tele von Zsinór
őstag
válasz Sk8erPeter #6508 üzenetére
Többet vársz, mint a script futásideje, mert a böngésződ először DNS-felold, felépíti a kapcsolatot a szerverrel, elküldi a kérést, az előállítja a választ, átküldi, és végül kölcsönösen zárják a kapcsolatot. Te a kódodban csak a válasz generálásának idejét tudod mérni.
Új hozzászólás Aktív témák
- Gigabyte GA-H81M-DS2 rev:2.1 LGA 1150 alaplap
- IPhone SE2 2020 64GB megkímélt akku 86%
- Asus P8H67 LGA 1155 alaplap
- Bomba ár! Fujitsu LifeBook E754 - i7-4712MQ I 8GB I 128SSD I 15,6" I HDMI I Cam I W10 I Garancia!
- Bomba ár! Fujitsu LifeBook E754 - i5-4GEN I 8GB I 128SSD I 15,6" FHD I HDMI I Cam I W10 I Garancia!
- Eladó használt gamer pc! AMD Ryzen 5 5500 GeForce GTX 1650
- ASUS TUF VG249Q Gaming monitor, 23.8 , IPS, Full HD, 1 ms, 144Hz.. TÖRÖTT ALKATRÉSZNEK!!!
- Samsung Galaxy A34, Dual SIM, 8 GB RAM, 256 GB, 5G, 2025.05.24-ig GARANCIA!!!
- Dell Inspiron 3721 DLL 3721. ALAPLAP HIBÁS, BONTODIK!
- M-Wave kerékpártartó falra, kihajtható
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Ozeki Kft.
Város: Debrecen