Új hozzászólás Aktív témák
-
bandi0000
nagyúr
Sziasztok
Most próbálok ismerkedni ezzel a csodás világgal, mégpedig a SlimFramework-ot kezdtem el, de mivel kicsit tört angolom van, így előfordulhat, hogy félre értettem valamit
De elég sok kérdés merült fel bennem
Nem igazán értem mit csináltunk a feladatba
Első körben csináltunk egy loggert, amit nagyjából értek, hogy mi is
Ez után egy adatbázis kapcsolatot csináltam, de itt nem kellene lennie egy adatbázisnak is? Mert a feladatba nem írja, vagy legalább is nekem nem egyértelmű
Ez után teljes képzavar, hogy mi az a tickets fügvény, vagyis ez nem adatbázisból olvasná ki az adatokat vagy hasonló elgondolása van?
Ebbe van egy TicketMapper osztály? amit nem deklaráltam sehol, talán egy Dependency Injection lenne, de amikor "működött" az alkalmazás, akkor hibát írt rá, mert nincs sehol ilyen függvényemXbox One: bandymnc
-
bandi0000
nagyúr
válasz bandi0000 #19532 üzenetére
Esetleg annyi, hogy írja, hogy változtassam meg az elérési utat, az elején látok csak ilyet, de ha jól tudom, ott az autoload.php elérési útját kell megadni, viszont ha rá navigálok a tickets-re, akkor azt írja, hogy nem találja annak az osztálynak az elérési útját, mert rossz helyen keresi
Xbox One: bandymnc
-
bandi0000
nagyúr
Lenne egy gondolom pofon egyszerű kérdésem, de még csak most ismerkedek a php-val, így magamtól nem jövök rá
Szóval lényeg a lényeg, hogy REST-API-t használok PHP ben, és megcsináltam ezt a SlimFramework tutorialt, ott úgy van megoldva, hogy az adatbázisból beolvas 1 sort, minden egyes sornak létrehoz egy objektumot, aminek a függvényeiben vissza adja az egyes mezők értékét
Na már most, nekem notORM-et kellene használni az adatbázis adatinak kinyeréséhez, viszont a weboldalon, a példáknál, nem látom, hogy osztályt használna a reprezentálásra, hanem szimplán egy változóba lekéri az adatokat az adatbázisból
pl így:
foreach ($db->application() as $application) { // get all applications
echo "$application[title]\n"; // print application title
}de az ORM lényege nem az lenne, hogy osztályoknak feleltetjük meg az adatbázis tábláit?
Vagy esetleg teljesen más lenne a koncepció?
Xbox One: bandymnc
-
bandi0000
nagyúr
Tud valaki segíteni a Front Controlleres sémába?
Maga az oldal működik, de
Van egy Kapcsolat nevű oldal, ahol emailt lehetne küldeni, de küldés helyett fel akarom tölteni egy adatbázisba
A probléma az, hogy ha form-ot használok, akkor bármire ha átirányítanám ami feldolgozza ezt, akkor új lapot nyit meg, amit nem szeretném, hanem azt akarom elérni, hogy "elküldi" és mintha nem történne semmi, tehát ugyan azon a lapon maradna, vagy betöltené ugyan azt az oldalt, de minden szöveges mező üres lenne
Létezik valami megoldás erre? A legjobb az lenne, ha pl egy feldolgoz.php-nek küldené el, de ugye nem akarná azt megnyitni minden áron
Xbox One: bandymnc
-
bandi0000
nagyúr
-
bandi0000
nagyúr
PHP-ben hogyan tudnám ellenőrizni, hogy van e az objektum tömben adat?
RestAPI-t csinálok, lekérdeztem az adatbázisból, és egy objektum tömbe raktam bele egyesével az adatokat, de hiába echo-zom ki, nem ír ki semmit, a lekérdezés jó, azt ki tudtam íratni, print_r-el meg nem írja ki a konkrét adatokat, csak annyi sort ahány adat van
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz supercow #19568 üzenetére
Lényeg az, hogy tanulom ezt a slimframeworkot, + OOP
Lekérdeztem az adatbázisból, és minden sorból csináltam egy objektumot, ez a Student.php ban van
objektumokat a StudentEntity-ből származtattam , + ez örökölt még a Mappertől, de ez csak az adatbázis változót vette átindex.php-ban, a tanulok útvonalnál akartam ezt kiíratni, de nem igazán írt ki semmit a tulajdonságokkal, attól tartok, hogy valamit nem jól csináltam az adatbázis és az objektumok között
mert az adatbázisból lekérdezi, $row-ba benne is vannak az értékek, szóval vagy a kiíratás nem jó, vagy nem rakja bele a tömbbe
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz supercow #19570 üzenetére
basszus minő balga hiba
Esetleg ha abban tudnál még segíteni, vagy akárki más, hogy
composer.json-be megadtam, hogy hol vannak az osztályok, de nem találja, vagyis szerintem rossz helyen keresheti?
autoload-ot is betöltöttem, de csak úgy találja az osztályt, ha requireddel betolom őket ugye
Xbox One: bandymnc
-
bandi0000
nagyúr
Tudnátok abban segíteni, hogy
Megcsináltam egy REST API-t, SlimFramework tutorial alapján, end pointok működnek is, hanem az jutott eszembe, hogy Put és Post kéréseknél kellene ellenőrizni itt a szerver oldalon az adatokat, ezt hogy érdemes megtenni? Szép megoldást akarok, de itt még csak gyakorolgatok, szóval írjak egy osztályt rá, vagy máshogy kellene?
Illetve tutorialba amikor bekérte az adatokat, abból létrehozott egy objektumot, ugye van egy osztály ami megfelelteti az adatbázis egy tábláját, na már most, úgy csinálta, hogy ezt az objektumot dobta tovább a mentést végző metódusnak, és az adatbázis műveletnél használnia kellett az osztály getter metódusait, gondolom ezt az OOP miatt csinálta így, viszont csomó átalakítást és nyűgöt lehetne megspórolni úgy, ha csak egy tömbként adnám tovább az adatokat, ez nem fér bele már az OOP/ szép megoldásba?
Xbox One: bandymnc
-
bandi0000
nagyúr
Igen kicsit közepén kezdtem, szakdogához kell majd egy weblapot csinálni, és ezt ajánlották, hogy így csináljam, nekem igazából tetszik, bár a .Net kicsit jobban feküdne, bár azt is most kezdtük
Amúgy [ez] a tutorial, bár inkább a githubos megoldás sterint csináltam, mert ez a tutorial annyira nem részletesen írja le
[ez] a githubos link, ticketmapper talán a class neve, amibe van a save metódus, arról beszéltem
[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
Nézegetem ezt a SlimFramework-os validációt, ez tényleg ennyire sok és bonyolult, mint ahogy nekem tűnik, vagy csak nekem új ez ennyire? Github-os linken több 100 sor-ban csinálta meg a validálást, már amennyire jól értelmeztem
ezt nézegetem, én sem csináltam nagyon még ilyet, pláne nem PHP-ban, ígyí elsőre megijedtem tőle, azt hittem egyszerűbb
vagy csak én nem találok olyan leírást ami elmagyarázza jól ezt a dolgot
[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
Kaptam még1 tippet a validációra, mégpedig a GUMP, ezt hogy érdemes beleírni a kódba? Értem ezt úgy, hogy gondolom nem kellene ezeket bele okádni az endpointok közé, hanem kellene egy külön osztály és azt hívogatni mikor validálni akarok?
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz pelyib #19587 üzenetére
Köszi, gondolom a request-re validálás az, amikor a bejövő adatokat validálom, responsra talán nincs is értelme
Ránézek akkor a middlewarera, csak nem igazán találok értelmes leírást, még a slim honlapján se...
Még egy banális kérdés, felhasználó azonosítást a szerver ordalon kell megcsinálni? Mármint gondolok arra, hogy ha bejelentkezik, akkor maradjon meg a munkamenete, ez PHP ben történik?
Xbox One: bandymnc
-
bandi0000
nagyúr
Megint kérnék egy kis segítséget
Van egy osztály, abba vannak adattagok, név,email,lakhely... stb, ezekhez van get tulajdonság
Viszont egy ilyen objektum tömböt hogyan tudok vissza adni JSON válaszba?
Egy ideje guglizok, sok mindent találtam, de igazából nem nagyon működnek, gondolom valami komolyabb átalakítás kellene itt
Ami működött, hogy csináltam az osztályba még1 metódust, ami vissza adja tömbként az összes adatot, ez nem is lenne rossz szerintem, de csak 1 objektumra működik, nekem meg egy objektum tömböm van
[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
köszönöm, elvileg sikerült
Akkor egy hivatalos json válasz így néz ki ? :"{\"id\":\"3\",\"firstname\":\"J\\u00e1sz\",\"lastname\":\"Miska\",\"email\":\"misikepower@gmail.com\",\"age\":\"999\",\"postcode\":\"6041\"}",
ráhúztam ezt a json_encode-t, azt írta ki ilyen formába
így állítom össze a választ:
return $response->withJSON(
$json,
200,
JSON_UNESCAPED_UNICODE
);nem találtam rá megoldást, mit kellene máshogy csinálni, hogy ne tűnjenek el az ékezetek, gondolom rá kellene erőltetni az UTF8-at valahogy
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz bandi0000 #19593 üzenetére
UPDATE
közben látom, hogy nem json formátum, legalább is egy validátor szerint
végül is az lett a megoldás, hogy az osztályban van egy metódus, ami json formátumban adja vissza az adattagokat, és ezt tudom vissza küldeni a $response-ba
ez mennyire számít jó megoldásnak? mármint ha nem hoki backendet akarok csinálni?
Xbox One: bandymnc
-
bandi0000
nagyúr
-
bandi0000
nagyúr
Kérnék egy kis segítséget, youtubon néztem/csináltam ezt a PHP slim authentication-t, elvileg mindent "másoltam" de mégse teljesen úgy működik
Lényeg az, hogy a middleware-s validálásnál van a probléma, a videóba validálás után, a hibákat tartalmazó változót tovább passzolja az egyik view-nak ami lényegében egy form, na már most, úgy kellene működnie, hogy, ha elküldi az adatokat, és hibás, akkor kiír az email mező alá egy hiba üzenetet, amíg nem küldi el, addig nem csinál semmit
Nálam, ahogy belépek az adott view-ba, kiír egy hiba üzenetet: Notice: Undefined index: errors in D:\xampp\htdocs\autenthication\app\Middleware\ValidationErrorsMiddleware.php on line 11
az érintett sor:
$this->container->view->getEnvironment()->addGlobal('errors',$_SESSION['errors']);
ha rá nyomok a küldésre, akkor megszűnik ez a hiba üzenet, de hiába volt hibás a bevitt adat, nem jelenik meg semmi
Már amennyire értek hozzá, olyan, mintha hamarabb akarná használni azt az 'errors' indexet, minthogy egyáltalán lenne benne hiba
ha esetleg kell forráskód felrakom, de nem akartam telepakolni a hsz-t vele, de ha van valakinek ötlete azt megköszönném
Xbox One: bandymnc
-
bandi0000
nagyúr
köszi, közben rátaláltam, hogy én írtam el szokás szerint, de amúgy érdekes, hogy a videóba nem dob neki ilyen hibát...
Viszont lett kérdésem
Azt tudom, hogy kell validálni az adatokat szerver, és kliens oldalon is, itt jól működik, mert egybe van a kettő, de ha nekem angular kliensem van, akkor mit csináljak ezekkel az üzenetekkel? Mármint kliens oldalon ellenőrzöm, azokat az adatokat, ha az tuti jó, akkor küldi a szervernek, de ha valamiért a kliens és a szerver között megváltozik az adat, akkor az fennakad a szerveren, azzal mit szoktak csinálni?
Xbox One: bandymnc
-
bandi0000
nagyúr
Végigcsináltam a youtubos authentication példát
Jól gondolom akkor, hogy ahhoz hasonlóan kell majd csinálnom nekem is? Frontenden bejelentkezik a felhasználó, és ha sikeres volt, akkor elindítom neki a session-t, és azzal ellenőrzöm majd minden kérésnél, hogy be van e jelentkezve, már amihez feltétel az, például ha csak a saját adatait akarja szerkeszteni, annál az endpointnál ellenőrzöm pl?
Xbox One: bandymnc
-
bandi0000
nagyúr
Egy elég összetett kérdésem lenne
Már lassan végig érek mindenen, ami kellene nekem, egy működő REST API-hoz
-SlimFramework
-Respect Validation
-Middleware
-JWT authentication
-notORM DBDe viszont nem tudom, hogyan tudnék ebből kihozni clean codot, hozzáteszem, hogy eddig nem is figyeltem annyira erre, ezért illene már megtanulni, ebben tud valaki segíteni?
Sok tutorialt néztem, eltérő módon oldották meg a dolgokat, pl valamelyikben egy mappát hoztak létre, gyakorlatilag mindennek egyet, bár abban is volt egy controller osztály, és az is elég sok kódot tartalmazott
A másik amit még ismerek, ez a Skeleton, ott ugye csinál magától egy src mappát abban dependencies,middleware,routes,és setting php fájlokkal, de ha sok az endpointom akkor ebben is rengeteg kód lesz, vagy ez nem gond? Mit ajánlanátok?
Xbox One: bandymnc
-
bandi0000
nagyúr
hogy működik ez az autoload?
Hiába olvasok róla, nem akar működni
projekt mappán belül van egy models mappa, amiben van 2 osztály
az egyik osztályt használom, és mindig erre rinyál, hogy nem találja
namspace Models/Users;
composer.json :
"psr-4": {
"Tests\\": "tests/",
"Models\\":"models",
"":"Validation/"
}(Amíg a models mappa az src mappán belül volt, és így adtam meg az composer.json-be :"":"src/models" addig működött )
autoloadoltam is már, az se segített, valszeg valamit nem értek a névadásnál, és azért kavarom be rendszert
Xbox One: bandymnc
-
bandi0000
nagyúr
Használom ezt a Monologot arra, hogy loggoljam a hibákat stb, viszont más is használja, pl a tuupola JWT ahol a beállításoknál kell átadni neki a loggert, olyasmit szeretnék csinálni, hogy 1 változóval, vagy bármivel ki-be tudjam kapcsolni a funkciót, tehát, hogy ne mentse le a logokat
Meg lehetne ezt valahogy értelmesen csinálni? Mert ahol én rakok bele hibát, ott esetleg lehetne nézni egy bool értéket, de ahol csak a beállításoknál adom át a loggert, oda elvileg nem írhatok feltételt
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz Nagyzoli27 #19675 üzenetére
Használod az API-t, de ha nem tudsz programozni, vagy anélkül akarod megoldani, akkor nem az api lesz a megoldás neked
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz kezdosql #19683 üzenetére
PHP-ba szerintem annyira nem egyszerű ez, vagyis szerintem kellene csinálni egy másik html-t, amibe a részletes nézet van, amit ugye megnyitsz a linkkel, és abba illetve a PHP fájlban csinálsz még1 lekérdezést,de ez azért már összetettebb dolog, hogy szépen meg lehessen oldani PHP+HTML-ben
Xbox One: bandymnc
-
bandi0000
nagyúr
Sziasztok
Van aki kompetens alap szintű WSDL file generálásában?Igazából csak annyi a gondom, hogy ami órán lefutott a benti gépeken, az itthon nem akar, legalább is a generátor php file meg se nyikkanXampp-ben elvileg kivettem a pontovesszőt a soap dll elől, szóval annak elvielg fent kéne lennieVan bármi féle ötlet, hogy merre induljak el a kereséssel?Közben az órai lefutott, viszont egy másikat csináltam az nem, hogy lehetne ezt "debuggolni" ?
[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
Sziasztok
Egy kis segítséget kérnék, van egy feladatom, hogy csináljak egy egyszerű "weboldalt" PHP-ben MVC mintával, framework nélkül, az alapja már meglenne, csak arra nem jövök rá, hogy hogyan tudok átadni egy objektum tömböt a controller és a view között?
Nagyjából jelenleg úgy működik, hogy az url alapján kiválasztja a megfelelő nézetet, de talán a legegyszerűbb impelentálása ennek az egésznek, ezért nem igazán jövök rá, hogy mi lehet a menete, valakinek van ötlete esetleg?
Most eszembe juttott esetleg az ajax, hogy azzal át tudnám lökni a controllerből az adatot a view-ba, ez mennyire lehet jó megoldás?
[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz bandi0000 #19934 üzenetére
Na végül is ezt megoldottam, viszont
404 Page-et is létre szeretnék hozni, viszont itt elég korlátozottak a lehetőségek, a gond az, hogy ha betöltött egy oldal, és után olyan url-t adok meg, ami nem létezik, akkor ki tudok íratni egy szöveget, hogy 404, de az előző oldal megmarad
1.0-ás verziónak azt találtam ki, hogy minden oldal betöltés elött betöltök egy üres php fájlt, és értelemszerűen, ha jó az útvonal, akkor betölti hozzá a a felületet, ha nem, akkor megjelenik a 404 hiba, de ez elég puritán megoldás, erre van valakinek szebb megoldása?
Van egy Route osztály, amibe belekerülnek az útvonalak
class Route{
public static $validRoutes = array();
public static function set($route,$function){
self::$validRoutes[] = $route;
if(array_search($_GET['url'],self::$validRoutes)){
if($_GET['url'] == $route) {
$function->__invoke();
}
}else{
include_once("./Views/404.php");
}
}}
Az útvonalakat így adtam meg, A CreateView megkapja paraméternek a betöltendő View nevét
Route::set('home', function(){
Index::CreateView('deletePage');
Index::CreateView('Home');
});
[ Szerkesztve ]
Xbox One: bandymnc
Új hozzászólás Aktív témák
- Panasonic Lumix G X VARIO 12-35mm f/2.8 II ASPH. Power O.I.S. (H-HSA12035)
- 2db Iceriver KS0 KASPA bányagép + 180W új tápegység 2 év garanciával.
- Panasonic Lumix DC-G9 (V-Log L kiegészítéssel, 4 akkuval)
- Commlite CM-EF-NEX Auto-Focus Adapter (Canon EF - Sony E)
- Üzletből, garanciával, legújabb Asus Vivobook 17" i7-1355U 10 mag 5GHz/16RAM/1TBSSD/17,3"FULLHD
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen