- Parci: Milyen mosógépet vegyek?
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Gurulunk, WAZE?!
- Magga: PLEX: multimédia az egész lakásban
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Argos: Szeretem az ecetfát
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
válasz
pvt.peter #13428 üzenetére
Semennyire. A csatlakozáshoz szükséges adatok tárolói mind private-ok, hol lehet őket beállítani? Konstruktorban csatlakozik a szerverhez (miért is?), de be lehet zárni menet közben a kódban, így a későbbi részek meg is haltak, ha használni akarják. Állapotot tartalmazó cuccok nem lehetnek static változóban sosem. Ennél durvább már csak az lehetne, ha ehhez hasonló kóddal perzisztens kapcsolatokat használna valaki.
Ha jól emlékszem, a mysql nem is tud SQL tranzakciókat kezelni.
@Sk8erPeter
Van értelme wrapper-t csinálni, mert a mysqli és a PDO még nem az, illetve mind a kettő ocsmányul néz ki, plusz sosem tudhatod, mikor mondják azt, hogy PDO nincs, csak mysqli, akkor cserélhetsz mindenhol mindent, emellett meg tudja könnyíteni a tranzakciókezelést, be tudsz szúrni pl. PDO driver-specifikus beállításokat, ilyesmi.
-
Sk8erPeter
nagyúr
válasz
pvt.peter #13428 üzenetére
Igazából azt pötyögted be, ami kommentekben is megtalálható, túl sok új nincs benne. Ez a query1(), query2() elég mágikus név, mit akarsz vele megvalósítani? Mindenesetre már az elnevezés is rossz. De legfőképp az, hogy fel akarod fedezni a spanyolviaszt: ne akarj n+1-edik adatbázis-kommunikációs wrapper osztályt csinálni, ott a mysqli és a PDO, valamint remek ORM-ek vannak. Írtad, hogy a mysql_ függvények használatára vagy kényszerítve, de ezt az érvet sajnos nem tudjuk elfogadni.
Tehát minimum mysqli vagy PDO, a mysql_ kezdetű függvények használatáról 2013-ban már nincs is értelme beszélni.
Volt már korábban itt egy (v. több) hitvita a topicban, hogy Singleton-minta jó-e vagy sem, a vége az lett, hogy több érv szól a nem mellett (itt olvashatsz róla többek közt: [link], meg persze a topicban, a Singleton szóra rákeresve). -
sztanozs
veterán
válasz
pvt.peter #12042 üzenetére
google, első találat...
-
Peter Kiss
őstag
-
cucka
addikt
válasz
pvt.peter #11780 üzenetére
Nem szeretném, hogy úgy tűnjön, leugatok a magas lóról, de ez az elképzelés úgy szar, ahogy van. Egyszerűen felejtsd el, nem lesz jó, nem fog működni, sz*pni fogsz vele.
Ezt a feladatot úgy oldod meg, hogy 1 helyett 2 táblád van: az egyikben vannak a személyek, a másikban meg a személyek extra mezői. Így tetszőleges számú extra mezőt felvihetsz tetszőleges számú személyhez. -
-
Sk8erPeter
nagyúr
válasz
pvt.peter #11778 üzenetére
"Amennyiben hozzáadtunk új beviteli mezőket akkor bizony az oszlopok nem fognak megegyezni. Tehát vmilyen módon bővíteni kellene a meglevő struktúrát"
Ez nem túl jó ötlet. Ha valaki rosszindulatúan, vagy csak szórakozottságból hozzáad még 30 textfieldet, akkor annyival több meződ lesz az adatbázisban, ahol meg ezek nincsenek kitöltve, ott mind NULL érték lesz, tök feleslegesen?
Vagy nem értem, mi a cél ezzel, mi benne a ráció, szerintem ez rossz tervezés.
Nehéz általános receptet adni, sztem jobb lenne, ha a konkrét célt írnád le (milyen célra kell nyilvántartani az adatokat, stb.), úgy könnyebben tudnánk konkrét ötletet is írni.(#11771) blacee :
ez az elérési út létrehozására vonatkozó instrukció elég furcsa "megoldásnak" tűnik valóban, kétlem, hogy ez lenne a helyes út.
Nem tudom, OpenWrt-s cuccra nem raktam még fel webszervert és PHP-t, nem próbáltam, de itt konkrét leírások vannak:
http://wiki.openwrt.org/doc/howto/php
ez konkrétan Lighttpd-re:
http://wiki.openwrt.org/doc/howto/http.lighttpd#configuring.lighttpd.and.php5
Ez alapján sem sikerül? -
Peter Kiss
őstag
válasz
pvt.peter #11767 üzenetére
Alapötletként ezt tudnám javasolni:
<?php
class View {
private $_file;
public $Data;
public function __construct($viewFile, array $data) {
$this->_file = $viewFile();
$this->Data = $data;
}
public function Render() {
require $this->_file;
}
}Ebben az esetben, a view fájljában hozzáférsz a $this-hez, így eléred a $Data-t is benne:
<ul>
<?php
foreach ($this->Data["rows"] as $object) {
echo "<li>";
echo $object->Name;
echo "</li>";
}
?>
</ul>Nehogy sima query result-ot adj a view-nak! Csak sima bejárható kollekciókkal szabad dolgoznia, amelyekben objektumok vannak.
Ne használd a mysql_ cuccokat. Válaszd a mysqli_-t vagy inkább PDO-t. -
sztanozs
veterán
válasz
pvt.peter #11584 üzenetére
XSS ellen nem vééééd, de ... paraméterezett lekérdezés - és nem kell semmit ellenőrizni, escapelni és trükközni.
-
Sk8erPeter
nagyúr
válasz
pvt.peter #11381 üzenetére
Használd az "u" modifiert, úgy már nem cseréli le kettőre. A patternben meg ez is elég:
/(?:[^A-z\d\.-])/Példa:
$pattern = '/(?:[^A-z\d\.-])/u';
$replacement = '_';
$subject = 'teniszütő akármi lálálá ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP';
echo preg_replace($pattern, $replacement, $subject, -1);Eredmény:
tenisz_t__ak_rmi_l_l_l___RV_ZT_R__T_K_RF_R_G_PSzerk.: magyarázat:
Itt vannak a modifierek: [link]
az említett modifier:
"u (PCRE_UTF8)
This modifier turns on additional functionality of PCRE that is incompatible with Perl. Pattern strings are treated as UTF-8. This modifier is available from PHP 4.1.0 or greater on Unix and from PHP 4.2.3 on win32. UTF-8 validity of the pattern is checked since PHP 4.3.5." -
CSorBA
őstag
válasz
pvt.peter #11215 üzenetére
<input type="reset" name="torol1" id="torol1" value="Töröl" onclick="torol('input1')"/>
Ez nem anomália, hanem a kód azt csinálja amit kell
A hiba az, hogy reset az input típusa, amire a torol() eseményt kötöd. Mivel formban van, speciális dolgot csinál, vagyis alapból is resetel. Épp ezért nem szerencsés ehhez még pluszban ilyen eseményt rendelni, mert tök mindegy, hogy ellenőrzöd js-el, a reset ki fogja resetelni, mivel erre való
Így jó lesz:
<input type="button" name="torol1" id="torol1" value="Töröl" onclick="torol('input1')"/>szerk.: Offba raktam, mert ez nem a Javascript hanem a PHP topic.
-
Sk8erPeter
nagyúr
válasz
pvt.peter #11153 üzenetére
Szívesen! Tényleg nagyon hasznos, a PHP-s kódformázó a szintaktikai hibákat is kidobja egyből.
(#11159) Speeedfire :
utólag is lehet formázni kimenetet NetBeans-szel.Úgyhogy PazsitZ jól mondta, NetBeans ugyanúgy alkalmas kódformázásra, mint az előbbiek. Pl. létrehozol egy új (akár PHP-s) fájlt, bedobod a kimeneti HTML-kódot, és megnyomod a formázást, aztán megvan.
(#11157) Speeedfire :
azért lehet jobb a PHP_EOL, mert az adott platformnak megfelelő sorvége-jelet fogja kimenetként adni, pl. \n-t vagy a Windows-os \r\n-t. -
Sk8erPeter
nagyúr
válasz
pvt.peter #11150 üzenetére
JS-kódra, HTML-kódra:
http://jsbeautifier.org/PHP-kódra:
http://beta.phpformatter.com/ -
Peter Kiss
őstag
-
Peter Kiss
őstag
válasz
pvt.peter #11093 üzenetére
Lehetne, hogy egybe rakd őket, csak akkor rugalmatlanabb a kód. Ha mondjuk most megcsinálod, amit szeretnél, és később az alkalmazásod egy másik részén is szeretnél hasonlót, de mégis kicsit más lenne pl. a body rész (akár teljesen üres, bár ennek most nem sok értelme lenne), akkor az új leszármazott osztályodban csak a _renderBody() metódust kell újraírni, minden más maradhat a helyén, feltéve, hogy nem szükséges még valami plusz hozzáadása.
Ha egybe raknád (mondjuk a Render()-be), akkor a bővítés úgy történne nagy valószínűséggel, hogy az új osztályodba bemásolnád a régi Render() kódját, és módosítgatnád pár ponton, ez nagy méretű duplikáció.
Ettől nagyobb fokú rugalmasságot pedig úgy érheted el, ha megoldod azt, amit a Render()-hez írtam a kommentbe.
-
Peter Kiss
őstag
válasz
pvt.peter #11049 üzenetére
Valami ilyesmire gondoltam, ehhez hasonló irányt nagyobb versenyzők is követtek, nem véletlenül. Hiba lehet benne, nem próbáltam ki, igazából egy sornyi megvalósítást se akartam írni, de így talán egyértelműbb.
---
#11050, Sk8erPeter, ezt hívják ocsmány megoldásnak, no offense.
---
#11051, Soak, az OO-val még nem kerültél közelebbi barátságba, de nagy pirospont a külön header és tab-ok legyártásáért, innen már csak egy lépés a NVI (non virtual interface, én is ezt használtam).
-
Soak
veterán
válasz
pvt.peter #11049 üzenetére
Szia !
http://ideone.com/nUwsA ez megcsinálja azt kódot amit szeretnél (mármint a mellékelt kódrészletet) , egy osztály tulajdonságainak megfelelő számút, majd azok értékét beteszi magába a tabsba .
Szerk : A fül neve pedig a tulajdonság neve.
-
Sk8erPeter
nagyúr
válasz
pvt.peter #11049 üzenetére
Csak azt mondom, ami hirtelen eszembe jutott, lehet, hogy lehetne még ezerszer jobb megoldással (pl. template-ezéssel).
Esetleg gyűjthetnéd egy private $tabs = array(); tömbbe a füleket (privát osztályon belüli változó), ahol a tömb kulcsai maguk a fül azonosítói lennének. Kiegészíthetnéd az addNewTabet úgy, hogy egyből a HTML-tartalmat is hozzáadod:
public function addNewTab(tabId, tabLabel, htmlContentOfTab)
Aztán lenne egy renderTabs() metódus, ami legenerálná az összes fület ciklusokkal, úgy, hogy létrehozná a megfelelő linkeket (ez egy ciklus), meg hozzácsapná az azonosítókkal ellátott diveket (ez még egy ciklus).
Az osztályon belül a private $tabs = array(); tömbbe valahogy így gyűjthetnéd ki (ami az osztályon belül így lenne elérhető: $this->tabs):
$tabs = array(
'fragment-1' => array(
'label' => 'One',
'content' => '<p>tartalom egy.............</p>'
),
'fragment-2' => array(
'label' => 'Two',
'content' => '<p>tartalom kettő.............</p>'
),
'fragment-3' => array(
'label' => 'Three',
'content' => '<p>tartalom három.............</p>'
),
);Ez csak első megközelítés, de ezt így nagyon egyszerű lenne megvalósítani. Persze gondolni kell az XSS elkerülésére is biztonsági okokból, ha WYSIWYG-jellegű admin-felület lenne a tartalom belepakolására.
Új hozzászólás Aktív témák
Hirdetés
- Azonnali készpénzes INTEL CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- ÚJ Apple Macbook Air 15,3 M4 10C CPU/10C GPU/16GB/256GB - Ezüst -(2025)- 3 Ciklus-3 év gari - MAGYAR
- Konzol felvásárlás!! Xbox Series S, Xbox Serries X
- Apple iPhone 14 Pro 128GB Kártyafüggetlen, 1Év Garanciával
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest