Egy nyelvet csak natívban ismerni munkavállaláshoz kevés?
Symfony & Zend -et keresik a legtöbb helyre.
Én a YII -t szeretem, szerintem a felső kettő után ezzel kapcs szoktak még embert keresni, és nekem a fenti kettőnél jobban tanulhatóbbnak és logikusabbnak tűnik. Ez persze alkati kérdés, mindenkinek más.
A kérdésre válaszolva: sokan mondják, hogy nem elég és mint szakmabéli én is azt mondom, hogy nem alkalmaznék olyat aki nem ismeri az OOP-t, nem ismer legalább 1 keretrendszert, spagetti kódot gyárt. Sajnos viszont kódolok és nem vagyok döntési pozicióban így nem 1 helyen futottam már össze olyan dolgozó programozókkal akiknek ilyen téren minimális ismereteik sem voltak, mégis bebetonozott helyük volt a cégnél egyszerűen azért mert a kódjaikat nincs ember aki rajtuk kívül átlátja és valaki valamikor felvette őket.
Köszönöm a nagyon hasznos válaszokat!
OOP-ra ráfeküdtem és azt hiszem nagyjából megértettem.
Viszont az MVC még sok fejtörést fog okozni, pedig azt hittem a leírás alapján értem, de a példák ,amiket olvastam már kuszának tűntek a számomra.
Ez így jó nagy vonalakban? ->
controller:
-ez a kérés a model_car($adat)-nak megy át
-majd jelenitse meg a view/cars a visszakapott eredményt
model_car:
eztkellcsinálni($ezzel)
és lesz belőle $ez
view/cars($ez)
<html> <h1>echo $ez ..stb
Amit nem értek, hogy mi legyen belépési pont és az egész uri routing számomra átláthatatlan: volt ahol mvc-n kívüli index.php-ba érkezett minden és onnan küldte tovább controllereknek. volt ahol alapból át volt állítva a routing arra ,hogy adott url-el a megfelelő fájl megfelelő metódusa hívódjon meg. volt ahol nem is volt külön álló index fájl , hanem a controller-en belül volt a kiindulási pont.
Itt most melyik a legjobb? Számomra a logikus az lenne ,hogy mvc fájlok külön-külön könyvtárakban és azokon is kivűl egy kiindulási index.php
Nos, a RequestDispatcher implementációja voltaképpen csak rajtad múlik. Ugyan nem PHP, de érdemes lehet egy pillantást vetned a Spring Framework DisptacherServlet -ére, talán az ad egy jó tippet.
Az MVC, simply put:
- A view csak a megjelnítést szolgálja. Ebbe soha ne tegyél logikát.
- A kontroller, szintén egyszerű állat, pusztán arra szolgál, hogy a modellbe belehívjon. Felfoghatod egy egyszerű adapterként a futási környezet és a business domain közt.
- A modell, nos, az maga az alkalmazás, pontosabban a magja. Ez nem egyetlen osztály, hanem business domain osztályok összessége, amik a modellt felépítik - és itt jön képbe az, hogyan képezed le a megvalósítani kívánt problémát osztályokra, illetve objektumokra.
Alapszabályként, ami nem pusztán value object, vagy business entity, azt interface mentén illik megírni.
Példádnál maradva (ezt spec editorban formázva volna érdemes), rém csúf, ám egyszerű magyarázatként:
// controller:
$category = $_POST['category'];
$cars = getByCategoryFromModel($category);
return $cars;
// model:
$cars = retrieveCarsFromDatabase($category);
return $cars
// view:
<ul>
<?php foreach ($cars as $car): ?>
<li>
<a href="/cars/details/?id="<?php print($car->getId()); ?>"><?php print($car->getYear() . " " . $car->getBrand() . " " . $car->getType())</a><!-- ... --></li>
<?php endforeach; ?>
</ul>
(Itt szabadjon megjegyeznem, hogy a view -hoz elég jó ötlet valamilyen template engine -t, pl. Smarty -t használni, már csak az olvashatóság végett is)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!