- India felől közelít egy 7550 mAh-s Redmi
- Samsung Galaxy S23 Ultra - non plus ultra
- Vivo X200 Pro - a kétszázát!
- Xiaomi 14T Pro - teljes a család?
- Okosóra és okoskiegészítő topik
- Motorola Edge 30 Neo - wake up, Jr...
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy Fit 3 - keveset, de jól
- Huawei Mate X6 - keleti oldal, nyugati oldal
- Samsung Galaxy A56 - megbízható középszerűség
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #8763 üzenetére
Legutóbb én pont IIS-en + FastCGI PHP-vel próbáltam az APC-t, és hasonló eredménnyel - az oldalak állandóan crash-eltek.
(#8764) Speeedfire : ja, az open source-t mindenki láthatja, ez igaz. Ettől függetlenül saját kódba is bőven lehet tenni biztonsági réseket, és nincs "több szem többet lát"-alapon történő hibafelderítés, igaz, itt a bugokat valóban talán tovább tart felfedezni épp a rendszer ismeretlensége miatt.
-
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.
-
Speeedfire
félisten
válasz
Peter Kiss #8718 üzenetére
Így már okés, hát akkor vagy a yii doksi hibás vagy a pék tudja, mivel ott csak a $_POST['Item']-et vizsgálták meg, hogy van-e értéke.
Ja, hát valószínűleg kell majd a multiupload is.
De lehet, hogy jquery-vel fogom majd hívogatni, nem tudom. Vagy ahogy most mutattad, ezt még meg kell álmodnom.Ja és It's Work!
-
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!
-
Speeedfire
félisten
válasz
Peter Kiss #8716 üzenetére
Nem tudom, de a $_FILES-as is belép a ciklusba...hát az agyam eldobom.
A yii így mutatta a példát.
public function actionCreate()
{
$model=new Item;
if(isset($_POST['Item']))
{
$model->attributes=$_POST['Item'];
$model->image=CUploadedFile::getInstance($model,'image');
if($model->save())
{
$model->image->saveAs('path/to/localFile');
// redirect to success page
}
}
$this->render('create', array('model'=>$model));
}Ezt dobja a $_FILES tömbre a var_dump és a print_r.
-
Speeedfire
félisten
válasz
Peter Kiss #8712 üzenetére
A $_FILES[] valóban null ad vissza, de a $_POST['Item']-ben benne van a fájl neve. Akkor viszont itt veszik el az adat, az már biztos.
Közben meg is lett a megoldás...hát ha nem figyelmeztetsz a $_FILES-ra, akkor nem is jut eszembe. Ugye én megadtam, neki hogy
'enctype'=>'multipart/form-data')
csak nem jó helyen, most már rendesen működik. Nagyon köszönöm.
Szerk.: Amúgy te is yii-t használsz?
-
Speeedfire
félisten
válasz
Peter Kiss #8710 üzenetére
Hát ezek nekem készen vannak már, a yii ezeket készen adja.
Nem is ezzel van a gond, hanem a controllerben amikor fel akarom dolgozni az adatokat, akkor nem tettszik neki valami.Mutatom, ez van a post controllerben. A create action-nél ez van meghívva.
protected function newItem() {
$item = new Item;
$item->attributes=$_POST['Item'];
$item->media=CUploadedFile::getInstance($item,'media');
var_dump($item->media);
exit;
$item->name=$item->media->name;
$item->size=$item->media->size;
if($item->save())
{
$item->media->saveAs('assets/media/'.$item->media->name);
// redirect to success page
}
$post->addItem($item->media);
return $item;
}A view-ben pedig ez van:
<div class="row">
<?php $item = new Item; ?>
<?php echo CHtml::form('','post',array('enctype'=>'multipart/form-data')); ?>
<?php echo CHtml::activeFileField($item, 'media'); ?>
</div>Szépen meg is hívja, a fájl meg is van, ellenben amikor az $item->name=$item->media->name; sornál már nem tettszik neki valami.
Trying to get property of non-object
Ami fura, mert pont előtte mondtam meg neki, hogy márpedig objektum. Illetve már az $item->media értéke is null...itt valami infomáció elveszik az éterben. -
Speeedfire
félisten
válasz
Peter Kiss #8706 üzenetére
Sajnos nem ennyire egyszerű a helyzet.
Vagy csak nekem nem akar összejönni... -
j0k3r!
őstag
válasz
Peter Kiss #8702 üzenetére
bevillan egy konzol ablak, aztan rogton eltunik. (elobb atmentem win7 ala, felraktam, aztan ott mukodik rendesen, de azert xp alatt is szeretnem mukodesre birni (2 kulonbozo xampp-rol van szo, 2 kulonbozo particion))
mod: netstat
-
DerStauner
senior tag
válasz
Peter Kiss #8563 üzenetére
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
itt kellene átírni a charset-et?
most már jó.
átírtam az utf-et erre: iso-8859-2
-
Tele von Zsinór
őstag
válasz
Peter Kiss #8556 üzenetére
Tegnapra volt tervezve a végleges, de komoly hibát találtak benne, ezért jött mégegy RC. Ugyanezt már eljátszották február másodikán is
Linux alatt játszottam már vele, még nem futottam komoly problémába.Szerk. 5.4-et olvastam
4.4, atyaég, ennyire régi kódot használnak még, hogy az kell neki?
-
j0k3r!
őstag
válasz
Peter Kiss #8546 üzenetére
egyelore egy hatalmas ganyolassal
(de elvileg be kellene huznia)
$src = array('Application', 'Application/Config', 'Application/Core', 'Application/Core/Libs', 'Application/Core/Mvc',
'Application/Core/Validator', 'Application/Core/Validator/Validators/InputValidators', 'Application/Core/Validator/Validators/FileValidators');
foreach ($src as $value) {
$dir = opendir($value);
while (($file = readdir($dir)) !== false) {
if (strtolower(substr($file, -4)) == '.php')
require_once $value . '/' . $file;
}
}
closedir($dir); -
Lacces
őstag
válasz
Peter Kiss #8531 üzenetére
Jahm sikeresen átugrottam... A stressz hatása. Ma volt a céges felvételi.
Én is így olvastam, hogy nem érdemes használni. De a cégnél a felvételis progiban rendesen tele volt ezzel a függvénnyel a kód. Na jó csak 3 esetben. -
j0k3r!
őstag
válasz
Peter Kiss #8526 üzenetére
"ez kicsit furcsán hangzik, tudom" - dehogyis
-
j0k3r!
őstag
válasz
Peter Kiss #8524 üzenetére
-
Lacces
őstag
válasz
Peter Kiss #8514 üzenetére
Ez csúcs
ADO.NET-eztem múltkor is ott is ilyen volt a Three-Layer-eknél. Az elve szinte ugyanaz, és a megvalósítása is. TetszikKösz
-
Lacces
őstag
válasz
Peter Kiss #8512 üzenetére
Biztos, hogy BLC (olyan hülyeségeket ad ki)? Design Patternekre gondolsz? Mert akkor gondolom a BRL tervezési mintára gondolhatsz, ami a DAL-al együtt egy three-layer-t lehet felépíteni
-
Lacces
őstag
válasz
Peter Kiss #8509 üzenetére
Erre linket tudnál küldeni? DAL, BLC, stdClass, mind ismeretlen fogalom
Amúgy garázscég, de most önéletrajzban jól mutat, meg a tapasztalat lesz, még akkor is ha rossz.
tob!as Kösz a választ!
A mátrixos feladat pontosan mit takart? egy nxn-esben ha nagyobb egyenlő mint egy 3x3-as akkor bárhol találhat benne. Kivéve ha gondolom szűrni kell a mátrix elemekre. -
Lacces
őstag
válasz
Peter Kiss #8491 üzenetére
Köszi, Lehet majd NetBeanssel folytatom tovább, Eclipse alatt nem az igazi sajnos... De jobban szeretem használni.
Amit még nagyon nehezen tudok szokni, az a highlight (szavak kiemelése)
Ha színesebb lenne a kód, átláthatóbb.
A legnehezebb számomra a $változó, hogy mindenhol ott a $-jel, meg nehezebben is olvasom. Szoknia kell a szememnek.
NetBeans-hez van valami plusz, amivel jobban olvashatóbb lesz a kód?Nem akarok flame-t, de ha már hoztad az ASP.NET MVC-t akkor kérdeznék.
Ha magamnak akarok fejleszteni majd fejleszteni weblapot. Akkor ASP.NET vagy PHP?
Vagy amelyik tetszik alapon? -
Lacces
őstag
válasz
Peter Kiss #8488 üzenetére
Jó, nem ér a PHP-t szidni
Utána mentem a problémának. Debugger hiánya látszik nagyon. Ha elkezdek osztályozni akkor nagyon nehezen tudok debugolni
. Hibakereséshez más módszert fejlesztettem ki PHP-ban, és úgy megy. Itt befigyel a VB, C# -os más gondolkodásom
A hibakereséssel megy el az időm.Abban igazad van, hogy mindent egyből akarok. De hát nah
. Legalább akarom
Könyveket nézve, sem mennek bele kellően a dolgoknak.
De ahogy csinálom magamnak a weblapot, így bővítgetem mindig, új funkciókat viszek be. Éppen, ami eszembe jut.
De lehet leülök és papírom megtervezem
-
Lacces
őstag
válasz
Peter Kiss #8483 üzenetére
Ezt minden oldalam Head részébe be kell szúrnom?
Nagyon durva működik
<base href="localhost/PHP/" />
Ilyen esetben /PHP/ -s rész nem is érdekli -
j0k3r!
őstag
válasz
Peter Kiss #8440 üzenetére
hogy en erre nem gondoltam, mukodik, koszonom szepen
mostmar mashol van hiba -
Speeedfire
félisten
válasz
Peter Kiss #8415 üzenetére
Nekem ez sehogysem akar menni.
-
Brown ügynök
senior tag
válasz
Peter Kiss #8376 üzenetére
Valóban, így egyszerűbb és próbálkoztam is ilyesmivel de mivel másik tömbbel kellett egyesíteni és json_encodolni ami nem működött. Viszont most rájöttem, hogy így is megoldható az encodolás. Már csak az a kérdés, hogy egyszerűbb a json kulcsokra hivatkozni.
-
Siriusb
veterán
válasz
Peter Kiss #8362 üzenetére
De ha másnap múlva visszajön, miként akadályozom meg, hogy kitöltse újból a kérdőívet?
-
Siriusb
veterán
válasz
Peter Kiss #8359 üzenetére
De mi alapján adsz egyedi azonosítót a formnak?
-
Siriusb
veterán
válasz
Peter Kiss #8357 üzenetére
Hmmm, valóban. Akkor cookie?
-
coco2
őstag
válasz
Peter Kiss #8105 üzenetére
Ez valami nagyon vad dolognak tűnik nekem, de azért csak rákérdezek.
Ezek a cookie-k webserver címek alapján vannak file-okba rendezve kliens oldalon? Amikor http requestet elküldök, a webböngészőm mindig végig kotorja, vannak-e arra a címre letárolva cookie-k a helyi winyómon, és ha talál, minden egyes http request mellé kinyomja upstreamben az összes cookie-t válogatás nélkül?
-
raczger
őstag
válasz
Peter Kiss #8091 üzenetére
Szerintem csak valami elírás lesz (a legidegesítőbb hiba
. Ha megmutatod a metódust és a használatára írsz példát, ami neked működött helyesen. Több szem többet lát.
-
Lacces
őstag
válasz
Peter Kiss #8069 üzenetére
PhpStorm, jól hangzik, főleg a JetBrains név, sok jót olvastam róla. 30 napig ingyenes
Ha lesz állásom, lehet megveszem
-
válasz
Peter Kiss #8069 üzenetére
+1 PhpStorm. Alapból a JetBrains -es cuccok marha jók.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #8044 üzenetére
Hát ez kellemetlen.
Ettől függetlenül nem értem, minek egy sorba nyomorítani az egészet. De félre ne értsd, nem fikázni akarom a kódolási szokásaidat.Ízlések és pofonok, csak nekem a hajam kettéáll a bogozandó kódoktól.
(főleg, hogy feleslegesnek tartom a túlzott rövidítéseket)
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #8042 üzenetére
Ez minek a kódjából származik? Gondolom valami nagyobb keretrendszerszerűség. Persze ezt is szét lehetne bontani, hogy ne kelljen bogozgatni későbbi kódmódosításkor, de biztos az rengeteget gyorsít a kódon, ha egy sorba tömörítünk mindent.
-
Lacces
őstag
válasz
Peter Kiss #8037 üzenetére
Aham, nagyjából értem, ez valahogy úgy akar működni, mint a C/C++-ban vagy C#/Java, kiíratásnál egyfajta argumentum, paramétert írok bele a kiíró függvényben.
A másik kérdésem, egyébként pont később lett volna, de akkor most felteszem, más esetleg, nagyon gyerekes leírást, magyarázatot tudsz adni a Variables Variable-re?
Nagyon nehezen tudom néha felfogni
Az első linken lévő, az okés, mert egyszerű példa. De már itt, belegabalyodók:
echo "This is the value of the var named by the return value of \$object->getName(): {${$object->getName()}}";Vagyis ekkor az $object->getName() függvény által visszad egy értéket, pl. alma
és akkor {${alma}} lesz a háttérben, és megkeres egy $alma nevű változót, és annak a tartalmát írja ki?Nekem ez nagyon új ez a felfogás.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #7966 üzenetére
Ó, ez egy jó magyarázat lehet, még nem tudom, miért nem jutott eszembe, köszi!
Ebben az esetben nincs kerülő megoldás? Pl. a DOCUMENT_ROOT környezeti változót elég nehezen tudnám globálisan beállítani, mivel több site is fut a szerveren, elméletben többhöz is kellene cront használni. Ugyanez igaz a többi környezeti változóra is.
Nem láttam még példát rá, hogy szokták ezt megoldani. Valahogy biztosan, mert nem én vagyok az egyetlen, aki ilyen módon szeretne "cron"-t futtatni.
Ötlet? -
Lacces
őstag
válasz
Peter Kiss #7973 üzenetére
Aham, Így kell, okés, köszi!
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #7957 üzenetére
Meg IIS oldalán is vannak esetleges szükséges lépések, de ha Web Platform Installeren keresztül rakod fel, elvileg csomó mindent beállít magától is. Ettől függetlenül szerintem végigmentem a lépéseken, de konkrétan arra vonatkozó részre nem emlékszem, ami kifejezetten az általam említett változókkal kapcsolatos problémák forrása lehetne. De mint mondtam, csak akkor tapasztalom a problémát (a $_SERVER tömbben lévő egyes indexek elérhetetlenségét), amikor ütemezőn keresztül futtatom a php-cgi.exe-t. Valami simán kimaradhatott, de továbbra sem tudom, mi, pont ez a baj - így ezzel a tanáccsal sajnos nem lettem előrébb...
Esetleg valami konkrétabb?
-
Tele von Zsinór
őstag
válasz
Peter Kiss #7926 üzenetére
Ami így kapásból eszembejut, az az új array syntax, a függvény visszatérési értékének kapásból tömbindexelése, vagy a lambda function-ök objecthez bindelése, osztály tagok példányosítás utáni azonnali elérése, beépített webszerver.
Nem feltétlen egy-egy cikkre gondoltam, hisz a többség apróság, pár példával elmagyarázható.
-
Tele von Zsinór
őstag
válasz
Peter Kiss #7922 üzenetére
Korrekt leírás az 5.4 egyik legfontosabb újdonságáról, szép munka. A többiről is várható ilyen?
-
zalyy
tag
válasz
Peter Kiss #7905 üzenetére
És ezt a CARACHTER SET-et hol találom?
-
zalyy
tag
válasz
Peter Kiss #7903 üzenetére
Nem nincs megoldva és nem szartam le, amielőtt a weblapot költöztettem volna annál a hostnál rendesen működött minden, csak most itt költözéskor lett ez a "?" dolog
-
zalyy
tag
válasz
Peter Kiss #7900 üzenetére
utf8_hungarian_ci minden tábla ezen van
-
wolandino
tag
válasz
Peter Kiss #7863 üzenetére
szerintem pár száz sor nem olyan nagy táblázat, ami egyébként a legtöbb esetben 200 sincs.
ekkor az összes dátumhoz lejött az eredmény. Ha a dátumokra megírom az ajaxot, akkor ez a sormennyiség akár a 20-adára is lecsökken. Szóval ezek után jön a kérdés, hogy érdemes-e ajaxolni? Mert nem tudom jó-e az, ha folyamatosan mini lekérdezésekkel terhelik a szervert a felhasználók. Gondolom egy minimális időegység van, ami alatt nem képes a szerver egy feladatot végrehajtani, ezért lehet, hogy azt nem érdemes tovább bontani( mert ha megvan az, hogy x sort minimális idő alatt hoz le, akkor x/10 sort egymás után 10-szer ,ár 10-szer annyi idő alatt hoz le, ami ugye rosszabb) Szóval nem tudom meddig érdemes tovább bontani az adatmennyiséget ajaxolás szempontjából.
Remélem érthető volt a kérdésem és értelme is volt -
Peter Kiss
őstag
válasz
Peter Kiss #7819 üzenetére
Ez meg kb. a lehetetlen. Multi query-t nem támogatják a prepared statement-ek, szóval ez elég bukta. Vagy nem használok prepared statement-et, vagy nem kérek le multiple result-ot. Biztonsági okokból a másodikra szavazok. E' van.
-
daninet
veterán
válasz
Peter Kiss #7739 üzenetére
azért mondom h nem értek hozzá, már az elején kilövöm a felelősséget
kösz a választ
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #7686 üzenetére
"Másik, hogy nem a tárhelyen kellene fejleszteni."
Semmi baj nincs a tárhelyen való fejlesztéssel, ha még nem élesben fut a projekt.Annyiból legalábbis jó, hogy akkor tuti, hogy a tesztkörnyezet megegyezik az éles környezettel.
Persze tény, jobb localhoston próbálgatni, de akkor meg az a szopás, hogy ha nem vagy saját gépnél, nem tudsz bárhonnan dolgozni. Vagy külön tárhelyet tartasz fenn a fejlesztési céloknak.
Én most épp utóbbit választottam egy projektnél, így bárhonnan tudok dolgozni, és van egy jól működő szerver mögötte. Ez úgysem megy ki élesbe.
Windows-on WinSCP-t használok, Ubuntu alatt meg becsatolom a távoli könyvtárat Nautilus-ba, így a fájlokon történő módosítások mentése egyből szinkronizálódik a szerverre is. Ez így nagyon kényelmes.
Persze ha nagyon kell, akkor localhoston nyomatom.===
(#7682) D@ni88 :
Athlon64+ kérdése teljesen jogos volt, ha már OOP, annál is kellene maradni.
- Akkor már [link]
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
- ugyanezen a linken van egy példaosztály is a leszármaztatásra:
class foo_mysqli extends mysqli {
public function __construct($host, $user, $pass, $db) {
parent::__construct($host, $user, $pass, $db);
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
}
}
$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');
echo 'Success... ' . $db->host_info . "\n";
$db->close();- tulajdonképpen feleslegesen nevezed el select()-nek a metódust, ugyanoda nyugodtan be lehetne adni akár UPDATE, INSERT utasításokat is... Ha már wrapper vagy ORM-hez hasonló osztályt szeretnél írni, akkor írd is meg úgy, vagy ne erőltesd: a mysqli egy osztály, tehát nyugodtan felhasználhatnád annak az objektumorientáltságát.
- ezentúl én azt javasolnám, hogy használd inkább a PDO-t: [link], [link]
Egyrészt tök logikus a használata, másrészt OOP-s, harmadrészt ezzel sokkal rugalmasabb a kódod, ugyanis akár későbbiekben is átállhatsz más adatbázisra, hasonló szintaktikával (rosszabb esetben csak a query-ket kell átírni a másik adatbázisnak megfelelően, de legalább magát a lekérdezés módját nem - míg ebben az esetben az összes mysqli_*-vel kezdődőt le kell cserélni).- hibajelzés:
ini_set('error_reporting', E_ALL|E_STRICT); -
D@ni88
addikt
válasz
Peter Kiss #7683 üzenetére
hibajelzést a tárhely szolgáltatója kapcsolta ki, manuálisan pedig nincs lehetőség bekapcsolni
-
wolandino
tag
válasz
Peter Kiss #7666 üzenetére
annyira már én is rájöttem, hogy mysql oldalon (is) van hiba.
indexek rendben vannak. memóriát alig használ, a procihasználat megugrik, de a memóriahasználat végig 25 mb marad, egy nálam tapasztaltabb arc azt mondta, hogy az indexelés rendben van-egyébként szerintem is-a lekérdezés is, és ő sem értette mi tart 6mp-ig.a lekérdezést úgy tudom a mysql optimalizálja.de ha van konkrét ötleted örülnék neki -
Speeedfire
félisten
válasz
Peter Kiss #7657 üzenetére
-
Speeedfire
félisten
válasz
Peter Kiss #7655 üzenetére
Valóban ez a hiba oka. Hogy lehet visszaállítani 0-ra?
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #7508 üzenetére
De a 404-es állapotkódot nem véletlenül küldi vissza a szerver a kliensnek.
Pont ezzel jelzi a szerver, hogy a kért tartalom valamilyen okból nem található.
Nem is igazán látom be, mi értelme van erőszakosan megváltoztatni a 404-es állapotkódot 200 OK-ra...
Egy példa: http://drupal.org/asdasdasd
Ez a tartalom nyilván nem létezik, ki is írja a válaszban, hogy "Page not found", ÉS ezzel együtt 404-es HTTP-kódot küld vissza. Így is van ez rendjén!! -
Sk8erPeter
nagyúr
válasz
Peter Kiss #7400 üzenetére
Általában a document root-on kívülre érdemes.
Legalábbis pl. a Drupal Übercart-modul esetén azt ajánlják, hogy a hitelkártya-titkosításhoz szükséges hely legyen document rooton kívül.
Már ha hozzáférsz... Ha sima FTP-kapcsolaton keresztül nem férsz hozzá, akkor megpróbálhatod PHP-ből létrehozni a szükséges könyvtárat.
Pl. ha a Te oldalad document rootja itt van:
oldalad/www (vagy oldalad/public_html, vagy oldalad/htdocs, stb.)
akkor a kulcsok legyenek pl. itt:
oldalad/keys
és legyen megfelelően korlátozva a hozzáférés. -
Speeedfire
félisten
válasz
Peter Kiss #7386 üzenetére
Elsősorban a átláthatóság, strukturáltság miatt másodsorban pedig SEO szempontok miatt.
-
j0k3r!
őstag
válasz
Peter Kiss #7379 üzenetére
inkabb a tegnap este elfogyasztott alkohol mennyiseg lehet a ludas
( de ez mar nagyon off )
-
j0k3r!
őstag
válasz
Peter Kiss #7377 üzenetére
teljesen igazad van
( igy is szoktam hasznalni, nemis tudom miert a masikat irtam
)
-
Speeedfire
félisten
válasz
Peter Kiss #7222 üzenetére
Köszi, ez életmentő volt.
Kicsit hiányosnak találom ezt a rész a hivatalos oldalról.. -
rt06
veterán
válasz
Peter Kiss #7192 üzenetére
esetlegesen (attol fuggoen, mire is kell) elegendo lehet egy mezei static class is
-
Speeedfire
félisten
válasz
Peter Kiss #7116 üzenetére
Javítva!
-
Speeedfire
félisten
válasz
Peter Kiss #7114 üzenetére
Azt nem akartam, gondoltam úgy is csak 3-4 karakter között fog mozogni. Csak nem lesz 60 karakteres kiterjesztés.
Köszi a segítséget! -
Speeedfire
félisten
válasz
Peter Kiss #7112 üzenetére
De így mindenféleképp végigfut akár hosszabb akár nem. Vagy én értelmezem ezt félre?
Maga a kód jobban néz ki ez egyértelmű.Így talán gyorsabb.
function levag($source, $maxLength = 20) {
$filenameLength = mb_strlen($source);
if ($filenameLength <= $maxLength) {
$filename = $source;
return $filename;
}
else {
$ext = "";
if (($extPos = mb_strrpos($source, '.')) !== false) {
$ext = mb_substr($source, $extPos);
$filename = mb_substr($source, 0, $extPos);
} else {
$filename = $source;
}
}
return mb_substr($filename, 0, $maxLength) . "..." . $ext;
} -
Speeedfire
félisten
válasz
Peter Kiss #7103 üzenetére
Rendben főnök!
-
Speeedfire
félisten
válasz
Peter Kiss #7094 üzenetére
print_r()-el megnéztem, de ott is resource-ot írt ki. Ezért nem is értettem mi volt a gond. Most a másik változóval tökéletes.
-
Speeedfire
félisten
válasz
Peter Kiss #7092 üzenetére
lol
De emiatt, miért panaszkodott?
php 5.3.0 van fent
Coyot: Nem. -
Speeedfire
félisten
válasz
Peter Kiss #7082 üzenetére
Hmm. Te a buffertáblát, hogy csináltad? Session? Javascript? Cookie?
-
Speeedfire
félisten
válasz
Peter Kiss #7080 üzenetére
Itt nem lesz semmi csoport. Egy nagy lesz, ahova mindenki feliratkozhat majd.
A levelet szerintem majd valami sessionbe elmentem, lekérem az embereket. Aztán ahogy írtad ajaxos megoldással 50-esével elküldöm majd a levelet.
-
Speeedfire
félisten
válasz
Peter Kiss #7077 üzenetére
Azt hiszem ez az ajaxos megoldás lesz a megfelelő. Bár ezt a buffertáblát nem nagyon értem. Illetve a hírlevél id-t sem.
Nem akarom én elmenteni a hírleveleket. Kap egy alap html sémát, amibe csak a tartalom lesz változtatva. -
Peter Kiss
őstag
válasz
Peter Kiss #7059 üzenetére
public function index() {
if ($this->_httpContext->IsAsyncCallback()) {
ScriptManager::StartupScript("window.alert('bu')");
ScriptManager::StyleBlock("a{font-size:70px;}");
ScriptManager::StyleInclude("/mymvc/css/teszt.css");
return $this->PartialView('teszt_user_control.html');
}
ScriptManager::StyleInclude("/css/ultrabrutal.css");
return $this->View('index');
}Tehát akár így is, ez a kód egy Controller-ből való (fent már szerepelt egyszer). Ha AJAX-szal belehívok, akkor a PartialView mellett leküld még egy pár apróságot. Amin megjött a válasz kliensoldalra, azonnal lefut a window.alert(), bezárása után pedig alkalmazódnak a stílusok (a teszt.css-ben lévők is persze, végrehajtási sorrend böngészőnként eltérő).
---
Találkoztam egy lényeges dologgal is tegnap este: az ob_ függvények nem multibyte safe-ek! Nekem konkrétan a ob_get_length()-tel kellett megküzdenem.
-
Peter Kiss
őstag
válasz
Peter Kiss #7028 üzenetére
Ezzel a technikával meg tudom csinálni azt, hogy PHP kódból tudjak külön regisztráltatni kliensoldali kódot:
</head> előtt:
CSS fájlt
CSS blockot
</body> előtt:
JavaScript állományt
JavaScript kódot, ami azonnal lefut
Egyéb JavaScript kódotA View Render metódusába kell az előzőekben látható Content-ContentEnd kódot rakni, és kész is.
-
válasz
Peter Kiss #7029 üzenetére
thank you, tetszik :-)
-
cucka
addikt
válasz
Peter Kiss #7025 üzenetére
Nem igazán értem, hogy mi nem világos..
Van egy kontroller action-öd, ami az egész oldalt jeleníti meg és van egy másik action-öd, amit ajax backend-ként használsz.
A közös alkalmazáslogikát kipakolhatod egy külön függvénybe az adott controller-en belül, így nem kell megírni kétszer semmit. A view réteget szintén fel tudod úgy darabolni, hogy a közös részeket mindkét action használja. Melyik része nem világos? -
válasz
Peter Kiss #7025 üzenetére
Jó ötletnek tűnik. :-) Próba után kérek beszámolót! :-)
-
tkazmer
addikt
válasz
Peter Kiss #7014 üzenetére
XAMPP-pal out-of-the-box menni kellene
ugyanez igaz a wamp-ra is, ráadásul abban benne van a phpmyadmin is alapból, nem kell külön feltenni semmit sem.
mod: most nézem, a xampp is; akkor nem szóltamkedves kérdező, szerintem legegyszerűbb ha mindent legyalulsz (php, mysql, apache, phpmyadmin, stb.), és újrakezdve az egészet egy ilyen összekonfigurált rendszert pakolsz fel.
-
cucka
addikt
válasz
Peter Kiss #6985 üzenetére
Utána néztem az 'inherit' módú View-gyártásnak, ez sokkal jobban tetszik, mert könnyebben és szebben valósítható meg
Ebben nem értek egyet veledjelentik az alját, ezeket még nem használtam, van-e valami hasznos megjegyzés hozzájuk?
Amit a php manuálban ír, az elég./felhasznalok/felhasznalo/bombadil_toma/edit
Ilyen url-ek helyett a hasonló struktúrát javaslom:
/felhasznalok/felhasznalo/edit/123
..ahol a 123 a felhasználó id-ja. Ennek oka, hogy framework szinten elég nagy szívás biztosítani, hogy a felhasználó neve az url-ben egyedi legyen, az azonosító viszont mindig az.M "mappa" nem lenne lényeges az area-ba, hiszen a Model az egész rendszerben megtalálható, de esetleg lehet valamilyen örökléses csavart betenni, ha arra van szükség.
Sem M, sem V mappára nincs igazán szükség. C és V mappákban lehet minden area-nak külön mappája, azon belül pedig a kontroller osztályok és template-ek. Szerintem így a legegyszerűbb.Autoload-ra tudsz mutatni valami hardcore-abb példát?
Perpill nincsenek nálam a fileok. Olyat tudok, amiben két mappában keres (framework szint és application szint) és cache-eli az eredményeket. Nem tudom, ez elég hardcore-e?Nálam a Controller azért kapja meg az action nevét a konstruktorban, mert már ekkor létrejön egy View objektum, aminek tudnia kell, mit renderel. Ez azért szükséges megint, hogy minél több mindent tudjon megvalósítani magától a rendszer (action végén csak return $this->_view van).
A view objektumot elég akkor példányosítani, amikor használod. Itt egy folyamatábra, hogy kb. mi történik:1. alkalmazás inicializálás, konfiguráció
2. a routing kitalálja az url-ből, hogy milyen kontrollert kell meghívni
3. a routing meghívja a kontroller ősosztály runAction függvényét
4. a runAction meghívja a kontroller megfelelő action függvényét a megfelelő paraméterekkel
5. az action megcsinálja a dolgát, majd meghívja a kontroller ős render függvényét
6. a kontroller ős render függvénye létrehozza a view objektumot, megfelelő paraméterekkel
7. a kontroller ős meghívja a view objektum render függvényét
8. a render függvény eredménye kikerül az stdout-ra, megjelenik a weboldal, öröm, boldogság -
cucka
addikt
válasz
Peter Kiss #6983 üzenetére
Hogyan oldjam meg, hogy a top level HTML elemeket tartalmazó View darabok, és esetleg pl. a menüt tartalmazó részeket berántsa magának?
Feltételezem, hogy olyan template nyelvet használsz, ami include-al működik (kívülről befele), nem pedig inherit-el (belülről kifele). Na ez esetben úgy oldod meg, hogy van egy alap template-ed, mondjuk legyen page, ami valahogy hasonlóan néz ki php-t használva template nyelvnek:
<html><head>/ .. /</head>
<body>
<div id="menu"><?php include 'menu.tpl'; ?></div>
<div id="content"><?php include $context['page_body']; ?></div>
/ ... /
</body></html>
Ez az oldal váza, amiből lehet többféle is, a lényeg, hogy a template elkészítése kívülről befele történik. Ezt a vázat fogja a view megjeleníteni. Azt, hogy a kontent részbe mit pakolunk, az attól függ, hogy a controller mit állított be a $context['page_body'] változóban. A kontrollered ez esetben valahogy így fog kinézni:
function view(/../){
/../
$context['page_body']='edit_form.tpl';
return render_template('page_base_template.tpl', $context);
}
Az action beállítja a page_body értékét (vagyis hogy melyik file-t kell behúzni a tartalmi részbe), majd lerendereli az alap template-et a megfelelő paraméterekkel. A $context változó szerepe, hogy ebben tároljuk azokat a paramétereket/változóértékeket, amelyeket a template-ek felhasználnak a html legyártásához.
Természetesen ez csak egy rövid példa, remélhetőleg átjön a lényeg.
Arra kellene valami jó megoldás, hogy miként töltse be az adott részeket a cucc.
Normális autoload-ot kell írni. Az számomra rejtély, hogy az Areas mappád mit jelent és miért van benne külön M,V,C mappa, amikor ezek a gyökérben is ott vannak. Saját MVC framework-öt fejlesztesz, vagy kész megoldást szeretnél használni?
most az aktuális Controller megkapja a konstruktorában a végrehajtandó action-t (de nem a konstruktor hívja meg!).
Nem szükséges megkapnia. Egy controller általában nem más, mint action-ök halmaza, minden action egy-egy függvény a controller osztályon belül. Az, hogy melyiket kell meghívni, az a routing során dől el, ami tulajdonképpen az a rész, ahova bemegy az url és kijön a controller/action/paraméterek hármas. A framework feladata, hogy ezt megcsinálja, majd az előbb említett hármas alapján meghívja a megfelelő kontroller megfelelő action-jét a megfelelő paraméterekkel. (Illetve az is a feladata, hogy észrevegye, ha nemlétező controllert vagy actiont szeretnél meghívni, vagy esetleg a paraméterek nem megfelelőek - az elsőt az autoload/osztálykereső fogja kiszűrni, a másodikat a controller ősosztályban ügyesen megírt __call() függvény, a nem megfelelő paramétereket pedig maga az action) -
cucka
addikt
válasz
Peter Kiss #6981 üzenetére
MVC modellben a menüt és minden más, oldalon megjelenő információt a C szedi össze, majd átadja a V-nek, ami a kapott adatstruktúrák és a sablonok alapján legyártja a html kódot.
Kicsit túl általános a kérdésed, de valahogy így zajlik a dolog:
- C tudja, hogy milyen oldalt nézünk és hogy ehhez az oldalhoz melyik view-t kell majd meghívni, továbbá azt is tudja, hogy ennek a view-nak milyen bemeneti adatokra van szüksége
- C összeszedi a szükséges bemeneti adatokat és átalakítja olyan formába, amit a V meg tud jeleniteni - például menünél átatja egy tömbben a menüpontok listáját és azt, hogy éppen melyik van kiválasztva.
- V kiírja a HTML-t a C által küldött adatok alapján. -
Tele von Zsinór
őstag
válasz
Peter Kiss #5409 üzenetére
Aki belépést get-tel old meg, az meg is érdemli. Arról nem is beszélve, hogy egy login folyamat megváltoztatja az alkalmazás állapotát, így post-ot kell használni szabvány szerint.
Új hozzászólás Aktív témák
Hirdetés
- PlayStation 5
- Épített vízhűtés (nem kompakt) topic
- Milyen belső merevlemezt vegyek?
- Subaru topik
- India felől közelít egy 7550 mAh-s Redmi
- Samsung Galaxy S23 Ultra - non plus ultra
- Milyen házat vegyek?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- World of Tanks - MMO
- Vicces képek
- További aktív témák...
- Bomba ár! Dell Latitude 7320 - i5-11GEN I 8GB I 512SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- AKCIÓ! ASUS MAXIMUS VIII HERO Z170 chipset alaplap garanciával hibátlan működéssel
- BESZÁMÍTÁS! Gigabyte A620M R5 7500F 32GB DDR5 512GB SSD RX 6700 XT 12GB ZALMAN S3 TG CM 700W
- ÁRCSÖKKENTÉS Lenovo ThinkPad T570, T580, P51s, P52s eredeti Lenovo, belső akkumulátor eladó
- BESZÁMÍTÁS! 860W Fractal Design ION + 2 Platinum tápegység garanciával hibátlan működéssel
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest