- Azonnali notebookos kérdések órája
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Androidos fejegységek
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Milyen egeret válasszak?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Melyik tápegységet vegyem?
- Fejhallgató erősítő és DAC topik
- 3D nyomtatás
- Projektor topic
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Szarul fogalmaztam meg azt a részt, így utólag elolvasva. A generálásnál igazából template-ezést akartam írni, valamint azt, hogy előre megírt sablonokat, kereteket, jól bevált CSS reset fájlokat, a grides megvalósítást elősegítő SASS-kódrészleteket szoktak sokszor felhasználni, és hasonlók. Csak már nem volt kedvem jobban kifejteni, és a végét összecsaptam.
-
#68216320
törölt tag
Mivel asszociatív így a numerikus ki is zárható gondolom. Természetesen normál, egyszeres aposztróf ( ' ) a megfelelő. Csak nem értem miért találkozok sok kódban ennek a hiányával. Nem dob hibát a PHP, de valahogy fura. Na mind1. A net tele van furcsa dolgokkal
Sk8erPeter: Aha, csak azokat nem látom. Hogy lehet teljes error reportot kapni? Tehát gondolok itt arra, hogy nem csak azokat a hibaüzeneteket, amitől nem fut a program, hanem a warning-okat is. Mint pl. C++ fordítóknál. Sajnos szerintem néhány helyen ugyanis másolás miatt nálam is aposztróf nélkül lehet a key.
-
PazsitZ
addikt
Próbáld ezt:
function convert_quote($str){
$search = array( '&','<','>','"',chr(212),chr(213),chr(210),chr(211),chr(209),chr(208),chr(201),chr(145),chr(146),chr(147),chr(148),chr(151),chr(150),chr(133) );
$replace = array( '&','<','>','"','‘','’','“','”','–','—','…','‘','’','“','”','–','—','…' );
return str_replace($search,$replace,$str);
} -
Tele von Zsinór
őstag
A cookie - mint minden, ami a usertől jön - megbízhatatlan, és ezt most értsd a lejáratra is. A sessionbe érdemes tenni a legutolsó forgalom időpontját, és requestek elején ezt is ellenőrizni, ha szigorú lejáratra van szükséged. Általában elég ezt a php garbage collectorára bízni.
-
1ed
csendes tag
Szia!
Mert rosszul küldöd el a kérést. Ez nekem működött:
<?php
$body = <<<XML
<ns1:GetExchangeRate>
<ns1:currencyISO>JPY</ns1:currencyISO>
</ns1:GetExchangeRate>
XML;
$wsdl_url = "http://www.exporttechnologies.com/webservices/currencyservice/currencyservice.asmx?wsdl";
$client = new SoapClient($wsdl_url, array('trace' => true));
try
{
$response = $client->GetExchangeRate(new SoapVar($body, XSD_ANYXML));
var_dump($response->GetExchangeRateResult);
}
catch(SoapFault $e)
{
echo 'Request : <br/><xmp>',
$client->__getLastRequest(),
'</xmp><br/><br/> Error Message : <br/>',
$e->getMessage();
}
?>[Itt] meg tudod nézni, hogy kell kinéznie a kérésnek. (UseNow fül -> függvénynév -> Source fül) A header és body részeket kell csak neked kitölteni, a többit a függvény megoldja valahogy
Biztos van jobb megoldás is, meg pl az ns1 az nem tudom miért pont ns1, és hogy voltozik e.
-
Sk8erPeter
nagyúr
-
cucka
addikt
Designer többféle lehet:
Akkor biztos csak nekem nem volt eddig szerencsém a dizájnerekkel.Arra jó az egész, hogy ne legyen a HTML kód phpval teliszórva, illetve fordítva, a php ne legyen htmlel teliszórva.
Tehát a html nincs php-val teleszórva, cserébe tele van szórva sablonkóddal, amihez tartasz egy bonyolult sablonkezelő rendszert csak azért, hogy átfordítsa neked php kódra. Nem azt mondom, hogy szórjuk tele a php-t html kóddal, de az szerintem mindegy, hogy a kiiratásnál php szintaxissal illeszted be a változókat vagy a sablon saját szintaxisával.
A sablon, ha XMl alapú, ha bármi el van romolva , akkor vagy a benne lévő szöveget irja ki, vagy tök üres marad a XML element rész és nem is jelenik meg.
Ez előny és hátrány is egyben. Php hibaüzeneteket egyszerűbb azért debugolniHa igy csinalod es a menu nincs db-ben, akkor hogy rendelsz hozza egy menuponthoz pl 10 cikket???? pl. ha ajanlani akarsz valamit?
A menüpontnak van azonosítója, sorrendje, neve, url-je és tartalma. A tartalom mondja meg, hogy mi kerül oda. A tartalom kiiratásnál megkérdezem a menü objektumtól, hogy az aktuálisan kiválasztott menüpontnak mi a tartalma, ez alapján megkérem a megfelelő objektumot, hogy legyen szíves írja ki magát. Elmondva bonyolultabb, mint megvalósítva. -
cucka
addikt
Miért haszontalan? A designernek elég a html kódhoz érteni.
Az adatot meg megkapja.
Eddigi tapasztalataim:
- a dizájner nem tud html/css kódot írni, vagy tud, de az olyan, hogy inkább megírom én helyette
- nincs dokumentálva az oldal minden egyes eleme 100%-os pontossággal
- a pontatlan doksi és a menet közben történt változások folyamatos programozó-dizájner kommunikációt igényelnek, tesztelésnél várni kell a másikra
- a programozó dizájner kommunikáció több időt vesz el, mint ha a programozó megírja maga a html kódot
- a legfontosabb: a sablon csak szintaktikailag különbözik a php+html kódtól, szemantikailag nem. Tehát behozol egy új absztrakciós szintet a rendszeredbe, ami gyakorlatilag semmi másra nem jó, mint hogy bizonyos fogalmakat átnevezzen.Ez utóbbi a legfontosabb ellenérzésem az egésszel kapcsolatban. Gyakorlatilag mindegy, hogy a <modtagcloud> tag-et cseréled le a print_mod_tag_cloud() függvény visszatérési értékére, vagy direktben írod ki azt. Bevittél a rendszeredbe egy nagy, bonyolult, hibalehetőségeket tartalmazó modult, ami annyit tud, hogy a saját szintaxisát lefordítja php szintaxisra.
Ami még problémás, hogy a sablonozás nem igazán felel meg az oop szemléletnek. Hiába vannak objektumaid, azok nem tudják kiírni magukat, pedig pont ez lenne a lényeg, hogy az alkalmazáslogikában az értelmes dolgokkal foglalkozz és az érdektelen dolgok legyenek megvalósítva az objektumban. Ilyen érdektelen dolog a html kiírás.
Tehát ha van egy menü objektumom, akkor az be tudja tölteni az adatait, el tudja menteni az adatait, lehet menüpontot hozzáadni/törölni és ki tudja írni magát html-ben. Az alkalmazáslogikát tartalmazó file-okban nincs semmi, ami a menü belső reprezentációjával kapcsolatos, mint ahogy a sablon file-okban sem. Igazából tök mindegy, hogy az a menü honnan jön, hány szintes, hogyan van belül reprezentálva, ez nem tartozik sem az alkalmazáslogikára, sem pedig a sablonra. Ettől lesz oop-s.
Ennek tükrében az általad említett tagcloud modul az nem egy 100-200 soros lineáris php szkript, hanem egy osztály. Az osztályt példányosítom, felparaméterezem, majd a sablonban szólok neki, hogy írja ki magát. Az osztály hordozható, általános. Ha valamilyen speckó viselkedésre van szükség, akkor származtatok belőle egy alkalmazásspecifikus osztályt, ahol megvalósítom a változtatásokat. Sőt, az ős osztályom származhat egy lista osztályból, ami valamilyen lista kezelésére alkalmas. A tagcloud osztálynál így csak és kizárólag a kiírást kell megvalósítanom, minden más benne van az ősben.
Amúgy tudom, nem csak ezzel az elképzeléssel lehet jól működő weboldalt gyártani, egyszerűen csak jelezni próbálom, hogy az átlag mvc-jellegű megoldásoknál vannak jobbak is.
Menünél nem tartom jó ötletnek , ha a user átír egy filet, nagyon nem, elronthatja satöbbi.
Menüszerkesztésnél a júzer nem tudja, hogy mit ír át. Kap egy felületet színes gombokkal, amivel tudja szerkeszteni a menüjét. Az az én dolgom, hogy a változtatásokat file-ban vagy adatbázisban tárolom. -
cucka
addikt
Azon gondolkodtam a templateengine amit hasznltunk, illetve amit írok anélkül mvc, hogy tudnám jobban mi az mvc, és csak nem is oop.
Egy template engine nagyjából ugyanazt jelenti, mint az mvc view része. Amúgy kevés haszontalanabb dologgal találkoztam eddig, mint a template engine-ek (pl. Smarty). Bár lehet, hogy nem találtam még meg a jó template engine-t.Külön van a megjelenítésért felelős kód, a template-ben csak xml-ek vannak, php nincs, és egyéb dolgokat a php modulok végzik.
Tehát a php és a html közé bevezettetek még egy absztrakciós szintet? Mesélnél erről bővebben, milyen plusz funkcionalitást hordoz?Írnál az mvcről még?
Nagyon sokat nincs mit írni, igazából nagyobb a füstje, mint a lángja. A lényege, hogy külön legyen az adatok reprezentációja és értelmezése (ezek osztályok, segédfüggvények), külön az események kezelése és külön a kiírás. Erre néhány weboldal elkészítése után magadtól is rá tudsz jönni, szóval nem kell túlmisztifikálni, nincs benne semmi extra.
A másik dolog, hogy a szigorúan mvc elgondolás szerintem elég kényelmetlen, fapados, nem eléggé entörprájz, a sokkal magasabb szintű absztrakciót képviselő doboz hierarchia elgondolás közelebb áll hozzám, minél távolabb van a html/css/javascript hármastól, annál jobb. (Valójában keverni szoktam a kettőt, annak függvényében, hogy melyik a hatékonyabb. Például a korábban leírt fa reprezentációm jellemző példa a doboz hierarchiás elképzelésre)
-
cucka
addikt
Ez a két sor bekerült a httpd.conf-ba?
LoadModule php5_module php/sapi/php5apache2.dll
AddType application/x-httpd-php .php
(vagy valami hasonló, netről másoltam. A loadmodule mondja meg az apache-nak, hogy használja a php modult, az addtype pedig azt, hogy a .php file-okat dobja át a php modulnak)
Másik megoldás, hogy letöltöd és telepíted az appserv nevű cuccot, ami lényegében egy normálisan beállított apache+php-nak felel meg, nincs benne semmilyen "nem szabványos" cucc.
Oop-t pedig érdemes megtanulni, nagy rendszernél esélyed nincs normális megoldásokat készíteni oop nélkül.
-
biker
nagyúr
abba a mezőbe, ami auto_increment, és nem akarok értéket adni, nem adok meg kulcs érték párt, és akkor nem kell se '' se NULL, vagyis se a mező nevet ne add meg (ID), se a VALUES tagnál a ''-t, az a biztos, akkor tutti auto lesz.
multkor hasonló miatt szívtam auto dátummezővel -
cucka
addikt
Elvileg a trim-es és a #3505-ben írt preg_replace-es megoldás is jó kéne legyen, kipróbáltam és mindkettő működik.
Debugoláshoz szerintem irasd ki az összefűzött stringet a fölösleges "OR" leszedése előtt és után, hátha kiderül belőle valami. (Bár megmondom őszintén, fogalmam sincs, milyen probléma lehet vele, elvileg jó kell legyen a kód.Amúgy én általában tömbös megoldást használok erre a problémára. Tudom, kicsit lassabb, viszont talán egyértelműbb:
$tmparr=array();
foreach($categories as $category=>$value){
$tmparr[]="intCategory LIKE '%".$value."%'";
}
$categorytext=implode(" OR ", $tmparr);esetleg egy egyszerű ellenőrzéssel:
foreach($categories as $category=>$value){
$categorytext.="intCategory LIKE '%".$value."%'";
if ($category!=end(array_keys($categories))) {
$categorytext.=" OR ";
}
} -
-
fordfairlane
veterán
Ennyit találtam ki hirtelen:
$query = '
SELECT DISTINCT id,title FROM ((SELECT id,title,1 AS sorrend FROM cikkek WHERE title LIKE "%tes%")
UNION
(SELECT id,title,2 AS sorrend FROM cikkek WHERE keywords LIKE "%tes%")
UNION
(SELECT id,title,3 AS sorrend FROM cikkek WHERE lead LIKE "%tes%")
UNION
(SELECT id,title,4 AS sorrend FROM cikkek WHERE content LIKE "%tes%")
ORDER BY sorrend, id) AS result
'; -
tbs
addikt
Mi a cél..? Én speciál egy trükkös, requestenként egyedi sztringet használok a kép azonosítására, aminek segítségével nyomonkövethető, hogy milyen ipről, milyen böngészőről, mikor, stb. linkelték tovább.
Egyszerű onclick vagy egyszerű anchor. Nálam semmi trükk.
(Nem vagyok híve a nem szerverkört befutó klikkeknek...
)
-
DArchAngel
tag
Természetesen megint elrontottam, a tegnapi nap már csak ilyen volt.
A második módon kellene kipróbálni a következő fgvt:function enFgvem( $input, $tagvaltozok ) {
$output = array();
$i = 0;
foreach( $input as $key => $input_value ) {
$output[ $i ] = array();
foreach( $tagvaltozok as $tkey => $tagvaltozo ) {
$output[ $i ][ $tkey ] = $tagvaltozo;
}
$i++;
}
return $output;
} -
DArchAngel
tag
Nem tömb. Ojjektum...
Az ojjektum valamilyen tagváltozójával hozz létre a tömbön belül tömböt.$output[ $input_value->valami_valtozo ] = array();
vagy egyszerűen:
function enFgvem( $input, $tagvaltozok ) {
$output = array();
$i = 0;
foreach( $input as $key => $input_value ) {
$output[ $i ] = array();
foreach( $tagvaltozok as $tkey => $tagvaltozo ) {
$output[ $input_value ][ $tkey ] = $tagvaltozo;
}
$i++;
}
return $output;
} -
DArchAngel
tag
Ugye egy tömbben vannak objektumaink, és azok tartalmaznak tagváltozókat.
Ezekből kellene tömböt építeni, de ezt te általánosan szeretnéd csinálni.Akkor egyszerűen egy olyan függyvény kell, ami kap paraméterként egy tömböt, abban meg azt, hogy milyen tagváltozókat akarsz kiexportálni a "nagy" tömbből.
Pl.:function enFgvem( $input, $tagvaltozok ) {
$output = array();
foreach( $input as $key => $input_value ) {
$output[ $input_value ] = array();
foreach( $tagvaltozok as $tkey => $tagvaltozo ) {
$output[ $input_value ][ $tkey ] = $tagvaltozo;
}
}
return $output;
} -
cucka
addikt
Csak a kód lesz nagyobb és lassabb tőle.
nem feltétlenül lassabb, nagy programoknál viszont sokkal átláthatatlanabb és nehezebben karbantartható. (ok, lehet értelmesen is írni procedurális kódot, de azért az oop-s általában jóval elegánsabb)
ja és azt se felejtsd el, hogy ha fejlesztőként szeretnél dolgozni, akkor az álláslehetőségeid száma erősen közelít a nulla fele, ugyanis igen kevés hely lehet, ahol nagyobb szoftvereket nem oop-vel fejlesztenének. meg állásinterjún sem nyerő taktika bevágni, hogy az oop túl magas, ilyenkor szerintem perceken belül meg fogják mutatni, merre van az ajtó.
nade a lényeg, hogy nem mumus az az oop, tényleg könnyen rá lehet érezni, csak elhatározás kérdése. meg nyilván ennek a tanulásához leginkább ajánlott nyelv a c++.
[Szerkesztve]
[Szerkesztve] -
-
cidalain
veterán
-
Korcsii
őstag
ok, akkor máshogy fogalmazok:
a táblázat egy oldalon van (nem saját, egy böngészős játék statisztikája) amit egy saját (csapat) oldal(á)ra szeretnék berakni...
a csavar még az benne, hogy nem én vagyok a csapat vezetője, és így a táblázathoz nem férek hozzá...
így ctr+a ctr+c majd a mi oldalunkon ctr+v megoldásra gondoltam...
és a forrás oldalon a(z oldal legalján lévő) táblázat fölött még van némi szöveg (több sor) -
cucka
addikt
- hogy tudok /érdemes megadni színtartományt /palettát, hogy meg tudjam mondani hol van az adott pont, és milyen szín van r sugarú környezetében ?
egy adott színnek megfeleltethetsz egy pontot egy 3 dimenziós, 256 oldalhosszú kockában. a színtartomány az az adott pont körüli gömb, amelynek sugara határozza meg a színtartományod ''szélességét''. innen remélhetőleg világos, hogy két szín ''különbsége'' 2 pont távolsága ebben a kockában.
-imagecolorstotal miért 0-t ad vissza ? - php manual-ban írja, hogy true color képekre nullát ad vissza.
[Szerkesztve]
Új hozzászólás Aktív témák
- ASUS TUF Gaming F15 FX506 - 15.6"FHD IPS 144Hz - i5-11400H - 8GB - 512GB - RTX 3050 Ti - 1,5 év gari
- Lenovo ThinkPad X270 (15) - i5-7300U, 16GB, 512GB SSD, 12" FULL HD
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- HP ProoBook 745 G7 laptop /Ryzen 3 4300U/4GB DDR4/256GB NVMe (Erősen "B" kategóriás esztétikailag)
- iKing.Hu - Apple iPhone 14 Pro - Deep Purple - Használt, karcmentes, 100% akku
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest