- Huawei Watch Fit 3 - zöldalma
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Garmin Forerunner 970 - fogd a pénzt, és fuss!
- QWERTY billentyűzet és másodlagos kijelző is lesz a Titan 2-ben
- Nem fogy a Galaxy S25 Edge?
- Megjelent a Poco F7, eurós ára is van már
- Samsung Galaxy S23 Ultra - non plus ultra
- India felől közelít egy 7550 mAh-s Redmi
- Bemutatkozott a Fairphone 6
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Legalább egy téves nyelvtani kijavítás után eljutottál oda, hogy megnyugtattál, hogy mégis csak tudok magyarul, csak te kavartad magad bele, de azért gyorsan hozzáfűzted, hogy hülyeségeket hordtam össze-vissza.De sebaj, ilyen ez a popszakma, néha meg kell telnie a fórumoknak felesleges vitákkal. Legalább egy kicsit mind a ketten izmozhattunk, milyen ügyesen tudjuk tekergetni a szavakat.
-
Sk8erPeter
nagyúr
"én meg csak azt akartam mondani, hogy az hamis állítás, hogy "itt senki nem beszélt ORM-készítési szándékról"."
Nem hamis állítás, mert a "szándék" az egy jövőbeli cselekedetre utal, tehát arra, hogy vélhetően itt épp készül valaki ORM-et írni.""én már készítettem ORM-et" nagyvonalúan az állítmányból, a tárgyból és az alanyból tekintve ORM készítési szándékra utal."
Ha már belementél: nem, ez nem szándékra utal, hanem múltbeli, megtörtént cselekedetre.A "szándék" ugyanis nagyjából egy törekvés valamilyen későbbi cselekedetre.
Mindezt most csak azért mondtam el, mert erősen belekötöttél a saját mondatom jelentésébe is, de én sem akarom folytatni a mondattani elemzéseket.Abban igazad van, hogy lezso6 eredeti hozzászólásának szándékát vélhetően félreértettem, azt gondoltam, konkrétan a mi diskurzusunkat tünteti fel nevetséges színben - pedig igazából valószínűleg csak arra utalt, hogy milyen vicces belegondolni, hogy amikor az ember még a tanulási folyamat elején vagy közepén van, akkor még olyan nagyvonalú tervei vannak, hogy ORM-et készít, frameworköt épít, és így tovább... Aztán ráébred, hogy szórakozzon vele a hóhér. Használ egy népszerű, sokak által felügyelt kódbázist.
Ez a vita nem indult volna el, ha lezso6 egyértelműbben fogalmaz. -
Sk8erPeter
nagyúr
Nyugodtan nagyképűsködhetsz, legfeljebb majd jól nem veszünk emberszámba.
(nehogy magadra vedd
)
Amúgy úgy tűnik, eléggé nem figyeltél az elejére, a tiéd előtt csak a Kohanából voltak itt kódrészek (meg persze az eredeti témakör kapcsán egy rövid kódrészlet), mert megvalósítási módszerek előnyeiről/hátrányairól diskuráltunk.
-
Sk8erPeter
nagyúr
Pedig jó volt az a komment oda.
(#20) modder : szerintem meg neked nincs igazad.
"nem jövőbeli szándékra utalt"
Akkor olvasd el ezt még egyszer: "Ez annyira szép, hogy mindenki ORM-et akar csinálni. Én is így kezdtem. Aztán ..."
Most nem szeretnék nyelvtani mondat-elemezgetésekbe belemenni, de ez arra utal, hogy "Ti még ott tartotok, hogy ORM-et akartok csinálni, nálam is volt egy ilyen időszak, de azóta komolyabb dolgokkal foglalkozom". Erre mondtam, hogy enyhe nagyképűség.
Remélem így már sikerült összerakni.
De mondatokon való lovaglásba ne menjünk bele. -
Sk8erPeter
nagyúr
Itt senki nem beszélt ORM-készítési szándékról.
Amúgy hogy őszinte legyek, meglehetősen nagyképűre sikerült a hozzászólásod.
Kb. így hangzott: valamikor még én is azon szenvedtem, hogy hogyan validáljak formot - Ti kis hülyegyerekek. Pedig vélhetően nem tudod behatárolni, itt ki mennyi időt szánt PHP-s fejlesztésekre. -
Sk8erPeter
nagyúr
Igazából eredetileg nem arra kérdeztem rá, hogy ez mire jó, hanem hogy hogyan néz ki kód szintjén az, amit Athlon64+ írt, ezt értettem "gyakorlati használat" alatt, nem a "gyakorlati hasznára" kérdeztem rá, mert arra vannak bőven ötleteim.
De azért nem árt, hogy megbeszéljük ezt is.A mysql result set nyilvántartásának preferálását mondjuk nem feltétlenül tartom egyszerűbbnek, mert akkor nyilván kell tartani azt is, amit már mondjuk fetch-eltünk. Mondjuk valóban erőforráskímélőbb lehet a result set buzerálása, de kód szintjén lehet, hogy melósabb. Aztán lehet, hogy van rá valami ultimate megoldás, ami megteremti a világbékét.
Szerk.: a "tákolmány szar PHP" segítségével.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #10 üzenetére
Ő, hát szerintem sem a legszebb.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #8 üzenetére
"mi volt a tesztkörnyezet"
Itt eléggé pontatlan volt, amit írtam, mert nem csak a konfiguráció érdekelt volna, hanem a konkrét kód.A Kohanás kódra:
igazából abbahagytam a bemásolást, és nem raktam be azt, amit még kellett volna: a _load_result() függvényt:..............
/**
* Loads a database result, either as a new record for this model, or as
* an iterator for multiple rows.
*
* @chainable
* @param bool $multiple Return an iterator or load a single row
* @return ORM|Database_Result
*/
protected function _load_result($multiple = FALSE)
{
$this->_db_builder->from(array($this->_table_name, $this->_object_name));
if ($multiple === FALSE)
{
// Only fetch 1 record
$this->_db_builder->limit(1);
}
// Select all columns by default
$this->_db_builder->select($this->_object_name.'.*');
if ( ! isset($this->_db_applied['order_by']) AND ! empty($this->_sorting))
{
foreach ($this->_sorting as $column => $direction)
{
if (strpos($column, '.') === FALSE)
{
// Sorting column for use in JOINs
$column = $this->_object_name.'.'.$column;
}
$this->_db_builder->order_by($column, $direction);
}
}
if ($multiple === TRUE)
{
// Return database iterator casting to this object type
$result = $this->_db_builder->as_object(get_class($this))->execute($this->_db);
$this->reset();
return $result;
}
else
{
// Load the result as an associative array
$result = $this->_db_builder->as_assoc()->execute($this->_db);
$this->reset();
if ($result->count() === 1)
{
// Load object values
$this->_load_values($result->current());
}
else
{
// Clear the object, nothing was found
$this->clear();
}
return $this;
}
}
..... -
Sk8erPeter
nagyúr
válasz
Peter Kiss #6 üzenetére
Attól még, mert írtál ORM-et (ami önmagában azért nem varázslat, még ha szopó feladat is lehet), egy másik framework miért ne működhetne másképp, mint ahogy Te megírtad?
modder ismeri a Kohanát, dolgozott vele, arra alapozva mondja.
Azt mondjuk nem értem, Te mire alapozva cáfoltad, hogy nem úgy működik, ahogy ő írta, ha ezek szerint meg sem nézted.Én nem ismerem a Kohanát, ezért vettem rá a fáradságot, hogy letöltsem a keretrendszert és megnézzem, mi lehet az igazság, itt van kimazsolázva az érintett kódrészlet:
class Kohana_ORM extends Model implements serializable {
//...................................................
/**
* Database query builder
* @var Database_Query_Builder_Where
*/
protected $_db_builder;
//...................................................
/**
* Initializes the Database Builder to given query type
*
* @param integer $type Type of Database query
* @return ORM
*/
protected function _build($type)
{
// Construct new builder object based on query type
switch ($type)
{
case Database::SELECT:
$this->_db_builder = DB::select();
break;
case Database::UPDATE:
$this->_db_builder = DB::update(array($this->_table_name, $this->_object_name));
break;
case Database::DELETE:
$this->_db_builder = DB::delete(array($this->_table_name, $this->_object_name));
}
// Process pending database method calls
foreach ($this->_db_pending as $method)
{
$name = $method['name'];
$args = $method['args'];
$this->_db_applied[$name] = $name;
call_user_func_array(array($this->_db_builder, $name), $args);
}
return $this;
}
//...................................................
/**
* Finds multiple database rows and returns an iterator of the rows found.
*
* @return Database_Result
*/
public function find_all()
{
if ($this->_loaded)
throw new Kohana_Exception('Method find_all() cannot be called on loaded objects');
if ( ! empty($this->_load_with))
{
foreach ($this->_load_with as $alias)
{
// Bind auto relationships
$this->with($alias);
}
}
$this->_build(Database::SELECT);
return $this->_load_result(TRUE);
}
//...................................................
} // End ORMNa most a többi érintett kódrészletet már nem másolgatom be, mert akkor kicsit hosszú lenne a hozzászólásom, de ami ebből is látható (meg a többi kódrészletből), az alátámasztani látszik azt, amit modder írt.
===
(#5) : Ezek szerint addig nem jelenik meg a buborék, amíg meg nem jelenik az első hsz.? Hmm.
A példára rátérve igazából arra lettem volna kíváncsi, hogyan tesztelted, ami miatt a sima Iterator interface implementációjával történő tesztelés elszállt futási idő túllépésével. Meglepő, ha ekkora a különbség, ilyen esetben meg azért nem árt tudni, mi volt a tesztkörnyezet, amiben ez teljesült. -
Sk8erPeter
nagyúr
Ezt jó tudni.
Egyébként a korábbi hsz.-emben arra céloztam, hogy kíváncsi lennék, hogyan nézett ki Athlon64+-nál az összehasonlítás (maga a kód), de rájöttem, hogy a hivatalos oldalon mutatott IteratorAggregate-re mutatott példa annyira egyszerű, hogy túl szép, hogy igaz legyen...............
public function getIterator() {
return new ArrayIterator($this);
}
..............Hát ez ilyenformán nem egy nehéz valami.
Gondolom ilyenre lefuttatott egy buzinagy ciklust egy kis mérőkével, meg a másikra is, és kész.(#1) Athlon64+ :
"[értesítő]"
így nem egyszerűbb? >> -
Sk8erPeter
nagyúr
Ezt is jó tudni, köszönjük!
Én személy szerint kíváncsi lennék a gyakorlati használatára is - a saját tesztedet esetleg nem publikálod?
Ugyanezt akkor lehetne alakítgatni egyéni tesztek írására is.Btw. örülök, hogy valaki itt PH!-n haladó módon is foglalkozik a PHP-val, és végre nem csak olyan színvonalú írásokat látni, hogy "hogyan validáljunk és dolgozzunk fel egy formot szerveroldalon PHP-val". Így tovább!
Új hozzászólás Aktív témák
Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Mibe tegyem a megtakarításaimat?
- Sony MILC fényképezőgépcsalád
- Fájdalmasan gyenge kijelzőt válaszott a Switch 2-höz a Nintendo
- Kormányok / autós szimulátorok topikja
- Huawei Watch Fit 3 - zöldalma
- Kuponkunyeráló
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Windows 11
- Linux kezdőknek
- További aktív témák...
- Honor 400 Lite Fekete + fülhallgató
- Csere-Beszámítás! Custom vizes számítógép játékra! I7 12700KF / RTX 3090 / 32GB DDR5 / 1TB SSD
- Sigma 150-600mm f/5-6.3 DG OS HSM C ( Canon ) -Újszerű-
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook Laptop 14" -80% i7-10610U 16/512 FHD IPS MATT
- Új MSI KATANA 15 Gamer Tervező Laptop 15,6" -35% i7-13620H 10Mag 16/1TB RTX 4060 8GB FHD 144Hz
- Asus Rog Strix G16
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- LG 39GS95UE - 39" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- Bitcoin Miner Eladó Bitmain Antminer S19 JPro 104 Th 3150 watt
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest