-
Data: 2007-07-08 18:08:29
Temat: Re: I co wy na takie dictum? ;)
Od: the_foe <t...@W...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Sun, 08 Jul 2007 19:33:21 +0200, pw napisał(a):
> the_foe pisze:
>> nie slyszal pan o spaghetti code? Znak rozpoznawczy PHP.[...]
>
> Raczej znak rozpoznawczy kiepskiego programisty.
>
e tam kiepskiego... w PHP taki kod jest natywny, kazdy inny to emulacja
(przynajmniej do 4 tak bylo). Najszybsze systemy szablonow, na przyklad
PHPTAL, "kompiluja" ladny kod to spaghetti bo potrafi byc 10 razy szybszy
przy kolejnym uzyciu.
Dajmy taki przyklad co phptal robi z ladnym kodem wypluwajac cos takiego:
<?php
function tpl_1_1_85569892b591925cb76d00c5fbe230df9( $tpl, $ctx ) {
/* Generated by PHPTAL from template/res.html */ ;
ob_start() ;
$glb = $tpl->getGlobalContext() ;
$ctx->setXmlDeclaration('<?xml version="1.0"?>') ;
?>
<html>
<head>
<title><?php echo phptal_escape($ctx->title, ENT_QUOTES, 'UTF-8')
?></title>
</head>
<body>
<h1><?php echo phptal_escape($ctx->title, ENT_QUOTES, 'UTF-8')
?></h1>
<?php
$__repeat__ = $ctx->repeat ;
if (!isset($ctx->item)): ;
$ctx->item = false ;
endif ;
$tmp = $ctx->link ;
if (($tmp) instanceof IteratorAggregate): ;
$__repeat__->item = new PHPTAL_RepeatController($tmp->getIterator()) ;
else: ;
$__repeat__->item = new PHPTAL_RepeatController($tmp) ;
endif ;
foreach ($__repeat__->item->source as $__key__ => $ctx->item ): ;
$__repeat__->item->key = $__key__ ;
$__repeat__->item->index = $__repeat__->item->index +1 ;
$__repeat__->item->number = $__repeat__->item->number +1 ;
$__repeat__->item->even = $__repeat__->item->index % 2 == 0 ;
$__repeat__->item->odd = !$__repeat__->item->even ;
if ($__repeat__->item->number == $__repeat__->item->length): ;
$__repeat__->item->end = true ;
endif ;
?><span>
<?php
$__att_href = phptal_escape(phptal_path($ctx->item, 'href'), ENT_QUOTES,
'UTF-8') ;
$__att_title = phptal_escape(phptal_path($ctx->item, 'title'), ENT_QUOTES,
'UTF-8') ;
?><a href="<?php echo $__att_href ?>" title="<?php echo $__att_title
?>"><?php echo phptal_escape(phptal_path($ctx->item, 'text'), ENT_QUOTES,
'UTF-8') ?></a><br/>
</span><?php
$__repeat__->item->start = false ;
endforeach ;
?>
</body>
</html><?php
$_result_ = ob_get_contents() ;
ob_end_clean() ;
return $_result_ ;
}
?>
Pisanie zgrabnego kodu, najlepej w specyfikacji model-widok-kontrola sluzy
w PHP wylacznie programiscie i rozwojowi aplikacji. Sluszne jednak jest
"kompilowanie" tego do spaghetti, szczegolnie przy ogromnych ilosciach
czystego kodu przed wrzuceniem na serwer, lub stosowac frameworki ktore
"kaszuja" "prawidlowy" kod do wydajnego.
Następne wpisy z tego wątku
- 08.07.07 18:10 the_foe
- 09.07.07 04:21 Wojciech Bańcer
- 09.07.07 04:24 Wojciech Bańcer
- 09.07.07 09:42 Ghost
- 09.07.07 09:48 Ghost
- 09.07.07 15:10 the_foe
- 09.07.07 15:44 Jotte
- 09.07.07 17:00 tukan
- 09.07.07 19:24 Jakub Lisowski
- 09.07.07 19:31 Jakub Lisowski
- 09.07.07 19:40 Wojciech Bańcer
- 09.07.07 20:12 Jakub Lisowski
- 10.07.07 17:36 tukan
- 10.07.07 17:59 pw
- 11.07.07 17:33 9...@g...com
Najnowsze wątki z tej grupy
- Pedalskie ogłoszenia na rządowej s. WWW oferty.praca.gov.pl:443
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Ile powinien trwać tydzień pracy?
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- praca 12/24
- 5 minut przerwy przy komputerze
- raczej już nigdy nie będę pracował w Polsce
- Stanowiska sztucznie tworzone
- Re: SOLUTIONS MANUAL: Optical Properties of Solids 2nd Ed by Mark Fox
- zapłata
- Re: Cwana cwaniurka czyli niemieccy oszuści.
- Re: Cwana cwaniurka czyli niemieccy oszuści.
- Jawność zarobków wszystkich
- rozmówki przy wódeczce...
Najnowsze wątki
- 2024-12-02 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-12-02 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-11-30 Łódź => Technical Artist <=
- 2024-11-30 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-30 Warszawa => Microsoft Dynamics 365 Business Central Developer <=
- 2024-11-30 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-30 Zielona Góra => Senior PHP Symfony Developer <=
- 2024-11-30 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-30 Lublin => Spedytor międzynarodowy <=
- 2024-11-30 Warszawa => Mid IT Recruiter <=
- 2024-11-30 Warszawa => Fullstack Developer <=
- 2024-11-30 Żerniki => Dyspozytor Międzynarodowy <=
- 2024-11-30 Warszawa => System Architect (background deweloperski w Java) <=
- 2024-11-30 Katowice => Key Account Manager (ERP) <=
- 2024-11-29 Błonie => Sales Specialist <=