Új hozzászólás Aktív témák

  • Peter Kiss

    senior tag

    LOGOUT blog

    válasz Lacces #12099 üzenetére

    Próbáltál valami okosat mondani ezzel a kódbiztonsággal kapcsolatban, de valahogy nem sikerült. Itt nem arról van szó, hogy egy fejlesztő mennyire ügyes, hanem egyáltalán a lehetőségek milyenek: egy gyengén típusos nyelvnek esélye sincs egy típusos, fordított nyelvvel szemben, de, ha nagyobb képet nézem, akkor az vicc például, hogy a DateTime osztály működése PHP-s verziókon keresztül billeg, hibásan működik, ez nem megengedhető.

  • trisztan94

    őstag

    válasz Sk8erPeter #12083 üzenetére

    + Athlon64+

    Igazából Én nem azért váltanék, mert bajom van az ASP.NET-tel, szép. jó, gyors, imádom. A legfőbb oka az, hogy a legtöbb megrendelőm nem cég, hanem magán ember, ebből kifolyólag ha közlöm velük, hogy 3x(vagy többször) drágább tárhelyet kell szerválniuk azért, mert én azzal csinálom.. hát volt már aki vissza mondta. Aztán, ha lesz egy nagyobb megrendelésem tudok majd ASP.NET-re hivatkozni, hogy én azt már pedig tudom, de addig is, a magánembereknek bőven elég a PHP.

    https://heureka-kreativ.hu

  • Peter Kiss

    senior tag

    LOGOUT blog

    válasz trisztan94 #12102 üzenetére

    Meg kell győzni őket a jó oldaláról. :DDD

    Viszont, ha már váltani akarsz, nem biztos, hogy a Yii lesz a legjobb. Nem használtam, csak a doksiát nézegetve nekem nem jött be (szerintem messze áll az ASP.NET MVC-től és a kapcsolható ORM-ektől).

  • Lacces

    őstag

    válasz Peter Kiss #12101 üzenetére

    Ez igaz :) + jobban is olvasható, hogy mit fog visszaadni az adott függvény, ez borzalom PHP-ban, hogy sosem tudom, hogy mit ad vissza, és ha nincs dokumentálva, hanem barkácsolt, akkor meg .... nagyon-nagyon utána kell olvasni.
    Biztonsággal kapcsolatban pedig értem én, hogy mit akarsz mondani :).

    Egyébként én már főleg Java-ban utazom, azt is tudom javasolni ASP.NET mellett.
    A Grails (másik nevén: Groovy and Rails ) nagyon jónak tűnik így első ránézésre :). Persze aki core C#-os annak nem javasolt :)

    [ Szerkesztve ]

  • Sk8erPeter

    nagyúr

    válasz Lacces #12104 üzenetére

    Röviden: azért sajnos elég sokszor előjön, hogy a PHP azért mégis csak egy kicsit tákolmány nyelv.

    Sk8erPeter

  • Lacces

    őstag

    válasz Sk8erPeter #12105 üzenetére

    Jah, viszont egyszer volt egy olyan, hogy ASP.NET MVC-ben voltam, és kódot kellett javítani, és azt hittem leütöm a monitort a helyéről.... mert a weboldal 1/3-a VB.NET-ben volt megírva a többi meg C#-ban volt... és így ááááá... :DDD
    Én kiszálltam a témából :).

  • Speeedfire

    nagyúr

    válasz Sk8erPeter #12105 üzenetére

    Ettől függetlenül mégiscsak használható nyelv. :)

    Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

  • Sk8erPeter

    nagyúr

    válasz Lacces #12106 üzenetére

    Azt senki nem mondta, hogy ne lehetne attól még érdekes megoldásokkal találkozni ASP.NET-ben is... :)

    (#12107) Speeedfire :
    ha nem lenne használható, akkor ez a topic már rég döglött lenne, vagy meg sem született volna. :DDD
    Használható, viszont sajnos megengedi a gányolást, és ez alapvetően káros, én jobban örülnék neki, ha sokkal szigorúbb és főleg típusos lenne. Tudom, akkor térjek át az ASP.NET-re. :D

    Sk8erPeter

  • Speeedfire

    nagyúr

    válasz Sk8erPeter #12108 üzenetére

    Épp akartam írni, hogy húzzál át ASP dotnetre. :DDD
    Nekem pl meg kifejezetten bejön, hogy nem kell megmondani, milyen adat megy be. Majd én azt a kódban eldöntöm, hogy jó vagy sem. :D
    Tudom, gányolás... ;]

    Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

  • Sk8erPeter

    nagyúr

    válasz Speeedfire #12109 üzenetére

    "Nekem pl meg kifejezetten bejön, hogy nem kell megmondani, milyen adat megy be. Majd én azt a kódban eldöntöm, hogy jó vagy sem."
    Az igen! :DD .... jó programozási szokásaid vannak... ;]

    Sk8erPeter

  • Speeedfire

    nagyúr

    válasz Sk8erPeter #12110 üzenetére

    Nézd! Elég sok validálás van a legtöbb framework-ben a sima típustól elkezdve a regexp-ig. Yii-nél pl kifejezetten bejön, hogy ellenőrzi az email címet, hogy létezik-e vagy sem (spammerek kíméljenek).
    Ha valaki megfelelően használ valamit és megpróbál mindent validálni, akkor nem lehet elrontani szerintem. :N
    Ezt lehet nézni gányolásnak vagy akár fícsőrnek is. :DDD

    Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

  • Sk8erPeter

    nagyúr

    válasz Speeedfire #12111 üzenetére

    Nem értem, mit akartál ezzel mondani. Hogy egy adott formelemre milyen validálási szabály vonatkozik, annak köze sincs ahhoz, hogy mindezt ne lehetne tökéletesen jól megcsinálni egy típusos nyelvben. Emiatt nem kell PHP-t használni (vagyis megfordítom: nem emiatt kell PHP-t használni). :U Nem vágom, mire akartál kilyukadni.

    Sk8erPeter

  • Speeedfire

    nagyúr

    válasz Sk8erPeter #12112 üzenetére

    Hát, hogy szerintem nem lesz sz@rabb, ha nem típusos. De ez csak magánvélemény.

    Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

  • Sk8erPeter

    nagyúr

    válasz Speeedfire #12113 üzenetére

    Dehogynem. PHP-ben egy változóba azt tolsz bele, amit akarsz, ami korábban egy integer volt, abba lazán belepakolhatsz egy objektumot, aztán felülbírálhatod stringgé, kreálhatsz belőle tömböt, tákolhatsz-gányolhatsz büntetés nélkül. Na, ilyet egy normális, típusos nyelvben nem tudsz megtenni.

    De a validálós példád még mindig nem értem, hogy jött ide. :)

    Szerk.: az első bekezdésben említett példával kapcsolatban a legnagyobb baj az, hogy sokan a PHP-fejlesztők közül ezt szégyentelenül meg is teszik. :D És ezzel még pénzt is keresnek.

    [ Szerkesztve ]

    Sk8erPeter

  • Coyot

    őstag

    válasz Sk8erPeter #12114 üzenetére

    Tudod, erre szokták azt mondani, hogy a megrendelő nagyon nagy ívben szarja le, hogy milyen minőségű a kódod, működjön. :D

    Tudom és értem miért kell okosan kódolni, de azért a php legnagyobb előnyéből ne csináljunk már hátrányt.
    Ha fáj hogy bármibe bármit tehetsz és imádod a compiler error tényleg menj .NET-re :))

    Hozzáteszem én is a szép kódolás híve vagyok, és nem szoktam gányolni, de engem nem zavar ha egy tömbbe stringet teszel, csak legyen ott az a rohadék komment hogy az miért jó úgy (pedig igazad van általában nem jó úgy...), nomeg a változók és függvények neve ne a,b,c legyen. Szerintem ezek sokkal nagyobb hibák, mint az előbb említett.

    Szigorúan szerintem :R

    [ Szerkesztve ]

    Má' nem

  • Sk8erPeter

    nagyúr

    válasz Coyot #12115 üzenetére

    Na nehogy már az jöjjön ki az egészből, hogy ti csináljátok jól, mert szétszarjátok a kódotokat, nekem meg túl nagy elvárásom van, hogy egy tömb az maradjon tömb, és ne legyen már hirtelen belőle integer... :W

    "Tudom és értem miért kell okosan kódolni, de azért a php legnagyobb előnyéből ne csináljunk már hátrányt."
    Szerinted komolyan az a legnagyobb előnye a PHP-nek, hogy egyetlen változóba beletömködhetsz BÁRMILYEN típusú elemet? Hát ez elég sajnálatos, ha így látod. :D

    "nem szoktam gányolni"
    Hát az előbb mondtad, hogy szoktál, sőt, kifejezetten szereted ugyanazt a változót felhasználni tömbre, objektumra, stringre, jó az vidékre!

    "engem nem zavar ha egy tömbbe stringet teszel"
    Egy tömbbe nyugodtan kerülhet string, azzal nincs is baj, például
    $en_tombom = array('valami');
    tessék, van benne egy string, és ebben még semmi gányolás nincs. :D

    Mutatok példát, ami már a gányolás netovábbja:
    $en_tombom = array('valami');
    fuggvenyhivas_tombot_varok($en_tombom);
    $en_tombom = 123;
    fuggvenyhivas_integert_varok($en_tombom);

    :DD
    Valóban gyönyörű.

    Sk8erPeter

  • Coyot

    őstag

    válasz Sk8erPeter #12116 üzenetére

    Igen a php egy scriptnyelv, és nem típusos, pontosan ezért használják annyian és emiatt az egyszerűség miatt lett ilyen népszerű. Tehát igen ez a nagy kényelmesség előny, ha nem lenne ilyen egyszerű lehet nem is ez terjedt volna el.

    Az a baj félreértesz, 100%-ban igazad van, én sem használom ilyen szinten szarul a php-t (és nem szoktam gányolni azt nem tudom honnan szedted :F ), de, és ott a de és mindig ott lesz ez a de: amíg a nyelv nem típusos addig marha sokan fogják így használni, mert engedi.

    Sok régi kódot írtam újra, és tele volt ilyenekkel, biztos bennem van a hiba, hogy nem akadok fent rajta, de mint mondtam a komment hiány és a semmitmondó változónevek engem ezerszer jobban zavarnak, mert anélkül aztán tényleg nehéz kiigazodni mások kódjában.

    A tömbbe stringes példa nagyon aranyos meg minden, de te is tudod szerintem hogy mire gondoltam :D

    Má' nem

  • Sk8erPeter

    nagyúr

    válasz Coyot #12117 üzenetére

    Arról beszéltünk, hogy ez a típustalanság mennyire káros is tud lenni, milyen gányolásokhoz vezethet, erre te ezt reagálod: "azért a php legnagyobb előnyéből ne csináljunk már hátrányt.".
    Hát szerintem nem az a legnagyobb előnye. :N

    Sk8erPeter

  • modder

    aktív tag

    válasz Sk8erPeter #12118 üzenetére

    Szerintem egyáltalán nem előny, hogy ugyanaz a referencia többféle típusú értéket vehet fel. Sőt egyáltalán az, hogy a függvényeknek nem kötelező megadni a paraméter típusát.
    -- Így ha valaki netalántán újra szeretné használni, ha nincsen dokumentálva vagy nem néz bele a kódjába, fingja nem lesz róla, hogy milyen paramétert vár.
    -- Másik legnagyobb gáz, hogy sokan többféle visszatérési értéket adnak egy függvénynek.
    De nem is akarom részletezni, hogy hányféleképpen rossz ez a típustalanság.

    Ami előnye (lenne), hogy nem kell mindenhol kiírni a típust, de ez nem feltétlenül jelent dinamikus típusosságot. Vannak más nyelvek, ahol gyönyörűen meg van oldva, hogy ha létrehozol egy változót, onnantól már nem változtathatsz a típusán, és ki sem kell írni a típusát sehol. Azonban fordítási hiba lesz, ha mégis más típusú értéket akarsz adni neki. Ezt hívják type inferencenek.

    Pl. php-ban valahogy így nézne ki:
    $azEnKecskem = new Kecske();
    $mostMarMasKecskeje = $azEnKecskem;
    $gyerekKecske = Kecskek.szaporodj($azEnKecskem);
    // eddig végig lehet következtetni, hogy mi a változók típusa

    // azonban a következő compile errort dobna, ha esetleg
    // szeretnénk újra felhasználni egy létező változót
    $azEnKecskem = new Auto();

    Coyot hozzászólására reagálva

    [ Szerkesztve ]

  • Speeedfire

    nagyúr

    válasz Sk8erPeter #12116 üzenetére

    Márpedig hiába csapkodod a fejed a falba, pont emiatt a típustalanság miatt népszerű ennyire. :)

    Itt most nagyon előhoztad a tömb dolgot, az tényleg gány. De ha van pl egy function akkor miért baj az, ha nem mondom meg előre, hogy mit kell várni?
    Nonszensz számomra.

    Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

  • Sk8erPeter

    nagyúr

    válasz Speeedfire #12121 üzenetére

    Nem, én nem hiszem, hogy csak a típustalanság miatt népszerű ennyire, én nem tudom, ezt honnan szeded. :)
    Szerintem azért ilyen népszerű, mert gyorsan lehet benne fejleszteni, viszonylag egyszerű, óriási közösség áll mögötte, mérhetetlen mennyiségű tutorial, segédanyag, erre épülő fórum, sok-sok tapasztalat áll rendelkezésre (ergo könnyű segítséget találni hozzá), sok platformon nagyon gyorsan működésre lehet bírni, széleskörű a támogatottsága (keretrendszerek, library-k, CMS-ek, IDE-k, más nyelvekkel történő kommunikáció), és nem mellesleg ingyenes. Most még ráadásul nem is soroltam fel mindenféle érvet mellette, ami miatt népszerű lehet, ez csak az, ami hirtelen beugrik. Az előzőek miatt nagy a kereslet az ebben programozni tudó fejlesztőkre (magyarul munkát is kínál), és weboldalra mindig szükség van és lesz, viszont a megítélése éppen a könnyű gányolási lehetőségek miatt nem is túl jó általában, és ez némileg árnyalja a dolgot.

    "De ha van pl egy function akkor miért baj az, ha nem mondom meg előre, hogy mit kell várni?
    Nonszensz számomra."

    Nem tudom, ezt hányféleképpen lehetne még elmagyarázni azontúl, amiket leírtam, és amiket modder előttem nagyon jól összefoglalt. Próbáld meg végiggondolni ezeket az érveket még egyszer. Ahogy Coyotnak is érdemes lenne. :)

    Sk8erPeter

  • Speeedfire

    nagyúr

    válasz Sk8erPeter #12122 üzenetére

    Teljesen egyet értek veled a 2. bekezdéseddel. Ezek talán a legnagyobb előnyei.

    Mindenütt vannak alapvető szabályok. Az hogy valaki nem írja a funkció elé, hogy miket vár és mi a visszatérési érték a későbbi kód újrahasznosítás miatt megértem. Én is ki szoktam kommentezni előtte és leírom szépen. De ez ettől még nem gányolás. :N
    Az, hogy valaki tömböt használ sztingként...buta. :DDD

    Mindenhol vannak alapvető kódolási szabályok, amiket be kell tartani.

    Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

  • Coyot

    őstag

    válasz Sk8erPeter #12122 üzenetére

    S lőn legyen meg a PHP mint script nyelv. S varázsoljunk bele nagy egyszerűséget, kíméljük meg a népet a típusoktól. Legyen hát. Így lett. S a népek láták hogy ez jó vala, fejlesszétek az nyelvet mely immáron úgy kinőtte magát, hogy annak elsőre nagy egyszerűséget adó típustalansága lett legnagyobb hátránya.
    :D

    Na szóval a php mikor elkészült /tanulányaim homályos emléke szerint/ ezzel a típustalansággal és egyszerűséggel szerezte meg az emberek bizalmát, ezért fejlesztik ilyen nagy léptékben, és ezért ilyen jó nyelv. Amugy mióta fejleszti közösség a PHP-t? Ez azért nem Drupal.

    Ha belegondolsz mi volt a 4esben (egyáltalán használtál e rég php-t?) ? Hát azért nem volt egy nagy eresztés na, az 5ös újításaihoz képest meg végképp nem. Arra próbáltam célozni, hogy ha egy átlagos típusos nyelv lett volna a kezdetektől akkor lehet nem jut el idáig. Igazából ennyit akartam mondani, lehet csak most sikerült jól megfogalmazni (az alvás segít).

    Egy szónak is 100 a vége, kódoljunk szépen string var-ba csak ritkán tegyünk tömböt :))

    Má' nem

  • cucka

    addikt

    válasz modder #12119 üzenetére

    Ami előnye (lenne), hogy nem kell mindenhol kiírni a típust, de ez nem feltétlenül jelent dinamikus típusosságot.
    Nem igazán. A dinamikus típusosság lényegében nem más, mint rengeteg cast-olás, amit megcsinál neked a fordító/interpreter/akármi. Például a design pattern-eknél látható borzasztó objektum hierarchiák nagy részét egyszerűen ki lehet dobni egy dinamikusan típusos nyelvben.
    Vagy ott van az, hogy egy függvény visszatérési értéke tetszőleges lehet: így kivételek nélkül is megoldhatod a hibakezelést. Ne feledd, a szkriptnyelvek alapvetően rövid programok írására lettek kitalálva.

    Vannak más nyelvek, ahol gyönyörűen meg van oldva, hogy ha létrehozol egy változót, onnantól már nem változtathatsz a típusán, és ki sem kell írni a típusát sehol.
    És melyik ez a nyelv? Vagy most az új C++ auto kulcsszavára gondolsz?

    (#12122) Sk8erPeter
    Nem, én nem hiszem, hogy csak a típustalanság miatt népszerű ennyire, én nem tudom, ezt honnan szeded.
    Attól népszerű, mert egy könnyen tanulható, nagyon megengedő szabályokkal ellátott szkriptnyelv. Nyilván, ha statikusan típusos lenne, akkor ezek a tulajdonságok nem lennének érvényesek.

    Szerintem a PHP-val rengeteg probléma van, de ezek nem abból adódnak, hogy a nyelv dinamikusan típusos - egy részük annak köszönhető, hogy Rasmus Lerdorf nem értett a programozási nyelvek fejlesztéséhez, a másik részük meg annak, hogy a mai napig nem ért :) .
    Olvassatok phpsadness-t, megéri.

    [ Szerkesztve ]

  • Sk8erPeter

    nagyúr

    válasz cucka #12125 üzenetére

    "Attól népszerű, mert egy könnyen tanulható, nagyon megengedő szabályokkal ellátott szkriptnyelv."
    Lényegében én is ezt írtam, csak kicsit hosszabban kifejtve. De gondolom továbbolvastad. :)
    Igen, végül is ennek része lehet az is, hogy nem kap az arcába a gányoló fejlesztő mindenféle hibákat, ha olyasmiket követ el, amikről eddig szó volt (ez a hátránya is a nyelvnek, ahogy arról már korábban beszéltünk).

    "egy részük annak köszönhető, hogy Rasmus Lerdorf nem értett a programozási nyelvek fejlesztéséhez, a másik részük meg annak, hogy a mai napig nem ért"
    Korábban is írtad, hogy kvázi egy dilettáns majom, de miből gondolod ezt amúgy? (Csak kérdezem, nem tisztem megvédeni.)

    A phpsadness-t nem ismertem, de jónak tűnik. :D

    Sk8erPeter

  • Sk8erPeter

    nagyúr

    válasz Coyot #12124 üzenetére

    Használtam a 4-es PHP-t annak idején, amikor elkezdtem tanulni, sőt, első könyvem a hogyan tanuljunk blabla sorozatból erre a verzióra vonatkozott. De ez miért számít?

    "ha egy átlagos típusos nyelv lett volna a kezdetektől akkor lehet nem jut el idáig"
    De mi számít "átlagos típusos nyelvnek"? :D

    "Amugy mióta fejleszti közösség a PHP-t? Ez azért nem Drupal."
    Nem azt írtam, hogy Drupal-szerűen fejlesztik, de egyébként a Drupalnál sem úgy működik, hogy valaki fogja, és csak úgy felülír egy modult...az elég gáz lenne. Egy modulfejlesztésbe is be kell kapcsolódni, felvesznek maintainerek közé, stb. Persze saját tákolt modulokat büntetlenül lehet publikálni, sajnos futottam már bele olyan modulba, aminek a kódjától majdnem elhánytam magam.
    Azt írtam, hogy a PHP mögött óriási közösség áll, így sok helyről érkezhetnek bug reportok, javaslatok a megoldásra, stb.
    Egyébként a PHP open source, azért azt vágod, remélem. :DDD

    Az tény, hogy a PHP 5 számtalan újítást hozott, de ebben szerintem mindannyian egyetértünk, ez nem is volt vitatéma. :)
    Amúgy lehet, hogy a típustalanság volt valóban az oka, amiért elkezdett rohamosan terjedni, de sztem ez önmagában kevés lett volna.

    ==============

    (#12123) Speeedfire :
    "Az hogy valaki nem írja a funkció elé, hogy miket vár és mi a visszatérési érték a későbbi kód újrahasznosítás miatt megértem. Én is ki szoktam kommentezni előtte és leírom szépen. De ez ettől még nem gányolás."
    Nem tom, most lehet, hogy itt elbeszélünk egymás mellett. :D
    Amit én mondtam, hogy a típustalanság az egyszerűségével együtt nagyon káros lehet, jó kis teret ad a wanna-be-developereknek a gányolásokra, meg ezerszer nehezebb a kódokat debuggolni is, ráadásul a kódból nehéz automatizáltan kihozni valamit, erre még párszáz hsz.-szel korábban említettem a SOAP-os szívást, ahol számítanak a típusok, és milyen jó lenne, ha WSDL-t egy kattintással lehetne gyártani egy PHP-kódból is, ahogy akár C#-nál.

    Sk8erPeter

  • Forza_JUVE

    aktív tag

    Sziasztok!

    Egy kis segítséget szeretnék kérni.
    Van egy html weboldalam, amihez gyártottam egy kis flash videot (swf).
    És azt szeretném, hogy a www.akármi.hu beírásakor először ez a flash fusson le, és csak utána nyissa meg az index.html lapot.
    A flash önmagától is megteszi ezt, vagyis ha lefut, automatikusan ugrik az action scriptbe beírt html oldalra.
    Viszont nem szeretném csak ezt a flasht tenni az index.html-re, és a korábbi index.html-t átnevezni/helyezni, mert akkor borul minden hivatkozás, menü, minden.
    Szóval a kérdés, hogy php-ban nem lehetne ezt valahogy leprogramozni?? Vagyis csak akkor töltse be a kód többi részét, ha előtte lefutott az swf fájl.

    Sajnos azonban a php-ban nem vagyok vmi jártas. :B

    Köszi előre is!! :) :R

    [ Szerkesztve ]

  • Sk8erPeter

    nagyúr

    válasz Forza_JUVE #12129 üzenetére

    "A flash önmagától is megteszi ezt, vagyis ha lefut, automatikusan ugrik az action scriptbe beírt html oldalra.
    Viszont nem szeretném csak ezt a flasht tenni az index.html-re, és a korábbi index.html-t átnevezni/helyezni, mert akkor borul minden hivatkozás, menü, minden."

    Szerintem ehhez nem kell PHP, ha a szervereden engedélyezve van a .htaccess használata, akkor legegyszerűbb lenne, ha bemásolnál a gyökérkönyvtárba egy .htaccess fájlt ezzel a tartalommal:

    # Set the default handler.
    DirectoryIndex ezlegyenakezdolapom.html index.html index.php

    és akkor innentől kezdve az ezlegyenakezdolapom.html lesz a kezdőlapod, ide berakhatod azt a bizonyos flash-es lejátszást, és az action scriptbe továbbra is beírhatod az index.html-t.

    Szerk.: persze az ezlegyenakezdolapom.html-t arra nevezed át, amire csak szeretnéd, de akkor mindkét helyen. :)

    [ Szerkesztve ]

    Sk8erPeter

  • Forza_JUVE

    aktív tag

    válasz Sk8erPeter #12130 üzenetére

    Nagyon köszi, megpróbálom! :) Van .htaccess egyébként.

    Jelenleg a szerveren a public_html mappában (gondolom erre értetted a gyökérkönyvtárt) lévő .htaccess teljesen üres.
    Akkor ebbe kell írnom amit javasoltál, igaz?

    [ Szerkesztve ]

  • modder

    aktív tag

    válasz cucka #12125 üzenetére

    Ne feledd, a szkriptnyelvek alapvetően rövid programok írására lettek kitalálva.

    Jajj, erről meg is feledkeztem, most újabb érvet adtál a kezembe :D Szóval igen, valóban remek eszköz egy nem gyakorlott ember kezében, hogy a logikára tudjon koncentrálni, és ne a nyelvi megszorításokra. Ezzel nem vitatkozom.

    A baj az, hogy a nyelv "kinőtte magát". Az emberek már nem kis dinamikus weboldalakra akarják használni, hanem bonyolult funkciókat megvalósító portálokat írnak benne. És akárki akármit mond, minél nagyobb vagy bonyolultabb egy rendszer, annál több szabály szükséges ahhoz, hogy jól működő, olvasható, módosítható kód szülessen benne.

    Ha már szóba került a Drupal. Nekem úgy tűnik, hogy nagyon sok energiát fektetnek abba, hogy minél jobb legyen a rendszer, gyorsabb. De van egy csomó hülyeség, amit a PHP megenged (pl. minden lószart hatalmas multidimenziós tömbökben tárolunk végig a program futása során), amik. azt eredményezik, hogy egy drupal oldalletöltés több száz megabyte memóriát igényel.

    --Vannak más nyelvek, ahol gyönyörűen meg van oldva, hogy ha létrehozol egy változót, onnantól már nem változtathatsz a típusán, és ki sem kell írni a típusát sehol.
    --És melyik ez a nyelv? Vagy most az új C++ auto kulcsszavára gondolsz?

    A Haskell-t kezdtem el tanulgatni, és ott ez így működik. Szintén Haskell könyvben taglalják több paragrafuson keresztül, hogy mennyire jó, hogy ha megnézzük egy metódus szignatúráját, abból egyből látszik, hogy mit csinál egy függvény, és nem kell találgatnunk csak a függvény nevére alapozva.

  • Sk8erPeter

    nagyúr

    válasz Forza_JUVE #12131 üzenetére

    Szívesen, igen, jól értetted. :K Majd jelezz vissza, sikerült-e. :)

    [ Szerkesztve ]

    Sk8erPeter

  • modder

    aktív tag

    válasz modder #12132 üzenetére

    Visszavonom a drupalról tett kijelentésemet. A Drupal alapvetően jó, és nem kell ahhoz, hogy a PHP önmagában tákolmány legyen :))))))))))))))))))))))))))))))))))))

  • Sk8erPeter

    nagyúr

    válasz modder #12132 üzenetére

    Azért nehogy valakit ez elriasszon a Drupaltól, még ha vissza is vontad :DDD :
    "egy drupal oldalletöltés több száz megabyte memóriát igényel"
    Ez nagyon nem igaz. :D Csak akkor, ha egy vagy több Drupal-modul kegyetlenül el van kúrva, mert rengeteg erőforrást igényel. Múltkor itt a topicban írogattam Drupallal kapcsolatban ilyen memóriazabálós problémáról, hogy állandóan kifogy belőle, és azóta kiderült, hogy konkrétan melyik modul hibáztatható érte (egy modul!), létre is hoztam róla a hivatalos oldalon egy issue-t, és mellékeltem egy félmegoldást:
    http://drupal.org/node/1836264
    Egyébként az a része igaz, hogy általában a CMS-ek nem éppen az erőforrás-spórolásról híresek, de ez az ára a nagyon nagy rugalmasságnak. Ettől függetlenül egyébként normális esetben maximum 10-20 MB-ot fogyaszt egy átlagos Drupal-oldal (szerk.: ha csak egy-két statikus oldal van az oldalon, akkor lószart sem fogyaszt, magyarul nincs 10 MB sem, itt most némi dinamizmusról beszélek, adatbázis-lekérésekről, stb.). Ami nagyon komplex, az persze simán felmehet 60 MB-ig is, de általában ez úgy igaz, ha sok-sok egymásba ágyazott táblázat van, vagy számtalan kitöltendő űrlapmező, admin-oldalon mindenféle kliensoldali szkript betöltődik, és sok egyéb legenerálandó elem van az oldalon.

    [ Szerkesztve ]

    Sk8erPeter

  • Forza_JUVE

    aktív tag

    válasz Sk8erPeter #12133 üzenetére

    Király, működik! :) Erről a lehetőségről nem is tudtam. Köszi a segítséget! :)

  • Sk8erPeter

    nagyúr

    válasz Forza_JUVE #12136 üzenetére

    Na, akkor örülök, szívesen! :)

    (#12135) Sk8erPeter :
    ehhez még annyit hozzátennék, hogy abban viszont igazad van, hogy jó nagy multidimenziós tömböket passzolgat sokszor a függvényeknek. :) Ennek mondjuk előnye, hogy csomó minden elérhető ezekből a fv.-ekből.

    [ Szerkesztve ]

    Sk8erPeter

  • cucka

    addikt

    válasz modder #12132 üzenetére

    A baj az, hogy a nyelv "kinőtte magát". Az emberek már nem kis dinamikus weboldalakra akarják használni, hanem bonyolult funkciókat megvalósító portálokat írnak benne.
    Enterprise javaban is meg lehet oldani bármilyen szkriptelési feladatot, csak nem éri meg.
    PHP-ban is meg lehet oldani enterprise szintű feladatokat, csak szintén nem éri meg.

    Egyébként nagyon magasan van az a léc, ahova a php ne lenne elég. Az, hogy a kód milyen minőségű lesz, elsősorban a fejlesztőn múlik itt is, mint minden más nyelvben.

    De van egy csomó hülyeség, amit a PHP megenged (pl. minden lószart hatalmas multidimenziós tömbökben tárolunk végig a program futása során),
    Miért, ha külön-külön változókban tárolnák, akkor az mitől lenne jobb? A php a tömböket ígyis-úgyis referencia szerint adja át, tehát nem látom, hol az overhead, amit említettél.

    A Haskell-t kezdtem el tanulgatni, és ott ez így működik.
    A Haskell egy (majdnem) tisztán funkcionális nyelv, ott minden máshogy működik. Típus annotációk egyébként vannak szinte minden nyelvben, talán egyedül a php a kivétel, ahol ez nem lenne teljesen egyértelmű a rossz automata cast-olási szabályok miatt.

    Szintén Haskell könyvben taglalják több paragrafuson keresztül, hogy mennyire jó, hogy ha megnézzük egy metódus szignatúráját, abból egyből látszik, hogy mit csinál egy függvény
    Valamivel ki kell tölteni a helyet abban a könyvben. :)
    Taglalhatnák azt is, hogy a gyakorlati életben milyen jó eszköz a Haskell, meg hogy hogyan tudja leegyszerűsíteni a fejlesztést, de hát az egy elég rövid könyv lenne.

    (#12127) Sk8erPeter
    Korábban is írtad, hogy kvázi egy dilettáns majom, de miből gondolod ezt amúgy?
    Ez így túlzás, hogy dilettáns majom. A php egy olyan nyelv, amit nem megterveztek, hanem összegányoltak, élen vele. Jelenleg pedig nem tetszik az a hozzáállása, hogy a visszafele kompatibilitást meg kell őrizni bármi áron. Szerintem a PHP6 egy reboot kellett volna legyen, ahol végre felülvizsgálják a korábbi tévedéseket, nem ez történt.

  • Sk8erPeter

    nagyúr

    válasz cucka #12138 üzenetére

    "Jelenleg pedig nem tetszik az a hozzáállása, hogy a visszafele kompatibilitást meg kell őrizni bármi áron. Szerintem a PHP6 egy reboot kellett volna legyen, ahol végre felülvizsgálják a korábbi tévedéseket, nem ez történt."
    Na ezzel teljesen egyetértek.

    Amúgy nekem most nehéz eldöntenem az írásaid kapcsán, hogy a típusosság kérdésében melyik "oldalra" állsz, mintha a kettő között lennél, hogy jó is, meg nem is. :D Mondjuk erre lehet mondani egy klisészerű mondatot, hogy "igénytől függ". :P Sztem a korábban említettek miatt nem jó, hogy nem kell megadni a típust. Habár függvénydefinícióknál szerencsére PHP-kódokban is látni már olyat, hogy mondjuk
    function tokmindegy(array $tomb){
    ...
    }
    tehát deklarálja, hogy itt tömböt fogunk várni.

    [ Szerkesztve ]

    Sk8erPeter

  • cucka

    addikt

    válasz Sk8erPeter #12139 üzenetére

    Amúgy nekem most nehéz eldöntenem az írásaid kapcsán, hogy a típusosság kérdésében melyik "oldalra" állsz
    Azért, mert szerintem ez egy rossz kérdés, irreleváns. Egy nyelv kapcsán fontos kérdés, hogy olvasható-e a kód, megvannak-e a szükséges 3rd party lib-ek és ezek jók-e, mekkora szívás a programodat deploy-olni, van-e megfelelő szaktudású embered, stb. Ehhez hasonló dolgokat érdemes számításba venni, amikor nyelvek/technológiát választunk.

    Habár függvénydefinícióknál szerencsére PHP-kódokban is látni már olyat, hogy mondjuk
    function tokmindegy(array $tomb){

    Ez a fícsör a php-ban igazi kókányolás. Működik objektumokra és tömbökre, de nem működik primitív típusokra. (Így mi értelme az egésznek?)

  • modder

    aktív tag

    válasz cucka #12138 üzenetére

    Egyébként nagyon magasan van az a léc, ahova a php ne lenne elég. Az, hogy a kód milyen minőségű lesz, elsősorban a fejlesztőn múlik itt is, mint minden más nyelvben.
    Ez igaz, és erre mondtam, hogy ha alapvetően egy nyelv szabályokra épül, kevesebb lehetőség van a gányolásra. Érted, ha át akarsz kelni egy szakadékon, sétálhatsz fél kilométert a hídig, vagy átkelhetsz rajta egyenesen, de akkor lehet, hogy eltöröd a lábad.

    A tömbös példámat rosszul fogalmaztam meg. Nem arra akartam kilyukadni, hogy ha tömböt használsz az nem hatékony, hanem hogy ezzel a megoldással simán elszalad a ló a fejlesztővel, hogy ja, csak dobjunk bele mindent ami kell egy hatalmas tömbbe, mert az milyen egyszerű. Aztán jön a másik fejlesztő, és dolgoznia kell egy ilyen multidimenziós tömbön, és fogja a fejét, hogy vajon mi az isten lehet ebben a tömbben.
    Nyilván arra akarok kilyukadni, hogy ha multidimenziós tömb helyett az ember objektumhierarchiát használna ezekre a feladatokra, az sokkal átláthatóbb kódot eredményezne. de hát az olyan nehéz, mert akkor definiálni kell osztályt... meg mi az, hogy egy tömb vagy lista csak egyféle típusú elemekből állhat, fúj :F
    És akkor arról még nem is ejtettem szót, hogy a mai fejlesztőkörnyezetek type hinteket adnak az objektumokra, de a tömb elemekre sosem fognak.

    A Haskell nem azért működik így, mert funkcionális nyelv, hanem mert típusos nyelv, és azt mondták a kitalálói, hogy ha van módszer arra, hogy megkíméljük a fejlesztőt attól, hogy mindig kiírja a típust, akkor használjuk.
    Valamivel ki kell tölteni a helyet abban a könyvben. Remek érv :D Egyébként nem azért hoztam fel, mert haskellben kell programozni, hanem azért, mert jó, ha az embernek van viszonyítási alapja. Vagy olvassak inkább arról, hogy milyen király php-ban a "magic metódusokkal" megoldott függvény túlterhelés, és egy 20 éves nyelvnél még mindig ilyen tákolmány megoldásokat kell alkalmazni?

  • cucka

    addikt

    válasz modder #12141 üzenetére

    A tömbös példámat rosszul fogalmaztam meg. Nem arra akartam kilyukadni, hogy ha tömböt használsz az nem hatékony, hanem hogy ezzel a megoldással simán elszalad a ló a fejlesztővel, hogy ja, csak dobjunk bele mindent ami kell egy hatalmas tömbbe, mert az milyen egyszerű.
    Éppenséggel osztályok és absztrakciók gyártásával is elszaladhat a ló.
    Egy kisméretű projektnél az absztrakció nem fog mást jelenteni, mint hozzáadott komplexitást, tömb wrapper objektumokat, fölösleges boilerplate kódot. Egy nagyméretű projektnél sok ember fog dolgozni a kódon nyilván más a helyzet.

    Aztán jön a másik fejlesztő, és dolgoznia kell egy ilyen multidimenziós tömbön, és fogja a fejét, hogy vajon mi az isten lehet ebben a tömbben.
    A jó kód egyet jelent az olvasható, érthető kóddal. Ez pedig elsősorban a fejlesztőn múlik, nem a nyelven.

    A Haskell nem azért működik így, mert funkcionális nyelv, hanem mert típusos nyelv, és azt mondták a kitalálói, hogy ha van módszer arra, hogy megkíméljük a fejlesztőt attól, hogy mindig kiírja a típust, akkor használjuk.
    A Haskell azért működik, mert olyan emberek alkották, akik a progamozási nyelvek szakértői.
    A Php egy garázsprojektnek indult, egy lelkes amatőrtől.
    Nézd meg a Python vagy a Ruby típusrendszerét (meg magukat a nyelveket), ha kíváncsi vagy olyan dinamikusan típusos nyelvekre, amelyek faszák és jól ki vannak találva.
    Ja, és meglepő lehet, de használják a funkcionális nyelveket a versenyszférában, Haskell-ről és Erlang-ról tudok, de más is lehet. (Lisp? :) )

  • trisztan94

    őstag

    Szervusztok!
    Korábban kérdeztem, hogy tudtok-e jó YII tutorialokat.. No, mégse azt választottam, hanem a CakePHP-t, sokkal barátságosabb. Valaki esetleg fejleszt alatta, vagy van vele tapasztalata?
    Lényeg:
    Egy egyszerű menüpont listázást szeretnék megoldani, ami így nézne ki sima mezei html-ben:

    <div class="menuitems"><a href="link1.html">Hírek</a></html>
    <div class="menuitems"><a href="link2.html">Munkáim</a></html>
    <div class="menuitems"><a href="link3.html">Rólam</a></html>
    <div class="menuitems"><a href="link4.html">Kapcsolat</a></html>

    No, ez nem is lenne probléma, de mivel layout fájllal dolgozunk, nyomogatni kell neki a $this->Html->div('classname') függvényeket, azt szereti nagyon. Jelenleg itt tart az project (960GS is lőn benne):
    echo $this->Html->div('grid_12 menubar', $this->Html->div('menuitems grid_3', link("valami adat")));

    No, Trisztán látá, hogy ez nem jó, nem tudja listázni az összes menüpontot, hacsak nem csinál egy k*va hosszú echo-t, ezért lőn vala, hogy a lehető legbonyolultabb megoldásba kezdett bele.. Adatbázisba benyomni a 4 menüpontot, annak csinálni egy model-t, egy Controllert, majd az egészet szépen kilistázni foríccsel. No, ez hogy az istenbe néz ki?:D
    Ezzel kapcs. itt tartok at das momentum:
    Das model:
    <?php
    class MenuItems extends AppModel
    {

    }
    ?>

    Das controller:
    <?php
    class MenuController extends AppController
    {
    public $helpers = array('Html');
    public function loadmenu()
    {
    }
    }
    ?>

    Das view, das ist nicht (Nem lőn, német tudásom nem fikázni! :((( ) -- Gondolom az a layout fájl lesz, ugye?

    Kérdésem az lenne, hogy ezt hogy bővítsem ki, hogy fainul jó legyen.. Nyugodtan hülyézzetek le, ha teljesen barom vagyok, hogy miért nem a fentebb említett örömlány hosszúságú echo-t csinálom inkább, kíváncsi vagyok a legjobb megoldásra. Tényleg! Ha megfájdul tőle a fejetek, akkor ne haragudjatok, nekem is fáj ám tőle :D

    Köszönöm szépességesen :R
    T

    https://heureka-kreativ.hu

  • Sk8erPeter

    nagyúr

    válasz cucka #12140 üzenetére

    Én nem gondolom úgy, hogy a típusosság kérdése irreleváns, rossz kérdés. Nagyon nem mindegy, hogy adott fejlesztőkörnyezettel, kiegészítő eszközökkel milyen szinten tudsz akár automatizáltan is együttműködni a kódoddal. Tudom, hogy már sokat szoptam a SOAP-os, WSDL-generálós példámat, de megint elő kell hoznom, mint egy kritikus példát, ahol a típusosság kérdése nagyon nem irreleváns, hanem épp, hogy kritikus jelentőségű. Amikor olyan dolgokkal kell órákat elcseszned a drága idődből, hogy kitaláld, hogy vajon a PHP-alapú NuSOAP-library mit nem szeret a kódodból ahhoz, hogy mondjuk legeneráljon neked egy nyomorult WSDL-t, amivel már meg lehet kezdeni egy SOAP-alapú kommunikációt, és objektumok tömbjét és egyéb komplexebb típusú elemeket tudj vele előre deklarálni, akkor azokat rendkívül elvesztegetett fejlesztői munkaóráknak találom, nem hiszem, hogy normális fejlesztőnek WSDL-kódok debuggolásával kellene tökölnie. Mint említettem korábban, mindez például C#-ban (de akár Java-ban is) pár klikk egy megfelelő IDE-ben (Visual Studio, NetBeans, Eclipse, vagy egyéb), nagyjából 10 perc alatt meg is vagy vele, normális teszteléssel együtt fél óra. Mindez részben annak köszönhető, hogy a típusok szigorúbb szabályokat adnak a kódnak, és a kiegészítő eszköz is képes ezek felismerésére (meg annak köszönhető, hogy mindezt már valakik elkészítették).
    Mondom, ez csak egyetlen kiragadott példa a rengeteg lehetőség közül.
    De az is sokat segíthet a debuggolásban, ha a figyelmetlen típuskutyulásokkal kapcsolatos hibák miatt a fejlesztőkörnyezet vagy a compiler még időben ugat, hogy valamit rosszul csináltál.

    "Ez a fícsör a php-ban igazi kókányolás. Működik objektumokra és tömbökre, de nem működik primitív típusokra. (Így mi értelme az egésznek?)"
    Jaja, ez teljesen igaz, hogy ez ilyen módon csak félmegoldás, annyit ér, mint halottnak a csók, ettől függetlenül legalább valami minimális megszorítást adhat a függvény várt argumentumaira. Sajnos sok ilyen következetlenség van a PHP-ban (ezért tákolmány :DDD).

    ===========

    (#12141) modder :

    "Vagy olvassak inkább arról, hogy milyen király php-ban a "magic metódusokkal" megoldott függvény túlterhelés, és egy 20 éves nyelvnél még mindig ilyen tákolmány megoldásokat kell alkalmazni?"
    Brrr, ne is mondd, hányadék.
    Amikor C++ után először kezdtem PHP-ben OOP-zni, először nem is értettem, hogy ez most csak ilyen vicces trükkös megoldás, amit kényszermegoldásként be lehet vetni, ha nagyon muszáj, nagyon őrülteknek, vagy pedig egy bevett szokás. Sajnos kiderült, hogy utóbbi.

    Amúgy már alig várom, hogy jöjjön egy troll megjegyzés valamelyikünknek címezve, hogy "hádefigyeljé' má, akkó anyádé' használsz PHP-t, köccccsööög??!" :D

    [ Szerkesztve ]

    Sk8erPeter

  • cucka

    addikt

    válasz Sk8erPeter #12144 üzenetére

    Nagyon nem mindegy, hogy adott fejlesztőkörnyezettel, kiegészítő eszközökkel milyen szinten tudsz akár automatizáltan is együttműködni a kódoddal.
    Igen, a statikusan típusos nyelvek itt előnyben vannak. Csak ugye még mindig ott tartunk, hogy elméletileg mi mindent lehet megcsinálni egy nyelvvel/technológiával, nem pedig ott, hogy a gyakorlatban mire van szükség. Az ilyen elméleti előnyöket tekintve a legkirályabb fejlesztői környezet a JavaEE, aztán mégis, a PHP-ban jellemző feladatok többségére valahogy nem kívánnád azt használni, mert a sok előny hátrány lesz.

    Amikor olyan dolgokkal kell órákat elcseszned a drága idődből, hogy kitaláld, hogy vajon a PHP-alapú NuSOAP-library mit nem szeret a kódodból ahhoz, hogy mondjuk legeneráljon neked egy nyomorult WSDL-t
    ..akkor az azt jelenti, hogy belefutottál egy nem túl jó 3rd party lib-be. Gondolod, hogy más nyelveknél ez nem fordul elő? :)

    Amikor C++ után először kezdtem PHP-ben OOP-zni, először nem is értettem, hogy ez most csak ilyen vicces trükkös megoldás, amit kényszermegoldásként be lehet vetni, ha nagyon muszáj, nagyon őrülteknek, vagy pedig egy bevett szokás.
    Megint itt tartunk, hogy valaki Java-ban akar programozni PHP-ben :) . A függvény túlterhelés értelme, hogy típusos nyelvekben biztosítsd, hogy a függvényed több fajta bemenő típussal is boldoguljon. Tehát ha pl. egy függvény kap egy számot paraméterként, és szeretnéd, hogy működjön egészre meg lebegőpontosra is, akkor ezt kell használni.
    A PHP egy gyengén típusos nyelv, nincsenek típus annotációk, így értelemszerűen a függvény túlterhelés is teljesen értelmetlen lesz ebben a kontextusban. Lehet úgy is mondani, hogy ha a fejlesztés során erre van szükséged, akkor rosszul tervezted meg a programodat.
    Képzeld, Python-ban meg az osztáyoknál nincsenek láthatósági szabályok (private, protected), oszt' mégis nagyon jól működik minden. (De persze, magic method-al bele lehet taknyolni ott is :) )

  • Speeedfire

    nagyúr

    válasz Coyot #12146 üzenetére

    Minnyá' monnyák neked, hogy az ASP .NET. :DDD

    Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

  • Sk8erPeter

    nagyúr

    válasz cucka #12145 üzenetére

    "Csak ugye még mindig ott tartunk, hogy elméletileg mi mindent lehet megcsinálni egy nyelvvel/technológiával, nem pedig ott, hogy a gyakorlatban mire van szükség."
    Egyáltalán nem értem, ez hogy jön az említett SOAP-os példához, ahol számít a típusosság, és számít olyan szempontból is, hogy mennyire lehet automatizálni az ebből történő WSDL-készítést, vagy mennyire nem.

    "..akkor az azt jelenti, hogy belefutottál egy nem túl jó 3rd party lib-be. Gondolod, hogy más nyelveknél ez nem fordul elő?"
    Már megint leegyszerűsíted a kérdést, és mintha szándékosan vezetnéd vakvágányra a témát. Nem sikerült megismernem a NuSOAP-nál sokkal értelmesebben megírt 3rd party library-t, a konkrét probléma megoldására. Igen, az mondjuk igaz, hogy komplex példákat nem nagyon említenek a hivatalos doksiban, ami mondjuk az ő f@szságuk. Egy library-hez mellékelt dokumentáció sokszor minősíti magát az egész library-t is. Ha szar a dokumentáció, lehet akármilyen faszán megírva a lib, nehéz vele mit kezdeni, és gáz, ha órák mennek el a source-ban lévő kommentek olvasgatásával. Mindegy, ez most csak a téma elterelődése megint, szóval ne erről beszéljünk. A NuSOAP-os parát így sikerült magamnak megoldani: http://stackoverflow.com/questions/6986350/generating-wsdl-with-nusoap-return-struct-with-various-types-int-string-arr
    Nem értem, melyik részt nem érted abból, hogy ezzel tök felesleges munkaidő ment el, mert lehetetlen ilyesmi kódot legeneráltatni egy IDE-vel PHP-t használva, mert nem lehet felismerni a típusokat. Tehát típustalanság = a példában szar.
    Már elég sokadszor tereled a témát magasztos elvekre, hogy legyen átlátható a kód, és akkor király minden, de ez egyszerűen nem kapcsolódik a konkrét témához, amivel próbálom veled érzékeltetni, miért is tud problémás lenni a típustalanság. Tehát amiről beszélünk már jópár hsz. óta.
    Mint látható, igény van rá, és hogy reagáljak arra, amit mondtál, igen, a gyakorlatban is van rá szükség. Vagy szerinted ha nem lett volna rá a gyakorlatban szükség, akkor töltök vele egy percet is, hogy ilyesmivel szopassam magam PHP-ben? :O
    Kezd így kicsit fárasztó lenni a beszélgetés, hogy elbeszélünk egymás mellett.

    ----
    magic metódusok részre:
    "Megint itt tartunk, hogy valaki Java-ban akar programozni PHP-ben"
    Úgy tűnik, itt én értettem félre az eredeti témát, én a magic methods-ról beszéltem, ami szerintem igen csúnya:
    http://php.net/manual/en/language.oop5.magic.php
    bár tény, hogy végül is félreérthetetlenné teszi a dolgot, de nekem ennek kapcsán kicsit olyan érzésem van, mintha ez is egyfajta erőltetett megoldás lenne, mint sok másik.

    A függvény overloading (típusok szerint) mondjuk PHP-ben valóban értelmetlen, ezt el kell fogadni, ezzel egyetértek. Ebben az esetben mondjuk kerülő megoldásként például különböző nevű függvényt lehet definiálni, és a nevével egyértelművé tenni, hogy mi is a helyzet.

    Sk8erPeter

  • cucka

    addikt

    válasz Sk8erPeter #12148 üzenetére

    Szerintem nem beszélünk el egymás mellett.
    Meggátolja a dinamikus típusosság, hogy az IDE type hint-eket adjon? Igen, ez a szkriptnyelvek egyik hátrányos tulajonsága.
    A dinamikusan típusosság miatt nehéz használni a NuSoap-ot? Nem, azért nehéz, hanem mert nincs rendesen megcsinálva.
    Meg lehetne csinálni rendesen? Igen.

    Én pusztán csak annyit állítok, hogy vannak értelmes okok amögött, hogy a szkriptnyelvek miért olyanok, amilyenek. A java féle statikusan típusos, erősen oop nyelvek se nem rosszabbak, se nem jobbak. Azt is állítom, hogy a programozás leginkább feladatok, problémák megoldásáról szól, tehát elméleti viták helyett gyakorlati alkamazásokra kéne inkább fókuszálni, itt dől el, hogy mi jó és mi nem.

    A magic method pedig egyáltalán nem csúnya.
    A java teljesen oop, tehát minden adat objektum, minden program egy objektumban van, így aztán az összes objektum közös metódusai (pl. a toString) itt találhatók meg és innen öröklődnek. Na ezeket hívjuk php-ban magic method-oknak. Ez a két dolog szemantikailag ekvivalens, tehát amikor azt mondod, hogy csúnya, akkor pusztán annyit mondtál, hogy számodra vizuálisan kevésbé tetszetős, mert mittomén, nem tetszik, hogy __-val kezdődik a nevük.

  • Sk8erPeter

    nagyúr

    válasz cucka #12149 üzenetére

    "A dinamikusan típusosság miatt nehéz használni a NuSoap-ot?"
    :O Ezek szerint mégis elbeszélünk egymás mellett. Ki a francot érdekel a NuSOAP? Engem nem, mert nem erről beszéltem, nem a NuSOAP library fikázása volt a cél, már megint terelődik a téma egy halott irányba. Most tényleg el kell, hogy magyarázzam még többféleképpen is, hogy nem a library-vel magával van bajom, hanem azzal, hogy a típusosság hiánya miatt nem lehet egy ilyen tök felesleges időelb@szó munkát automatizálni ÚGY ÁLTALÁBAN PHP-ben, hogy pár klikkel ezt a részét megoldjam, és az ÉRDEMI programozási feladatokkal foglalkozzak?

    "Azt is állítom, hogy a programozás leginkább feladatok, problémák megoldásáról szól, tehát elméleti viták helyett gyakorlati alkamazásokra kéne inkább fókuszálni, itt dől el, hogy mi jó és mi nem."
    Ebben eddig is egyetértettünk, ennek kapcsán eddig is egy nyelvet beszéltünk. Igen, így van, de ez megint csak egy magasztos, tök általános jellegű állítás, a téma kapcsán nem visz sehova, ez már kezd szinte marketingszagú lenni. :D
    IGEN, meg kell oldani egy feladatot. Szeretnél SOAP-ban kommunikálni? Kell hozzá egy WSDL. Nézzük meg ezt mondjuk C#-ban: Visual Studio megnyit, ide-oda klikk-klakk, és kész van a kódból a WSDL-generálás. Na, akkor most csináljuk meg ezt PHP-ben. Előveszünk egy library-t (hangsúlyozom, teljesen mindegy, melyiket), és elkezdjük tanulmányozni a doksiját, hogy vajon hogyan kell legeneráltatni vele egy WSDL-t úgy, hogy az működjön is; tanulmányozhatjuk ismét ennek megfelelően a saját kódunkat is, hogy megnézzük, hogy melyik metódus mit is ad vissza (ahelyett, hogy kódírás közben mondjuk a már legenerált WSDL-ből kapnánk hintet). Akkor most a doksiban olvasottak alapján kipróbáljuk, hogy vajon működik-e az, ahogy értelmeztük a dolog működését. Ób@sszameg, nem működik, akkor most mi a szar van? Debuggoljunk, vagy kezdjünk el korábbi kérdések után kutakodni a neten. Tök jó, máris egy csomó idő elment egy ilyen baromsággal.
    Miből következik ez? A típustalanságból. Hiába kántálunk arról, hogy mi lehet a választás alapja igények szerint, mi mire jó, és hogyan is kell szépen kódolni. Tök mindegy a téma szempontjából. Kár, hogy nem lehet automatizálni ilyen jellegű feladatokat például PHP-ben.
    Jó lenne azt érezni, hogy érted, miről beszélek. :)

    A magic methoddal kapcsolatos dolgokról meggyőztél, elfogadom az érveidet.

    Sk8erPeter

Új hozzászólás Aktív témák