Jump to content
php.lv forumi

Recommended Posts

Posted

Vai kāds nevarētu sniegt piemēru par Model-View-Controller (MVC) pielietošanu iekš PHP? Cik es saprotu, piemēram, var atdalīt lapas attēlošanu un mysql vaicājumus kodā. Iepriekš paldies, ja kādam būs ar ko padalīties.

Posted (edited)

nav gan patterni s**ds, tik jāatrod 'fīlings' kā, kur un kuru patternu lietot tā lai tie tiešam palīdzētu, nevis tikai būtu izmantoti. t.i. scripts būtu labāk lasāms, ātrāk rakstāms, vieglāk atkukaiņojams utt.

 

arī subjectīvi, protams :)

Edited by v3rb0
Posted (edited)
vieglāk atkukaiņojams utt.

 

iedomājies pa vidam PHP kodam (loģikai/algoritms/etc).. pa vidu vēl MVC `maisās zem kājām`...

Edited by Delfins
Posted

ar mvc kļūda var būt 3vietās, templeitā(visi gluki ar htmlu), modelī (kaut kas ar sqliem), vai kontrolerī(kaut kas ar scripta loģiku - piem izauc saglabāšanu, a izpildās dzēšana), un varbūt arī 4turtā vieta - kādā helperī (scripta gabali ar kontrolerim specifisku vai globālām utilītu f-jām)

identificēt kurā daļā ir kļūda nav nemaz tik grūti ;)

Posted

2 Delfins

Daudz bēdīgāk gan ir, kad atver tādu "pure PHPTML", un mati saceļas stāvus, jo nav saprotams, kur beidzas loģika, sākas algoritms un vēl atēlojums "maisās pa kājām". Un, ja sākumā tas vēl kaut cik ir lasāms, tad pēc zināma labojumu/uzlabojumu ieviešanas kods kļūst absolūti nelasāms pat autoram.

Var tikai apsveikt virzību uz OOP un patterniem. Kad pie tā pierod, vairs nav ne mazākās vēlēšanās atgriezties pie tā "pure".

Sorry par off :)

Posted

Man nav nekāds MVC un citu kutu templeišu sistēmu... bet lietot šādi tev neviens neaizliedz, bet imho visādi Smarty/MVC tik visu sarežģī..

 

$table = new InventTable();
$xtable = new XTable('items');

$xtable->setSelectionColumn('itemid');

$field = new StdClass();
$field->ID = 'itemid';
$field->Label = label('ID');
$field->Type = 'text';
$xtable->addField($field);

$field = new StdClass();
$field->ID = 'statustxt';
$field->Label = label('status');
$field->Type = 'text';
$xtable->addField($field);

$html_table .= $xtable->getHeaderHtml();
$query = $table->getQuery();
while ( $row = $this->dbio->obj($query) )
{
$row->statustxt = InventTable::status2txt($row->status);

$html_table .= $xtable->processRecord($row);
}
$html_table .= $xtable->getFooterHtml();

htmlAddVar('BODY', $html_table);

Posted

smarty ir begemots puķu dobē.

mvc smuki realizets ir ruby on rails, veel neesu atradis tik ertu mvc frameworku php. pēdējais ko skatījos bija http://www.phpontrax.com bet nepatika ka viņam nav dokumentācija un tīri subjectīvi nepatika ka pear tiek izmantots.

Posted

Es nesaprotu, nu kāpēc ir jāizvaro programmēšanas valoda.. nu nav tam PHP domāts - PHP pamatos ir bijis vienkāršs, ātrs.. tagad grib pataisīt par kārtējo sūdu, lai piemēram uzrakstītu HelloWorld būs jauzliek core-web application, jāuzcep modulis, jasazīmē templeits, jo redz bez tā nevarēs ;)

Posted

piekrītu par purephp Delfinam.

man nepatīk, ka jāinklūdo cores faili uz 50kb, tad jāizsauc miljons funkcijas, lai dabūtu echo 'helloword'; galugalā uztaisot projektu tiek sainklūdoti savi 100kb 95% nevajadzīga koda, izbraukts caur miljards nevajadzīgām funkcijām un ātrdarbība samazinās 666 reizes. un kam tas vajadzīgs? lai projektu pabeigtu par nedēļu ātrāk? un lai pēctam pasūtītājs pērk megakrutus serverus, lai viņi spēj turēt to visu abnormāli nevajadzīgo slodzi? pff

Posted

Varbūt kāds kodētājs, kas kodē ar tiem templeitiem var parādīt kādu piemēru?

Kas tur ir tik sarežģīts, ka "Hello World!" ir tik rijīgs?

×
×
  • Create New...