Jump to content
php.lv forumi

5 lietas, ko Tu nezināji par PHP. 2 no 5. Pankūku princips


black

Recommended Posts

1) duraks. Šodien ir <?= $datums; ?>

3) normāls vecis. Šodien ir <?= $datums; ?>

 

imo, kur atšķirība? ;) he he

 

 

v3rb0, man ir XTable, XForm, kuri ņem no engines parent tiesības uz formu un laukiem un ģenerē dinamiskas tabulas/formas/layoutu .. es tikai padodu konstruktoram, kādus laukus izvadīt (kuri arī tiks čekoti..)

Link to comment
Share on other sites

kādu laiku atpakaļ lietoju template enginus - pēctam sapratu, ka tas ir fufelis. čakars lielāks nekā rakstot normālu php+html - ierobežotas kustomizācijas iespējas (kustomizācija VS smagums un performance) + pats galvenais - performance bija zem katras kritikas.

Link to comment
Share on other sites

Tiem, kas saka, ka templeišu 'performance ir zem katras kritikas'... Padomāsim, ko tad dara tas pats Smarty! Katru reizi, kad kaut kas tiek mainīts template, Smarty nokompilē mainīto failu, pārveidojot templates kodu tīrā PHP kodā. Tālāk, katru katru reizi, kad tiek pieprasīts templates kods, Smarty vienkārši nočeko datumus templātei un nokompiplētajai versijai, un ja templāte nav mainīta, izpilda kompilēto versiju. Performance zudumi? Datumu pārbaude 2 failiem. Starp citu, šo pārbaudi var arī atslēgt, gadījumā ja PATIEŠĀM nepieciešama maksimāla ātrdarbība. Rezultātā iegūstam tieši tādu pašu kodu, kā tad, ja būtu rakstīts ar roku. Vai tad izklausās tik drūmi?

 

<?php print $foo ?>
un
{$foo}

 

<?php print $foo['bar'][0] ?>

un

{$foo.bar.0}
Link to comment
Share on other sites

nenocietos..

reku testa faili

http://paste.php.lv/2885

 

Tas ir vidējais laiks no 1000 mēģinājumiem, vai arī Tu laidi tikai vienu reizi? Kas notiek, ja atslēdz templeišu kompilāciju? Un galu galā, ko Tu gribēji pierādīt - ka uz 'paveca kompja' paiet tieši 0.03 sekundes, lai nokompilētu Smartija klases? Un ja atslēdz visas Smartija papildus fīčas, pluginus, utt.?

 

The scary thing about microbenchmarks is that they always produce a number, even if that number is meaningless. They measure something, we're just not sure what. Very often, they only measure the performance of the specific microbenchmark, and nothing more. But it is very easy to convince yourself that your benchmark measures the performance of a specific construct, and erroneously conclude something about the performance of that construct.

 

Even when you write an excellent benchmark, your results may be only valid on the system you ran it on. If you run your tests on a single-processor laptop system with a small amount of memory, you may not be able to conclude anything about the performance on a server system.

Edited by black
Link to comment
Share on other sites

Protams, pirmajā reizē Smarty nokompilē to templeitu, ieraksta kompilēto versiju failā, izveido nepieciešamos direktorijus, utt., tāpēc arī ir krietni lēnāk, nekā parasts PHP. Pamēģini kaut vai laist tos pašus regexpus, būs, protams, ātrāk, nekā Smarty, taču arī, cerams, redzēsi atšķirību. Taču pēc tam Smartijs izmanto jau kompilēto versiju un atšķirība ir tikai tā, ka jāielādē/jāapstrādā Smartija klase/konfigurācija/etc.

 

un tad nafig mums tāds smarty vajadzīgs?

 

Smart, but without brains? gy... ;)

 

Nafig PHP, rakstām visu asemblerī. Ātrdarbība palielināsies x reizes!

Link to comment
Share on other sites

tas ir videjais no kadiem ~10 meginajumiem. ja dikti gribās var jau taisīt testu kā testu un kārtīgi, bet skaidrs ir viens, plain php variantā ir jāizdara mazāk darbību, ir mazak mainīgo, mazāk objektu, mazāk failu jānolasa.

Link to comment
Share on other sites

black, tu reklamē smarty, vai ko a? tev maksā $ par to?

 

Un blin beidz tu te ar saviem regexp-iem.. neviens nerunā, ka tie onlinā visu laiku tiek pārsēti templeiti... lasi postus uzmanīgi..

 

vnk perversija ir tas smarty... vieglāk dizainerim iemācīt standarta IF-us

 

<?php if ($accountDisabled) : ?>
<div>
  <?php = label('disabled'); ?>
</div>
<?php endif; ?>

Edited by Delfins
Link to comment
Share on other sites

black, tu reklamē smarty, vai ko a? tev maksā $ par to?

 

Nē :D Bet es varu mēģināt paskaidrot... Patiesībā es pats vairs nelietoju PHP, nerunājot par Smartijiem un citiem zvēriem, taču esmu daudz, daaaudz gadus ar PHP nostrādājis , tādēl vienkārši nolēmu mazliet padalīties savā pieredzē par Singletoniem, templeitēm, utt.

 

Nejauši pieminēju Smartiju, un izcēlās lielais flame. Tā kā atbildēs dominēja viedoklis, ka 'Smarty sucks', jutu vajadzību kaut ko atbildēt. Jau trešo reizi šodien - es nebūt nesaku, ka es zinu pareizo atbildi - katrs pats var izlemt, ko (ne)lietot. Laba, argumentēta diskusija ir daudz svarīgāka nekā tas, kam patreiz ir taisnība. (Ja nevar noprast - TAISNĪBA IR MAN :) :) :)

Edited by black
Link to comment
Share on other sites

Nafig PHP, rakstām visu asemblerī. Ātrdarbība palielināsies x reizes!

non-sense

 

Laba, argumentēta diskusija ir daudz svarīgāka nekā tas, kam patreiz ir taisnība. (Ja nevar noprast - TAISNĪBA IR MAN :) :) :)

izlasi pats savus teikumus

 

Un galu galā, ko Tu gribēji pierādīt - ka uz 'paveca kompja' paiet tieši 0.03 sekundes, lai nokompilētu Smartija klases?

Ko tu gribi pierādīt, ka Smarty sintakse ir viegklāka par PHP? buļļkaka

Ko tu gribi pierādīt, ka arī high-load kastes viss griezīsies `kā pa sviestu`? buļļkaka...

 

Un ja atslēdz visas Smartija papildus fīčas, pluginus, utt.?

ja teikumi sākās ar "Un ja... to un šito" .. tā vairs nav argumentēšana.. atkāpšanās..

 

pats sevi iedzini strupceļā..

klausies lielos vīrus, kuriem pieredzē ir lielie projekti.. nevis sīko kantoru ~statiskās lapas.. piekrītu tur smarty pat iespējams būs spēks..

Link to comment
Share on other sites

×
×
  • Create New...