PHPStorm +1, de hozzáteszem ez az IDE fizetős!
Tehát ha ingyenes megoldás kell, akkor VS Code nálam a nyerő. Rengeteg extension van hozzá.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Spyra: akkus, nagynyomású, automata vízipuska
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
Általános témák
LOGOUT.hu témák
- [Re:] [sziku69:] Szólánc.
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [antikomcsi:] Való Világ: A piszkos 12 - VV12 - Való Világ 12
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [Kolondrum:] Éves rezsi
- [Re:] [plevips:] Építkezünk 3. rész (2024)
- [Re:] [Tüzi:] Geek-hatarozo
- [Re:] PLEX: multimédia az egész lakásban
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Hozzászólások
Zedz
addikt
DS39
nagyúr
hmm, köszi a tippet, nem is tudtam, hogy a MS-nak van ilyen ingyenes cucca, ami jó PHP fejlesztéshez.
felraktam megnyitottam egy php fájlt is kiírja ezt:
Cannot validate since no PHP executable is set. Use the setting 'php.validate.executablePath' to configure the PHP executable.
a settings-et megtaláltam, de mit kellene neki megadni?
(addig ok, hogy a local servernek mennie kell, hogy futtatható legyen, csak nem tudom milyen paramétert vár ehhez)
[ Szerkesztve ]
Zedz
addikt
Környezeti változóknál meg kell adni a PHP elérési útját. Ez természetesen máshogy néz ki Windows vagy Linux / macOS környezeteknél, keress rá a megfelelőre. Mondjuk ez érdekes mert nekem nem sírt ilyenért, ha meg volt adva, ha nem. Esetleg ha a továbbiakban nem sikerül megoldani a problémát, lőjj egy screenshotot és mutasd meg itt.
> MS-nak van ilyen ingyenes cucca, ami jó PHP fejlesztéshez
Visual Studio 2017-es IDE-ben is kellene lennie elvileg, de aztán a fene tudja hogy van ott. VS Code elég jó erre a célra ha a fizetős PHPStorm nem játszik.
DNReNTi
őstag
Fizetos az igaz, de aki penzt keres vele, annak nem tetel (jelenleg 199EUR), aki meg nem, az megoldja mashogyan a beszerzest.
but without you, my life is incomplete, my days are absolutely gray
Zedz
addikt
Sőt, ha egyéniben tolja az ember vagy csak otthonra kell, akkor 90 eur / év. Semmi pénz érte, tudom, csak valakinél ez nem opció, és azért szoktam említeni az ingyenes alternatívákat is.
Aki meg nem fizet érte úgy, hogy pénzt csinál vele, arra nem tudok mit mondani. Max annyit, hogy lehet fele idő alatt szerezné meg azt a pénzt, de ez se győzné meg.
Fun fact, hogy open source projektekhez ingyen szórják a cuccot, csak pár dolgot kell hozzá bizonyítani.
DS39
nagyúr
a wamp serveren belüli php.exe elérési útját kellett csupán megadni, illetve átírtam a validálást onType-ra, hogy ne csak mentéskor ellenőrizze a kódot, hanem gépelés közben.
Pulsar
veterán
Sziasztok,
php-bal szeretnék egy cgi-t futtatni. Sosem csináltam még ilyet.
Az lenne a lényeg, hogy a cgi lefutása valószínű eltart úgy 1 mp-ig, és azt megvárva kezdje el csak az oldalt betölteni. Lehetséges ez? Csinált már valaki hasonlót?
supercow
őstag
Nézd meg a system() és exec() függvényeket. Futtatáshoz megfelelő jogosultság kell, ami parancssorból megy nem biztos hogy phpből meghívva is menne. Külső prog futtatás külön biztonsági kockázat, csak annyi jogot kapjon ami muszáj neki.
In nomine Pasta, et Fusilli, et Spaghetti Sancti. Ramen.
Pulsar
veterán
rrdtool grafikon képeket szeretnék legenerálni.
Jelenleg úgy működik, hogy cron futtatja a generáló scripteket 10 percenként. Gondoltam proci terhelés csökkentek, és csak akkor generálom le a képeket, amikor megnyitnám.
Nem feltétlen a már meglévő bash scriptet hívnám meg php-ban, hanem cgi-ben futtatnám le a generálást (még fogalmam sincs hogy hogyan )
Viszont adathoz 5 grafikon tartozik, aminek legenerálásra (legalábbis futtatva a scripteket) 1-2mp. Ezért fetődött fel bennem a kérdés, hogy amíg a generálás zajlik, az oldal betöltése nyilván nem tart annyi ideig, így a képek sosem lesznek készen. Vagy tévedek?
hramon94
tag
Sziasztok. Hogyan tudnám ezt kivitelezni?:
$start = "2017-01-20";
$end = "2017-12-24";
$holidays = array("2017-06-11","2017-02-22","2017-08-08","2017-05-22");
Hogyan tudnám meghatározni azt hogy $startdate és $endend között hány dátum szerepel a $holidays tömbből?
pelyib
tag
http://php.net/manual/en/function.strtotime.php
Végigmész a holidays tömbön, és kivonod egymásból őket:
(strtotime($holidays[$i]) - strtotime($start) > 0) && (strtotime($end) - strtotime($holidays[$i]))
Innen már ízlés kérdése, h növelsz egy számlálót vagy gyűjtöd őket egy másik tömbbe...
JoshaJosh
csendes tag
Üdv!
Nagyon nagyon amatőr programozó vagyok, de van egy lelkes csapatunk, szeretnénk egy igazi magyar közösségi oldalt létrehozni.
Ehhez az Oxwallt ajánlották. Le is töltöttem, de az egész php oldalakból áll. Szóval egy régi szokásom szerint amikor még a saját weboldalamat írtam, XAMPP-vel teszteltem, de ugye akkor még XP-m volt. Most win7 prof. 64 bites van. Szóval hiába indítom el az xampp-t meg az easy php szervert, semmiképpen nem tudom működésre bírni a php oldalakat. A régi lementett php oldalakat, amiket nagyon régen a saját honlapomhoz írtam, azokat sem.
Ezért egy itteni leírás alapján inkább az IIS-t raktam fel, jó is működik, de továbbra sem tudom, hogy működtethetném az Oxwall közösségi oldal szerkesztőt. Tudom, hogy valamiképp hozzá lehetne rakni mint programot az IIS-hez, de sajnos nem jutok előbbre. Sajnos szinte teljesen elfelejtettem azt a keveset is, amit akkor még tudtam a programozásból, de szeretném újra tanulni.
Egyébként ha van olyan programozó, akinek van elég ideje és affinitása egy ilyen projektben részt venni, szívesen látnánk!
Minden segítséget előre is köszönök!
DNReNTi
őstag
Minden tiszteletem a lelkesedeseteke, de nem lehet, hogy eloszor valami kisebb faba kene vagni a fejszet? Te magad is irod hogy "nagyon nagyon amatőr programozó vagy" illetve mar egy lokalis szerver kornyezet beallitasa problemat okoz... Nem bantani akarlak felre ne erts.
Ahhoz pedig hogy valaki a konkret kerdest is megvalaszolja, kicsit keves ez az info amit adtal, illetve en a helyedben futnek egy kort mondjuk egy linuxos VM-mel, mer' hat a szerveren is az lesz, nem IIS. Vagy ott a WampServer Windowsra, nekem azzal nem volt anno semmi bajom.
but without you, my life is incomplete, my days are absolutely gray
SUPREME7
őstag
Ha windows-on csinálod, akkor töltsd le a Wampservert, kb semmit nem kell beállítani a telepítésnél, majd a
C://wamp/www/
(vagy 64bites telepítés esetén wamp64/www/)
mappában csinálj egy mappát mondjuk "teszt" néven, amit böngészőből a
localhost/teszt
eléréssel tudsz megnyitni. Itt tudsz már gyakorolgatni, de nem hiszem, hogy nulláról éppen egy ilyen oldallal kellene kezdeni.
[ Szerkesztve ]
hramon94
tag
Köszönöm. Végül sikerült megoldást találnom.
JoshaJosh
csendes tag
Nagyon köszönöm mindenkinek! Tudom, hogy valószínűleg egy mammutfenyőbe vágtam bele a kisfejszét.... De agyon btatnak a többiek, hogy csak lusta vagyok. Próbálok kis lépésekben haladni, aztán meglátjuk.
Talán a régi honlapom fejlesztésével kéne gyakorolnom, az is elég ratyi. Még egyszer köszönöm!
bucihost
senior tag
Sziasztok. Adott egy weboldal, amiven van JS, Html, php is. A probléma az vele, hogy ha változás van kinézetben pl, akkor a böngészőkben (főként chromeban) nem jelennek meg rendesen a változások. AZ ok, hogy a böngésző cacheből tölti be a weboldalt, és eröltetve (ctrl + f5) újra kell neki tölteni a cachet. Ez ellen lehet valamit tenni szerver oldalon?
Szerk: Vagy ilyenkor elég lehet, ha pl a css-t átnevezem? pl: styles_v1.css
[ Szerkesztve ]
vakondka
őstag
Sziasztok,
Van egy weboldal, Smarty-val és a checkout success oldalon le kellene futnia egy javascriptnek, viszont néha lefut, néha nem. Gondolom literal közé kellene tenni, de akkor meg a változók nem kerülnének bele
{if !empty($checkoutprocess) }
<script type="text/javascript">
dataLayer = [{
'transactionId': '{$checkoutresults.OID}',
'transactionAffiliation':'{#STORE_OWNER#}',
'transactionTotal': {round(Scheckoutresults.total)},
'transactionTax': {round(Scheckoutresults.tax)},
'transactionShipping': round(Scheckoutresults.shipment)},
'transactionProducts': [
foreach from=$checkoutprocess->getProducts() item=product}
{
'sku': '{$product->getModel()}',
'name': '{$product->getName()}',
'category': '-',
'price': {round(Sproduct->getGrossPrice())},
'quantity': {$product->getAmount()}
}
{/foreach}
}];
</script>
{/if}
Van ötletetek a megoldásra?
https://toptarget.hu - Online Marketing Ügynökség
JoshaJosh
csendes tag
Jó hír, hogy sikerült végül kibogoznom, hogyan is indíthatnám el az oxwallt. Sikerült rátalálni a megfelelő módszerre, mindegyik szerver program alatt. Wamp, easyphp, IIS, xampp - csak épp mindnél előjött végül ez az üzenet:
És tényleg nincs elképzelésem ezen hogyan segíthetnék....
Ha valakinek van ötlete mit jelent ez pontosdan illetve miként segíthetnék rajt kérem segítsen köszönöm!
GG888
senior tag
Google első találat a dll-edre
pcmodding.hu | PC MODDING | Minden, ami modding, verhetetlen árak.
pelyib
tag
Chrome-ban ki lehet kapcsolni a helyi cachelést. Chrome -> F12 -> Network fül -> disable cache.
Így nem kell piszkálni a szervert.
bucihost
senior tag
Köszi, de a szerver oldali megoldás járható út csak. Csúnya lenne, ha a látogatóknak megszabnám, hogyan állítsák be a chromeot
fordfairlane
veterán
Verziózni kell a css js fájlokat.
<link rel="stylesheet" type="text/css" href="css/style.css?v=12">
x gon' give it to ya
fordfairlane
veterán
Gondolom literal közé kellene tenni, de akkor meg a változók nem kerülnének bele
Literal csak akkor kell, ha a smarty rosszul rendereli a javascript kódot. Az üres object literalt pl. el szokta cseszni.
x gon' give it to ya
bucihost
senior tag
Köszi, pont rá leletem én is a keresőben. Viszont találtam olyat is, ahol a verziózást "automatán" oldják meg. Miszerint a V=<? time() ?> ez is életképes lehet?
DNReNTi
őstag
Ez eleg paraszt megoldas.
Mondjuk mukodni mukodik...
but without you, my life is incomplete, my days are absolutely gray
fordfairlane
veterán
Ennél a megoldásnál minden letöltésnél már verziószám kerül az URL-be, tehát a böngésző mindig le fogja tölteni a teljes fájlt. Ez fölösleges. Csak akkor kell változzon az url, amikor az adott fájl tartalma is módosul.
Ennél még talán az is jobb, ha szerveroldalon számolsz checksumot.
style.css?v=<?=md5_file(ASSET_PATH . "style.css"); ?>
Az md5_file csak akkor ad más eredményt, ha az adott fájl tartalma változik, viszont ennél a megoldásnál a szerver végez egy plusz fájlműveletet minden oldallekérésnél.
Erre az egész problémakörre vannak automatikus megoldások is, "asset versioning" elnevezés alatt fut a téma. Kezdőnek jó bonyolultak.
x gon' give it to ya
pelyib
tag
Bocsi, azt hittem a fejlesztes kozben van ez.
Akkor pedig neked a Cache-control kell: http://httpd.apache.org/docs/current/mod/mod_expires.html
(viszont amig nem jar le addig nem is fog a szerverhez fordulni)
A verziozas is egy megoldas, deploy kozben kiszamolja az uj verziot es hozzacsapja a linkekhez, vagy ha nincs ilyen akkor egy bash / php script csinalja ezt x percenkent (vagy valami triggereli a futasat).
Vagy akar amit korabban irtak, hogy request kozben kiszamolja aztan cachebe lerakod y (fel napra pl) idore es kovetkezo request mar tudja hasznalni a cachet (kerdes, hogy ha valtozik valami akkor mi fogja ezt kiutni).
Szoval lehetosegek vannak boven
disy68
aktív tag
(#18927) fordfairlane válaszát annyival egészíteném ki, hogy használhatod a filemtime() parancsot is erre. Az első hozzászólásban pont erre van minta
“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
vakondka
őstag
Köszi.
Az a fura, hogy néha átadja az Analyticsnek az értékeket, néha nem, látszólag random módon.
Ez egy Analytics E-commerce implementáció lenne Google Tag Manageren keresztül.
A lényeg, hogy a dataLayerbe kell kerülnie minden adatnak a vásárlásról, ezt a Tag Manager átveszi és átküldi a Google Analyticsnek.
https://toptarget.hu - Online Marketing Ügynökség
fordfairlane
veterán
Nem értek az analyticshez. Esetleg érdemes megnézni, hogy a spec karakterek escapelése megfelelő-e.
x gon' give it to ya
gilfoyle
őstag
PayU bankártyás fizetés bekötést csinált már valaki? Hogy működik ez?
Panhard
tag
Sziasztok!
Tudtok valami olyan megoldást, ami szerver oldalon futtat le egy weblapot, és lementi képként? Az lenne a lényege, hogy van egy oldal, amin javascript chart van. Ezt kellene a webszervernek automatikusan megnyitni és a chartot képként lementeni. Tudom, hogy a webszerver nem tudja lefuttatni a javascriptet, mert az böngészőben fut. Ezért kellene valamilyen más megoldás. Gondolom php-ben meg lehet oldani. A php automatikus futtatása nem probléma, azt cron-ban megoldható. Jelenleg canvasJS-t használok a weblapon, de igazából mindegy milyen chart van használva, az adatok adatbázisban vannak. Lényeg az, hogy egy php oldal legenerálja a chartot, és lementse képként a webszerver egy könyvtárába.
Van erre valamilyen megoldás? Előre is köszönöm.
GG888
senior tag
Nem használtam ChartJS-t már jó rég óta, de itt pl. valaki PDF-be szeretné kiexportálni
onAnimationComplete eseményre létrehozol belőle egy base64 stringet, azt érdemes rögtön átdobni a szerverre, a kommentek között pedig találsz php példakódot, hogy a base64 stringet hogy mentsd le képként szerveroldalon.
Mondjuk ennek annyi hátulütője van, hogy csak akkor tud a cronod friss képet készíteni, ha valaki megnyitja a kliensoldalt és készül egy új base64 string az új charttal/adatokkal.
Nem biztos hogy segítettem, de valahogy így indulnék el
pcmodding.hu | PC MODDING | Minden, ami modding, verhetetlen árak.
Panhard
tag
Köszi, az lenne az igazi, hogy ne kelljen megnyitni a html oldalt, hanem automatám minden nap egyszer (éjfél előtt) lefutna, és lementené az aznapi képet a chartról.
Keresem a megoldásokat a neten, úgy látom vannak is, csak még meg kell értenem őket.
supercow
őstag
Nézd meg Wkhtmltopdf webkit engine alapú generátor. Illetve a csomagban van wkhtmltoimage.
https://wkhtmltopdf.org
I példák itt a 2 részben ami neked kell
Vagy cutycapt ugyanott
[ Szerkesztve ]
In nomine Pasta, et Fusilli, et Spaghetti Sancti. Ramen.
Egy kis írás az empty()
függvényről, érdemes tudni: [link]
[ Szerkesztve ]
A RIOS rendkívül felhasználóbarát, csak megválogatja a barátait.
PumpkinSeed
addikt
Én azért próbálok úgy programozni, hogy tudjam bizonyos változókba ugyan milyen adatok várhatóak, ezért ilyen isset meg empty sz*rokat nem is használok.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
DNReNTi
őstag
Azert az nem art, ha fel vagy arra keszulve, hogy valami megsem ugy sul el, ahogy eltervezted, aztan olyankor mondjuk jobb egy exception-t dobni, mint az, hogy beszarik a kod, azt nezegeti a user a feher kepernyot, meg riportalja a "nem mukodik ez a szar" hibat.
but without you, my life is incomplete, my days are absolutely gray
Lacc
aktív tag
A NetBeans-t is lehet ajánlani, ingyenes, és többet tud alapból mint a VSCode (Félre értés ne essék, én is használom a VSCode-t de nem PHP-ra, hanem Javascript). Majdnem a PHPStorm tudása van meg neki, nekem bevált, sőt gyorsabbnak tűnik mint a PHPStorm, igaz amikor a Projekteket indexeli az néha nagyon lassú, de szerintem ettől függetlenül teljesen vállalható.
PumpkinSeed
addikt
Nem fogok a végfelhasználónak exception-t dobni. Nyilván a tesztek úgy vannak megírva, hogy bontott kutyahátat is teszek a változóba, hogy minden lehetőség le legyen tesztelve.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
Lacc
aktív tag
Néhány framework tud olyat, hogy a Developer környezetben kidobja a hibát, még a Production környezetben csak 404-es hiba oldalt mutat.
A Loggolás amúgy sokat segít! Anno átkerültem ASP.NET-es csapatba, és akkor megmutatták hogy nagyobb projekteknél baromi hasznos, akár a test-ek amiket te is használsz
(#18944) fordfairlane válasza PumpkinSeed (#18942) üzenetére
fordfairlane
veterán
Elég nagy hiba. Bevett szokás az errorokat is exception-re konvertálni, aztán a nem elkapott exceptionöket meg loggolni. A user meg kap egy 500 hibaoldalt.
Ha egy változóban nem olyan típusú adat van, ami elvárható, és nem egy formmezőböl jön az értéke, tehát nem formvalidálás témakör, akkor nem érdemes sokat tökölni, jobb megszakítani a program futását.
[ Szerkesztve ]
x gon' give it to ya
Úgy is kell. Ha olvastad a bejegyzést, akkor láthatod, hogy én sem használok olyan változót, ami lehet hogy nem létezik. Az empty-t az üres tömb ellenőrzésére használtam mindig, csak aztán kiderült, hogy nem erre való. Az isset függvényt meg csak tömb index létezésének vizsgálatára.
A RIOS rendkívül felhasználóbarát, csak megválogatja a barátait.
Zedz
addikt
NetBeans nálam több mint 1GB memóriát kért el, akkor voltam úgy vele, hogy oké akkor megy az uninstall. Persze a PHPStorm is elkéri a magáét, viszont nekem sokkal jobban kézre áll a használata, és a memória használatot figyelmenkívül hagyva ez a lényeg.
Ha valakinek a babok jönnek be és azzal tud gyorsabban dolgozni, akkor szerencséje van az árát tekintve.
Nem kell látnia az exceptiont. Szerinted itt az 5xx hibaoldalak mik? Mind exception. A PHP hibakezelése könnyen testreszabható, bár még 7.1-ben is vannak még sajnos lyukak amire érdemes odafigyelni.
A RIOS rendkívül felhasználóbarát, csak megválogatja a barátait.
PumpkinSeed
addikt
(#18944) fordfairlane
Nyilván nem úgy értettem, hogy az ilyen nincs lekezelve ELK stacket használunk logolásra, szóval ha valami hiba van akkor mi hamarabb kapjuk meg hibát mint, hogy az a felhasználónál egyáltalán betöltődne. Nem is azt írtam, hogy nem kezeljük le, hanem hogy nem tolok PHP Exception-t a felhasználó arcába.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
(#18949) fordfairlane válasza PumpkinSeed (#18948) üzenetére
fordfairlane
veterán
De nem is ez volt az eredeti felvetés, hogy a felhasználó kap-e exception, vagy sem, hanem hogy a program dob-e exceptiont vagy sem. Márpedig miért ne dobjon exception egy metódus, ha például hiányzik egy nélkülözhetetlen paraméter, például...
x gon' give it to ya
DNReNTi
őstag
pluszEgy();
En is pont igy gondoltam. Nem arra akartam celozni, hogy PHP hiba helyett exceptiont kell adni a user-nek, hanem hogy az exceptiont tudod kezelni, a PHP hiba meg (optimalis esetben) nem jelenik meg prod-on, szoval lovese nem lesz a felhasznalonak mi az isten van, es neked sem, ha elmondja, hogy mit lat: semmit. Nyilvan emelle aldasos ha van log, de jobb egy hibaoldalra iranyitani. Legalabb van mit jelenteni.
but without you, my life is incomplete, my days are absolutely gray