|
View:
New views
19 Messages
—
Rating Filter:
Alert me
|
|
|
php-ból javascriptÜdv!
Előre bocsátom, hogy nem vagyok nagy javascript varázsló. A tervem az, hogy php-ból generálom a javascriptet mert úgy gondolom, hogy így jelentős mennyiségű munkától tudom magam megmenteni. De vannak problémáim, sajnos... Van ez a js kód, ami egyébként a ColorpickerAgain (http://www.otakurzo.com/jquery/colorPickerAgain/) plugin a jQueryben. <code language="javascript"> $(document).ready(function(){ var settings = { color:new Array( "#CC3333","#DD4477","#994499","#6633CC","#336699","#3366CC","#22AA99", "#329262","#109618","#66AA00","#AAAA11","#D6AE00","#EE8800","#DD5511" ), defaultColor:2, columns:7, click:function(c){ $('#output').css('color',c).html(c); } }; $('#test').colorPickerAgain(settings); settings.click = function(c){ $('#output2').css('color',c).html(c); } var anchoColor = 13; var paddingColor = 1* 2; var marginColor = 1* 2; var anchoContenedor = ( anchoColor+paddingColor+marginColor ) * (settings.columns>0 ? settings.columns : settings.color.length ); var oldSelect = {e:null,c:''}; $('#cp').addColorPicker({ blotchElemType: 'div', blotchClass:'', fillString:'', colors: settings.color, iterationCallback: function(target,elem,color,iterationNumber) { elem.unbind('click'); elem.click( function(){ if( oldSelect.e != null ){ if( oldSelect.e.hasClass('check') ) oldSelect.e.removeClass('check'); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } oldSelect = {e:$(this), c:color}; $(this).addClass('check'); settings.click(color); }) if( iterationNumber == settings.defaultColor ) elem.trigger('click'); } }) .css('width',anchoContenedor); }); </code> Ami ha fájlban van normálisan működik is, de ha php változóba rakom úgy, hogy a ' -ből lesz \" és az egészet odaadom evalnak és kiíratom akkor "missing ; before statement" hibát ad a "^^^^" jelzett részen. Ha az aposztrófokat hagyom, akkor meg az eval sikít. Szóval a kérdés: ki hogyan csinálja ezt? Pár widget szerű dolgot sikerült már megcsinálnom(form és ajaxform összeheggesztése, clickre történik valami, stb.) de órákat szöszmötöltem azzal, hogy a javascript a megfelelő formában jöjjön ki (értsd: fusson). Azért így csinálom mert ajaxos maga az alkalmazás és nem akarom a js fájlokat szaporítani (illetve érzésem szerint így marad "rugalmas és bővíthető" amit csinálok). Illetve arra is kíváncsi lennék, hogy ami normálisan lefut (fájlban van) miért nem fut eval() -ban. Próbáltam úgy is, hogy egy sorba összehúztam az egészet illetve úgy is, hogy soronként raktam bele egy változóba, de sikeresen elhasaltam vele. A segítséget előre is köszönöm! András -- -- Csanyi Andras - http://sayusi.hu - Sayusi Ando -- -- "Bízzál Istenben és tartsd szárazon a puskaport!" - Cromwell -- -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascript> Próbáltam úgy is, hogy egy sorba összehúztam az egészet illetve úgy is,
> hogy soronként raktam bele egy változóba, de sikeresen elhasaltam vele. Tedd '' közé, és védj meg benne minden \ és ' jelet. Kb. tök ugyanaz az eset, mint amikor egy regexpbe akarsz egy \ jelet tenni. Először is a regexp miatt meg kell védened, majd mindkét perjelet, mert hogy a PHP-s szövegben sépci jelentése van, tehát egy \ jel helyett \\\\-t kell a szövegbe tenned. :) Én pl. view layerbe tettem jsEscape és jsQuote metódusokat, amivel mondjuk egy file_get_contents('foo.js') eredményét ki tudod pakolni. /** * Escape-el egy JavaScript sztring-be kiirando szoveget. * * @param string $text A kiirando szoveg. * @param string $delimiter A szoveghatarolo jel (idezojel, vagy aposztrof). * * @return string Az escape-elt szoveg. */ protected function jsEscape($text, $delimiter = '\'') { if ($delimiter != '\'' && $delimiter != '"') { $delimiter = '\''; } return str_replace($delimiter, '\\'.$delimiter, str_replace('\\', '\\\\', $text)); } Üdv, Felhő -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascriptÉn ilyen esetekben előszeretettel alkalmazom a heredoc formát.
Hátránya, hogy csúnyán mutat a forrásban.. 2008/5/27 Gergely Hodicska <felho@...>:
-- Geiger Péter ------------------------------------------------------------------------------- E-mail : geigerp@... mail@... Tel. : +36-20-354-8997 -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascriptGeiger Péter írta:
> Én ilyen esetekben előszeretettel alkalmazom a heredoc formát. > Hátránya, hogy csúnyán mutat a forrásban.. > Esetleg templete-et is lehet hasznalni, elonye, hogy abszolut nem lesz benne a forrasban :) -- Amon Tamas -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascriptGeiger Péter írta:
> Én ilyen esetekben előszeretettel alkalmazom a heredoc formát. > Hátránya, hogy csúnyán mutat a forrásban.. > Esetleg templete-et is lehet hasznalni, elonye, hogy abszolut nem lesz benne a forrasban :) -- Amon Tamas -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascriptJogos, csak azért nem említettem, mert azt írta, az állományokkal akar takarékoskodni.
2008/5/27 Ámon Tamás <sajt@...>: Geiger Péter írta: -- Geiger Péter ------------------------------------------------------------------------------- E-mail : geigerp@... mail@... Tel. : +36-20-354-8997 -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascriptÁmon Tamás wrote:
> Geiger Péter írta: > >> Én ilyen esetekben előszeretettel alkalmazom a heredoc formát. >> Hátránya, hogy csúnyán mutat a forrásban.. >> >> > Esetleg templete-et is lehet hasznalni, elonye, hogy abszolut nem lesz > benne a forrasban :) > Köszönöm a válaszokat! Használok templateket. A Zend Framework view részét egészítettem ki és minden ide tartozó osztály tartalmazza a template-t. Ezekbe preg_replace -el pakolom bele a szükséges "változókat". Tudom, az str_replace gyorsabb :) Úgy gondolom, hogy Felhő által írt lesz a megoldás. Este próbálom. -- -- Csanyi Andras - http://sayusi.hu - Sayusi Ando -- -- "Bízzál Istenben és tartsd szárazon a puskaport!" - Cromwell -- -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascriptSzia!
2008. May 27. dátummal Geiger Péter ezt írta: > Jogos, csak azért nem említettem, mert azt írta, az állományokkal > akar takarékoskodni. Akkor nem biztos, hogy a Zend FW az optimális megoldás... :) -- Üdv! Szabó Dénes :: InterNode Bt. :: http://internode.hu :: Mobil: 20/9739423 :: ICQ:13486370 || Google talk: d.taylor42@... || Skype: d.taylor PGP PUBLIC KEY: http://donci.internode.hu/szabodenes.asc -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascriptEbből a szempontból talán tényleg nem.. :)
Van benne állomány bőven.. Egyébként viszont nagyon jó cucc, a megjelenése óta dolgozom vele, és csak dicsérni tudom. De ez már nem nagyon tartozik a témához.. :) 2008/5/27 Szabó Dénes <szabo.denes@...>: Szia! -- Geiger Péter ------------------------------------------------------------------------------- E-mail : geigerp@... mail@... Tel. : +36-20-354-8997 -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascriptSzabó Dénes wrote:
> Szia! > > 2008. May 27. dátummal Geiger Péter ezt írta: > >> Jogos, csak azért nem említettem, mert azt írta, az állományokkal >> akar takarékoskodni. >> > > Akkor nem biztos, hogy a Zend FW az optimális megoldás... :) > számomra követhetővé teszi. Azzal semmi problémám sincsen. :) A javascriptet meg kimondottan nem szeretem. -- -- Csanyi Andras - http://sayusi.hu - Sayusi Ando -- -- "Bízzál Istenben és tartsd szárazon a puskaport!" - Cromwell -- -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascript> Egyébként viszont nagyon jó cucc,
Szerintem is elég szépen felépített, sőt néha már túl szép is. :) Helyenként volt olyan érzésem, hogy túl absztrakt dolgok vannak benne. Épp napokban néztem át, hogy hogyan működik náluk a controller réteg, és nem volt mindig egyszerű felfogni, hogy mi is történik. > a megjelenése óta dolgozom vele, és Azért régen voltak vele problémák, nem indult olyan szépen (volt amikor saját magával sem volt kompatibilis, meg volt az ActiveRecord benézésük is), de elég rendesen gatyába rázták. Viszont egy dolgot nem igazán értek, miért nem úgy csinálták meg, hogy adnak egy tök alap autoload megvalósítást, vagy valami ilyesmit, mert az elég rossz benne, hogy tele van a kód az require parancsokkal. Üdv, Felhő -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascriptSzia!
2008. May 27. dátummal Gergely Hodicska ezt írta: > Viszont egy dolgot nem igazán értek, miért nem úgy csinálták meg, > hogy adnak egy tök alap autoload megvalósítást, vagy valami ilyesmit, > mert az elég rossz benne, hogy tele van a kód az require > parancsokkal. Van autoload, csak el kell indítanod... Hogy alapból miért nem megy? Jó kérdés... Valószínű azért, hogy minék kevesebb legyen a komponensek közötti összefüggés. Ha már itt tartunk: - hogy csinálnátok azt meg, hogy egy controller mindig tudja, hogy mi az url? $this->url elérhető legyen minden action-ból? + olyat, hogy a controllernek egyen automatán lefutó metódusa az action kiszolgálása után lefusson. mint az init() csak close() vagy ilyesmi. Valami elegáns, minél kevésbé gány megoldást keresek. -- Üdv! Szabó Dénes :: InterNode Bt. :: http://internode.hu :: Mobil: 20/9739423 :: ICQ:13486370 || Google talk: d.taylor42@... || Skype: d.taylor PGP PUBLIC KEY: http://donci.internode.hu/szabodenes.asc -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascript> - hogy csinálnátok azt meg, hogy egy controller mindig tudja, hogy mi az
> url? $this->url elérhető legyen minden action-ból? Egyrészt származtathatsz egy saját alap típust, de szerintem ez elég könnyen elérhető minden frameworkben. ZF-ben kb. ilyesmi rémlik (az actionben értendő): $this->getRequest()->getRequestUri(), emiatt szerintem kár leszármaztatni. > + olyat, hogy a controllernek egyen automatán lefutó metódusa az action > kiszolgálása után lefusson. mint az init() csak close() vagy ilyesmi. Ez szintén van kb. mindenhol, ZF-ben az Zend_Action-ben van két felüldefiniálható metódus: preDispatch, postDispatch. Üdv, Felhő -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascript> Van autoload, csak el kell indítanod... Hogy alapból miért nem megy? Jó
> kérdés... Ezt kifelejtettem :), az a baj, hogy hiába van autoload, ha minden egy osztály használata előtt fixen be van írva a require. Alap esetben ez amúgy gyorsabb is mint az autoload, hisz az autoload sem tud mást csinálni, mint behúzni a fájlt, plusz van némi overheadje. Viszont nem tudod megcsinálni, hogy a mindig használt PHP-kat szépen becsomagolod egy fájlba, és csak azt include-olod. Plusz nagyon sok helyen require_once van, ami meg lassabb is egy kicsit. Üdv, Felhő -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascriptSzia!
2008. May 28. dátummal Gergely Hodicska ezt írta: > > Van autoload, csak el kell indítanod... Hogy alapból miért nem > > megy? Jó kérdés... > > Ezt kifelejtettem :), az a baj, hogy hiába van autoload, ha minden > egy osztály használata előtt fixen be van írva a require. Alap Írtam már: szerintem a függőségek csökkentése miatt van ez így. Azért, hogy a zend_mail-hoz ne kelljen az autoloader. Szerintem. > esetben ez amúgy gyorsabb is mint az autoload, hisz az autoload sem Nyilván az a leggyorsabb, ha megmondod, hogy mit, honnan húzzon be. > tud mást csinálni, mint behúzni a fájlt, plusz van némi overheadje. Ahogy én néztem sok helyen trükközik a zend folyamatosan az include_path beállítással, és a php-ra bízza, hogy melyiket is húzza be először. Valamit valamiért: rugalmasságot sebességért. Vagy ilyesmi. > Viszont nem tudod megcsinálni, hogy a mindig használt PHP-kat szépen > becsomagolod egy fájlba, és csak azt include-olod. Plusz nagyon sok > helyen require_once van, ami meg lassabb is egy kicsit. jah. Nem hinném, hogy bárki komolyan számolna ezzel sima weboldalak esetén... + ugyis azt fogják mondani, hogy vegyél zend cache-t és 0 munkával megsokszoroztad az alkalmazásod teljesítményét... -- Üdv! Szabó Dénes :: InterNode Bt. :: http://internode.hu :: Mobil: 20/9739423 :: ICQ:13486370 || Google talk: d.taylor42@... || Skype: d.taylor PGP PUBLIC KEY: http://donci.internode.hu/szabodenes.asc -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascript> Ahogy én néztem sok helyen trükközik a zend folyamatosan az include_path
> beállítással, és a php-ra bízza, hogy melyiket is húzza be először. Ez szerintem rosszabb. Annyi előnyét tudom elképzelni, hogy esetleg trükkösen ki lehet használni, hogy mondjuk teszteléskor fake osztályokat tudj behúzni akkor is, ha mondjuk statikusan hivatkozol rájuk, de azért ez elég extrém. :) > Valamit valamiért: rugalmasságot sebességért. Vagy ilyesmi. Kb. semeddig sem tartan automatikusan két féle csomagot generálni belőle. > + ugyis azt fogják mondani, hogy vegyél zend cache-t és 0 munkával > megsokszoroztad az alkalmazásod teljesítményét... Pont egy ilyen cache esetén rossz, ha a fájlokat egyesével húzod be, sokkal jobb, ha az állandóan használt fájlokat szépen bepakolod egy fájlba. Tokenizer segítségével alig pár soros program, ami ezt megcsinálja (akár mondjuk commitra). Üdv, Felhő -- Weblabor hírlevél: http://weblabor.hu/hirlevel -- wl-phplista (wl-phplista@...) levelezőlista https://bors.hoszting.com/mailman/listinfo/wl-phplista Keresheto archivum: http://weblabor.hu/kereses -- etikett: http://weblabor.hu/levlistak/illemszabaly offlista: https://weblabor.hu/levlistak |
|
|
Re: php-ból javascriptHali!
> From: Csányi András - Sayusi Ando: > ... > A tervem az, hogy php-ból generálom a javascriptet ... ... ... > ... ... ... > Ami ha fájlban van normálisan működik is, de ha php változóba > rakom úgy, hogy a ' -ből lesz \" és az egészet odaadom evalnak ... Na itt van elrontva! egyszerűen csak print( $_javascriptvaltozo ); és kész. ;-) Üdv! Gime http://www.gime.hu http://www.audiovisions.hu : -- Weblabor hírlevél: htt |