- OnePlus 8 Pro - a túlgondolt
- Okosóra és okoskiegészítő topik
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Netfone
- Samsung Galaxy A54 - türelemjáték
- iPhone topik
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Yettel topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
válasz
trisztan94 #10172 üzenetére
Ez biztosan nem jó, legalább egy E_NOTICE-t dob rá a PHP, hiszen az index (user) nem feltétlenül található meg a tömbben.
setcookie(user, $myusername, time()+3600);
Szintén hibaforrás, szerintem nincs user nevű konstansod (E_NOTICE szintén), tedd idézőjelek közé ("user").
Kapcsold be a PHP hibák megjelenítését!
-
Peter Kiss
őstag
válasz
lakisoft #10140 üzenetére
Biztonsági kérdésekben minden szempontból helyből jobb egy fordított nyelv egy értelmezettnél. Java erősen típusos, szemben a PHP gyenge típusosságával, ahol minden lehet minden, de pl. a PHP értelmezett jellege miatt feltöltött képfájlból lehet futtatni ártalmas PHP kódot.
Természetesen a fejlesztő a kulcs továbbra is.
-
Peter Kiss
őstag
válasz
Sk8erPeter #9922 üzenetére
IoC-nál jobb a DI, de egy DLL-t elég nehéz bootstrapelni.
A tervezési minták átívelnek a nyelveken. -
Peter Kiss
őstag
válasz
Sk8erPeter #9920 üzenetére
Singleton-t még logger osztállyal sem használnék. Van mindenre sokkal okosabb és jobb megoldás, erre pl. egy service locator lenne az egyik (e mögé be lehet tenni, hogy csak egy instance lehet mindig, de ki hogyan szereti) lambdákkal. Ez egyébként nagy királyság, a már említett DLL-ből kintre csak ennyi látszik: DLL.GetService<TService>();
-
Peter Kiss
őstag
válasz
Speeedfire #9918 üzenetére
A felsoroltak közül az átláthatóság és a továbbfejleszthetőség a fontos, de már említettem azt is, hogy nem tesztelhető a logika, valamint felborítja az OO elveket némileg*.
*Attól, hogy valaki osztályokat ír, még nem feltétlenül fejleszt objektum-orientált módon. Tudom, én is bejártam az utat.
-
Peter Kiss
őstag
válasz
PazsitZ #9912 üzenetére
A Singleton anti-pattern, tesztelhetetlen alkalmazást eredményez, illetve fogalmad sem lesz arról, hogyan működik az alkalmazás.
Elég csak arra gondolni, mi van akkor, ha kapsz egy egyébként működő kódhalmazt, amit használni szeretnél, de rejtett dependency-k vannak benne a singletonok miatt. Sosem szabad ilyet csinálni.
Példa:
<?php
/* ... */
$controllerFactory = $this->_controllerBuilder->GetControllerFactory($this->HttpContext);
$controller = $controllerFactory->CreateController($this->HttpContext);
if (!$controller->GetType()->ImplementsInterface("\\System\\Web\\Mvc\\IHttpHandler") || !$controller->IsStateLess()) {
$sdsf = new SessionProviderFactory();
$this->SessionManager = new SessionManager($this->HttpContext, new UsersAndGroupsDataContext(), $sdsf);
$this->SessionManager->Validate();
$this->HttpContext->Session = $this->SessionManager->GetCurrentSession();
}
if (!$controller->Execute($this->HttpContext, $this->_actionInvokers->GetActionInvoker(typeof($controller)))) {
throw new \Exception("Failed to execute action: " . $this->HttpContext->Route());
}
/* ... */Itt mondhatnám én is a $this->HttpContext átadása helyett, hogy akkor HttpContext::Instance() az egyes helyeken (kihagyva a metódusok paraméterlistájából), mert itt ugyanazt jelenti, de azt eredményezné, hogy még számomra se lenne világos, minek mire van szüksége.
A példában szereplő if block egyébként még javításra szorul.
-
Peter Kiss
őstag
válasz
Sk8erPeter #9914 üzenetére
Igaz, de azzal nem fog tudni mit kezdeni.
---
@Speeedfire
Az egyszerűbb út csalóka. Cégnél is azt választották mindig, egy DLL kódját már több, mint egy hete hegesztem, hogy kimossak mindent a szarból (abban pl. mindig ilyenek voltak: [akármilyen]DAL.Instance(), pff(mindez mint metódushívás paramétere is akár)).
-
Peter Kiss
őstag
válasz
Speeedfire #9910 üzenetére
Static dolgok használata könnyen gyorsan spagetti kódot eredményez, fogalmad sem lesz, mi zajlik a rendszerben, tesztelhetőségről ne is beszéljünk.
A másik, hogy ha ezt a kérés során folyamatosan használod mondjuk 5 alkalommal, akkor ötször fog ez így lefutni?
Kódírás folyamán mindig érdemes lefektetni pár szabályt, amit betartasz, pl.:
static változóba nem rakok semmit, ami állapotot tárol (singleton is kinyírva)
static csak olyan lehet, ami valamilyen service-szel kapcsolatos (nálam ilyen a Path osztály, ez csak a mappák, fájlok neveit machinálja string-ként, az IsAdmin cuccod ilyesmi, de rossz a megközelítés*)Ezeket igyekszem mindig betartani, de a saját kis reflection kiegészítésem miatt én is tárolok dolgokat static változóban, de azok nem is változnak, amíg az osztály maga nem változik meg. Érdemes úgy tekinteni a static elemekre ilyen szempontból, mintha a PHP nem shared nothing elveket vallana.
---
Static cuccokkal van olyan gond, hogy simán keresztülhúzod az OO elveket. Most egy felhasználóról akarod megmondani, hogy admin avagy nem admin úgy, hogy gyakorlatilag kiszeded az egészet a rendeltetési helyéről, hiszen maga a User meg tudja mondani magáról az-e, ahogyan ez látszik is.
A kereted ad hozzáférést egy user nevű field-hez, az mi? Nem tudod egész véletlenül megmondani a rendszernek, hogy oda egy profibb objektumot toljon be? Mert akkor ennyi lenne: Yii::app()->user->admin; és nincs ez a static borzalom benne a rendszerben.Maga a design is lehet rossz: nem egy bit kell arra, hogy admin-e, hanem hegeszteni kell olyan Role rendszert, amibe ezt szépen bele lehet kódolni.
---
Én is használtam Singleton-t, de utána alig bírtam kiírtani a rendszerből, nagyon rossz ötlet. Nem tudom, mennyire jött át a dolog, de ha most nem, majd rájössz.
-
Peter Kiss
őstag
válasz
Speeedfire #9905 üzenetére
Ha már a kód szépségéről volt szó:
<?php
class Auth{
public static function isAdmin() {
if(Yii::app()->isGuest) {
return false;
}
$user = User::model()->findByPk(Yii::app()->user->id);
return $user->admin == 1;
}
}Persze ez a statikus összehányás nem jó ötlet.
-
Peter Kiss
őstag
válasz
Speeedfire #9897 üzenetére
A ternary operator nagy királyság, az egyszerűsített még jobb. Persze vigyázni kell, mire használjuk, a tömbös mutatványt már említettem régebben.
-
Peter Kiss
őstag
válasz
Sk8erPeter #9888 üzenetére
Nem mondta, kérdezte.
-
Peter Kiss
őstag
válasz
Sk8erPeter #9885 üzenetére
Melyik kérdés a helyes?
1: A pohár félig teli van?
2. Félig üres a pohárm? -
Peter Kiss
őstag
válasz
Speeedfire #9831 üzenetére
A Yii nem tud semmilyen routingos megoldást erre? Degáz...
Gondolok ilyenre:
login route engedélyezve van
minden más route elmegy a maintance oldalra. -
Peter Kiss
őstag
válasz
Speeedfire #9725 üzenetére
Közös ős Controller?
-
Peter Kiss
őstag
válasz
Speeedfire #9717 üzenetére
Mi az, amire nem megy?
-
Peter Kiss
őstag
válasz
Sk8erPeter #9381 üzenetére
A felvázolt ötlethez ez elengedhetetlen.
-
Peter Kiss
őstag
válasz
Speeedfire #9378 üzenetére
P3P header, illetve a megfelelő ponton el kell intézni pl. iframe-mel, hogy átküldje a sütihez a megfelelő adatokat a 2. ... X. oldalnak. Persze mindezt csak akkor, ha egy helyről fut minden.
-
Peter Kiss
őstag
válasz
Speeedfire #9373 üzenetére
Nézd meg a redirect() definícióát, szerintem ilyenkor nem fut le a session mentése. Ha OO session saver van, akkor el szokták felejteni beregisztrálni shutdown function-nek a session mentését (esetleg a session-t mentő objektum __destruct()-jába).
-
Peter Kiss
őstag
válasz
Brown ügynök #9310 üzenetére
$controller = "\\App\\Controller\\" . $route["controller"];
$controller = new $controller; -
Peter Kiss
őstag
válasz
Brown ügynök #9303 üzenetére
Ha nincs benne duplabájtos karakter vagy BOM, akkor nem feltétlenül érzékelik jól a szövegszerkesztők, hogy milyen kódolású.
-
Peter Kiss
őstag
válasz
Sk8erPeter #9038 üzenetére
Értelem szerűen Debianra gondolok. Értem én, hogy szeretnék az Ubuntu-ból a lehető legtöbbet kihozni, de néha a kevesebb több. Ubuntu arra való, hogy meggyűlöld a Linux-ot.
-
Peter Kiss
őstag
válasz
Sk8erPeter #9036 üzenetére
Nekem ott telt be a pohár, hogy gyakorlatilag minden konfigurációs beállítást máshová raknak, mint ahol a helye van, illetve amikor egy adott problémára találok 20 különböző megoldást, de nekem a 21. jön be, az fárasztó.
-
Peter Kiss
őstag
válasz
Sk8erPeter #9033 üzenetére
Az Ubuntu egy nagy rakás hulladék.
-
Peter Kiss
őstag
válasz
Sk8erPeter #8954 üzenetére
Az első forma karcolja a hülyeség fogalmát, és valóban nem fordul le minden nyelven.
PHP 5.3 óta egyébként van egyszerűsített is:
$tmp = $someVariable ?: "Hello world";Ha $someVariable létezik, és true-t ad a kiértékelés folyamán, akkor az ő értékét veszi fel a $tmp, egyébként "Hello world" lesz. Ha a $someVariable nem létezik, error.
---
#8961: __call-lal nincs kódkiegészítés, és nyilván szar ötlet eval()-lal használni, de lehetséges. Bár látszólag csak overhead-et pakol a kódba, ha ilyet használ valaki.
-
Peter Kiss
őstag
-
Peter Kiss
őstag
válasz
Sk8erPeter #8927 üzenetére
Mint mondtam: ha kellenek a bejegyzések, akkor semmi értelme. De én csak odáig jutottam, hogy nem kellenek, és csak az kell, van-e. Arra írtam ezt. És nem, az eredeti query-t nem szabadna módosítani COUNT(*)-gal.
-
Peter Kiss
őstag
válasz
Sk8erPeter #8923 üzenetére
Query machinálás query() metódusban:
SELECT COUNT(*) AS resultSetCount
FROM IDE_JÖN_AZ_EREDETI_QUERY AS t0Ebben az esetben 1 darab mző jön le az adatbázisból, és emiatt jóval gyorsabb lehet, ha tényleg csak a rekordok száma érdekel.
---
Én pl. csináltam magamnak Any()-t, ami hasonló a fentihez, de nem csinál sub query-t, hanem berak egy LIMIT-et a végére. Ha jön vissza valami, true, ha nem, false. De van még egy pár ilyen, a teljesség igénye nélkül így oldottam meg a Max(), Min(), Average() hívásokat is.
-
Peter Kiss
őstag
válasz
Sk8erPeter #8911 üzenetére
Keress egy nagy adatbázist, és számoltasd meg valamilyen feltétel után, hány darab rekord van benne. Utáne tedd meg ugyanezt EXISTS-cel. Na, látod?!
Nyilván, ha kell neki minden post, és nem csak az, hogy van-e benne, akkor okés, csak nem nyálaztam vissza, mi volt a lényeg, csak odáig láttam, hogy true / false jön ki belőle.
Egyébként, ha én ORM-et fejlesztek, akkor akár azt ics megcsinálhatom, hogy módosítom on-the-fly a query-t, hogy az adatbázis számolja össze az összes sort, ne pedig a memóriában történjen meg ugyanez. Tetszik érteni?
-
Peter Kiss
őstag
Nem tudom, hogy jól értem-e. Csak az a lényeg, hogy valamit akkor csinálsz meg, ha ad vissza valamit egy query? Mert akkor limitálni kellene a result set méretét 1 darabra, ne adjon vissza X darabot (ami akár lehetne X is). Nem tudom, hogy a count() mit csinál a háttérben, de érdemes lenne megfontolni a limitálást (MySQL: LIMIT, MSSQL: TOP).
Ilyen módon, ha visszajön 1 darab, akkor true, ha nem, akkor false.
-
Peter Kiss
őstag
Téma iránt érdeklődőknek: PHP iteráció
-
Peter Kiss
őstag
-
Peter Kiss
őstag
Ternary operator nem ajánlott akkor, ha tömbbel kell bármit is csinálni, mert mielőtt végezné a műveletet lemásolja az egész tömböt, majd csak utána fogja végrehajtani a műveletet (isset($variable)).
-
Peter Kiss
őstag
válasz
Speeedfire #8839 üzenetére
Ilyet csináltam 4 oldallal. Ugyanúgy működik minden, csak más dolgokat mutat, de pl. azt is megoldottam, hogy ha egyik helyre belép valaki, akkor belépett a többire is, illetve mindenhonnan elérhető volt pl. az összes feltöltött kép.
Szerintem symlink-kel próbálkoznék először. Az egyik oldal tartalmazná az alkalmazást, míg a másik csak arra irányulna, de a rendszer figyelni a domain nevet, hogy mit is kellene mutatnia.
-
Peter Kiss
őstag
válasz
Speeedfire #8826 üzenetére
<?php
$file = 'monkey.gif';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>
Ilyet használok az MVC keretem FileResult osztályában.---
OpenID-s megoldások jutnak eszembe. Vagy valahogyan megoldod a két rendszer migrációját.
-
Peter Kiss
őstag
válasz
Louloudaki #8781 üzenetére
Azért nem írtam bővebben, mert úgyis arra hozom ki, hogy nehogy úgy csináld.
Sk8erPeter adja a korrekt megoldást. (Egyébként a magam részéről nem szórakoznék ilyennel, mutassa csak az időt kizárólag a kliensoldal felhasználásával.)
-
Peter Kiss
őstag
válasz
Louloudaki #8779 üzenetére
AJAX (!).
-
Peter Kiss
őstag
válasz
Sk8erPeter #8769 üzenetére
Tehát, ha a rendszer úgy látja, hogy be van töltve az extension és engedélyezve is van, akkor feltételezi, hogy működik, így használhatja.
Jelenleg az én fejlesztési környezetemben ez nem lesz igaz, de ugyanúgy dolgozhatok a Cache osztályommal, csak igazából nem fog semmit sem cache-elni, de nem is fog hibát dobni miatta.
-
Peter Kiss
őstag
válasz
Sk8erPeter #8765 üzenetére
Nem tudom, mi lehet a dolog feloldása, nagyon nem akarok belemenni, mert ahol elérhető, ott biztosan működik (hostingra gondolok), más esetben meg nem érdekel.
Raktam egy ilyet az osztályomba:
$this->_enabled = \extension_loaded("apc") && ini_get("apc.enabled");Ha nincs engedélyezve, akkor nem fog cache-elni, de nem is fog meghalni.
-
Peter Kiss
őstag
válasz
Sk8erPeter #8762 üzenetére
Az a baj, hogy minden kis szar verziót egyeztetni kell, mert különben el sem indul az apache. Talán meg kellene próbálni IIS-en futtatni.
-
Peter Kiss
őstag
válasz
Peter Kiss #8750 üzenetére
Telepítettem PHP-t Debian-ra:
$cache = new Cache();
if ($cache["first"] == NULL) {
$cache->Insert("first", array(1,2,3,4,5,6,7,8,9), \System\DateTimeHelper::Now()->AddSeconds(20));
sleep(10);
} else {
var_dump($cache["first"]);
}Itt működik minden szépen.
-
Peter Kiss
őstag
válasz
Sk8erPeter #8729 üzenetére
Windows-on vagyok, és én is arra jutottam, hogy ez Windows alatt kb. kivitelezhetetlen.
-
Peter Kiss
őstag
APC-t hegesztenék XAMPP alá, de nem igazán akar menni.
Ha egy 2 fájlos valamin próbálom ki, működik. Amint próbálom futtatni a nagy alkalmazást (amiben nincs is apc_ hívás), akkor az első kérés még megy, de refresh-re appcrash-be borul a httpd és a php5ts.dll-re hivatkozik. 2 különböző verziójú XAMPP-ot próbáltam, de ugyanazt csinálja.
Ötlet?
-
Peter Kiss
őstag
válasz
Peter Kiss #8718 üzenetére
A több fájlt úgy értem, hogy 1 név alatt fut több, nem több, eltérő nevű input van!
-
Peter Kiss
őstag
válasz
Speeedfire #8717 üzenetére
Önmagában sem az isset sem az empty nem elég a $_FILES-hoz. (Kivéve egy esetet: ha nem tartalmazott a form fájlfeltöltési input-ot.)
Változtatni kell az ellenőrzésen:
if (isset($_FILES['Item']) && $_FILES['Item']['error'] == 0) {
// single file upload
}De több fájl esetén már bonyolultabb a történet, részlet a kódomból:
$this->Files = new HttpFileCollection();
foreach ($_FILES as $key => $value) {
if (is_array($value['name'])) {
$tmp = new HttpFileCollection();
for ($i = 0, $limit = count($value['name']); $i < $limit; ++$i) {
$tmp->Add($key . $i, new HttpPostedFile($value['name'][$i], $value['tmp_name'][$i], $value['size'][$i], $value['type'][$i], $value['error'][$i]));
}
$this->Files->Add($key, $tmp);
} else {
$this->Files->Add($key, new HttpPostedFile($value['name'], $value['tmp_name'], $value['size'], $value['type'], $value['error']));
}
} -
Peter Kiss
őstag
válasz
Speeedfire #8715 üzenetére
Azt nem értem, hogy a $_POST-nak mi köze van a fájlfeltöltéshez? A PHP minden egyes fájlt a $_FILES tömbbe mappeli, nem másnak, csináljon bármit is a keretrendszer (no persze teljesen kukázni lehet a $_FILES-t, de ezt nem teszi a yii).
-
Peter Kiss
őstag
válasz
Speeedfire #8713 üzenetére
Szívesen.
Nem, én sajátot írok.
-
Peter Kiss
őstag
válasz
Speeedfire #8711 üzenetére
CUploadedFile::getInstance NULL-t ad vissza, ha nem lett semmilyen fájl feltöltve az adott "attribútumhoz". Nézd meg, mi van a $_FILES-ban, mert könnyen lehet, hogy csak látszólag működik a dolog.
-
Peter Kiss
őstag
válasz
Speeedfire #8708 üzenetére
Nem tudom, mi lehet olyan nehéz benne. Ma megírtam saját magamnak a fájlfeltöltős részt, kellett 2 osztályt írnom (mindkettőt egy-egy meglévőből származtattam, de semmi fájlfeltöltéssel kapcsolatos nincs benne), és megy is:
/**
*
* @return ViewResult
*/
public function index() {
if ($this->HttpContext->IsPost()) {
$i = 0;
foreach ($this->HttpContext->Files as $value) {
/* @var $value \System\Web\HttpPostedFile */
if ($value->IsMultiple()) {
foreach ($value as $m) {
$m->SaveAs("o/up" . $i . ".valami");
++$i;
}
} else {
$value->SaveAs("o/up" . $i . ".valami");
++$i;
}
}
}
return $this->View('index');
}Egy SaveAs jellegű sort simán el lehet viselni bárhol. Egyébként a SaveAs mellett tudom neki azt is mondani, hogy ->Stream() és máris tudom olvasni. Ha pedig mentettem és sikerült is, akkor kapok egy FileInfo nevű objektumot. Amennyiben nem sikerült a feltöltés, dobja SaveAs-nál és Stream-nél az Exception-öket.
-
Peter Kiss
őstag
válasz
Speeedfire #8705 üzenetére
Egyszerű: készítesz egy (igazából valószínűleg többet) osztályt, ami ténylegesen dolgozni fog a fájlok feltöltésével, és ezt használod az összes helyen, ahol csak kell, csak a határok kijelölésére van szükség.
-
Peter Kiss
őstag
válasz
DerStauner #8562 üzenetére
Nem adtál meg semmi információt a klienseknek, hogy milyen kódolással tolod ki az adatokat.
PHP: header()
HTML: <meta /> -
Peter Kiss
őstag
válasz
Tele von Zsinór #8557 üzenetére
Jaja, ennyire régi az alkalmazás, amihez kell.
-
Peter Kiss
őstag
válasz
Tele von Zsinór #8555 üzenetére
Kb. 2-3 hete kellett IIS7.5 alá PHP 4.4-et begyógyítanom. Fájt.
-
Peter Kiss
őstag
Valami ilyesmi kellene, akinek van egy kis ideje próbálgassa. Ha nem a várt eredményt adja, akkor írja meg nekem, a fizikai helyeket, mit kapott és mit kellett volna.
function map($path) {
$path = rtrim(trim(str_replace('\\', '/', $path)), '/');
if (substr($path, 0, 1) != '/' && substr($path, 0, 1) != '.') {
$path = dirname($_SERVER['SCRIPT_NAME']) . "/" . $path;
}
$tmp = \realpath($path);
if ($tmp == false) {
$append = "";
while ((\realpath($path)) === false) {
$p = strrpos($path, '/');
$append = substr($path, $p) . $append;
$path = substr($path, 0, $p);
}
if (empty($path)) {
$path = $_SERVER['DOCUMENT_ROOT'];
}
return str_replace('\\', '/', $path . $append);
}
return str_replace('\\', '/', $tmp);
} -
Peter Kiss
őstag
mappath("akarmi/valami/nemLetezik1/nemLetezik2")
Ekkor azt akarom, hogy "akarmi/valami"-ig mappelje, de utána csapja oda a kihagyott részeket. Ez például akkor kell, ha a parasztja készít egy DirectoryInfo osztályt magának, és az adott piszkálandó mappa nem feltétlenül létezik még.
-
Peter Kiss
őstag
.NET-ben van egy csodametódus: Server.MapPath(). Ez annyit tesz, hogy minden útvonalról képes megmondani az igazi, fizikai helyét a lemezen, tehát feloldja pl. a következőt: "..\..\akarmi\makákó.txt"
PHP-hez keresek ilyet, lehetőleg out-of-the box megoldást, nem akarok azon agyalni, vajon működik-e, illetve kellően új-e (nem lesz hirtelen deprecated része).
-
Peter Kiss
őstag
Mindkettő rossz. Az első azért, mert tömböt használsz olyan dologra, amire nem való. Gondolj csak bele: a tömb általában ugyanolyan típusú elemek sora, nem pedig össze-vissza mindennek.
A második azért rossz, mert egyszerűen szar.
Hogyan akarod így elválasztani a program egyes részeit? Hogyan fogod így átnyomni mondjuk a DAL-ból a BLC-n át a megjelenítésig?
A legkézenfekvőbb megoldás az, ha object-et fetch-elsz belőle, ez lehet akár stdClass típusú is, de ajánlott sajátot hegeszteni, és akkor menni fog a type hint is.
---
Az a cég meg valami garázscég lehet.
-
Peter Kiss
őstag
PHP-hoz nem kell könyv, ott a php.net. Debugger van PHP alá is.
Java webapp-ot még nem hegesztettem, arról nem tudok véleményt mondani. ASP.NET-est már igen, abban pl. a sima Web Forms részével ajánlott pl. intranetes oldalakat építeni, mert nagyon gyorsan és egyszerűen lehet vele biztos alapokon nyugvó alkalmazást készíteni a .NET teljes támogatásával. Rugalmasságban nyer mindenhol a PHP, de azt gondolom, hogy ASP.NET MVC-vel hasonló eredményeket lehet elérni úgy, hogy sokkal több eszköz áll a rendelkezésére a fejlesztőnek. Javasat is valahogy így tudom elképzelni, de alapvetően nem szeretem a Java-t.
-
Peter Kiss
őstag
http://php.net/manual/en/class.reflectionclass.php
---
$className = "Osztaly";
$o = new $className(array()); -
Peter Kiss
őstag
válasz
Speeedfire #8406 üzenetére
A kifejezés végére kell egy 'u' módosító.
/itt van a kifejezésed/u
-
Peter Kiss
őstag
válasz
Brown ügynök #8375 üzenetére
$all = array();
while ($result = $data->fetch_assoc() ) {
$all[] = $result;
}
$json = json_encode($all); -
Peter Kiss
őstag
válasz
Speeedfire #8349 üzenetére
Idézet:
(20:33:37) Laci: ad a gépnek egy második esélyt, ha esetleg benézné :d
@Siriusb, ha jól értelek az a gond, hogy nem szeretnéd azt, hogy error-ba szaladjon a dolog a felhasználónál.
Miután feldolgoztad a formot, irányítsd át a felhasználót (header). De szükség lehet arra, hogy a form kapjon egy egyedi azonosítót, ami alapján meg tudod mondani, hogy az adott formot fel kell-e dolgozni, avagy már nem kell vele foglalkozni, mert már járt nálad. -
Peter Kiss
őstag
-
Peter Kiss
őstag
Érdekes hiba: Adott egy metódus, ami 2 paramétert fogad, 2 INT-et elviekben. Ennek átadom a következő paramétereket: 100, 100
Maga a metódus ezt látja (simán azonnal kiíratva print_r-rel): 100, 0Vajon miért nem tudja fogadni a másik paramétert? Ma már volt egy hasonló esetem, de ott nem tűnt ennyire fel, de ott is pontosan ez volt: az átadott true helyett mindig false-t látott.
-
Peter Kiss
őstag
válasz
Sk8erPeter #8045 üzenetére
Ez az egy ilyen kuriózum van benne, ha jól emlékszem.
-
Peter Kiss
őstag
válasz
Sk8erPeter #8043 üzenetére
Saját ORM.
-
Peter Kiss
őstag
-
Peter Kiss
őstag
válasz
Sk8erPeter #7980 üzenetére
A PHP képes fogadni argumentumokat:
-
Peter Kiss
őstag
válasz
Sk8erPeter #7958 üzenetére
Reggel még nagyon korán volt, de szerintem megvan a "titok nyitja". Az említett indexek csak akkor létezhetnek, ha HTTP-n keresztül éred el a PHP-t, ha simán meghívod a gépen, akkor ezek nem léteznek, nem jönnek létre.
-
Peter Kiss
őstag
válasz
Sk8erPeter #7956 üzenetére
PHP oldalán van szó arról, hogyan és mit kell felrakni, beállítani ahhoz, hogy menjen IIS-sel, én azokon a lépéseken mennék át, mi maradhatott el.
Új hozzászólás Aktív témák
Hirdetés
- OnePlus 8 Pro - a túlgondolt
- Villanyszerelés
- Futás, futópályák
- Luck Dragon: Asszociációs játék. :)
- Acer notebook topic
- Okosóra és okoskiegészítő topik
- Milyen légkondit a lakásba?
- EA Sports WRC '23
- A fociról könnyedén, egy baráti társaságban
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- További aktív témák...
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook Laptop 14" -80% i7-10610U 16/512 FHD IPS MATT
- Eladó Lian Li O11D MINI-X gépház
- Lenovo ThinkPad P17 Tervező Vágó Laptop -50% 17,3" i7-10750H 32/512 QUADRO T1000 4GB
- FSP DAGGER PRO ATX3.0(PCIe5.0) 850W Sfx tápegység
- Eladó PNY GeForce RTX 4070 Ti SUPER 16GB OC XLR8
- AKCIÓ! Apple Macbook Air 13" 2020 M1 8GB 256GB SSD notebook garanciával hibátlan működéssel
- Billentyűzet magyarosítás magyarítás lézerrel is! 10-15ezer közötti áron! Óriási betűkészeletünk van
- Bomba ár! HP EliteBook 830 G7 - i5-10GEN I 16GB I 512GB SSD I HDMI I 13,3" FHD I Cam I W11 I Gari!
- Huawei P20 Lite 64GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! MSI B450 TomaHawk R5 5600X 32GB DDR4 512GB SSD RTX 3060 XC 12GB Rampage SHIVA 600W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest