-
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
- M$ kroczy tradycyjną ścieżką amerykańskich korpo wytyczoną przez IBM i Dehomag w latach 30. XXw. w III Rzeszy
- Ponad 300 pracowników Aquinos Bedding Poland w Łodzi nie otrzymało dotychczas pensji za kwiecień
- Trzy największe polskie centrale związkowe domagają się znacznych podwyżek w budżetówce i wzrostu płacy minimalnej.
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Francja: "Za mało pracujemy, za dużo wydajemy" - a pierwsi chcieli pracować 4/7 !!!
- 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
Najnowsze wątki
- 2025-06-07 Warszawa => Software .Net Developer <=
- 2025-06-07 Warszawa => Junior SQL / FrontEnd developer <=
- 2025-06-07 Warszawa => Team Lead Data Engineer (Snowflake) <=
- 2025-06-07 Kraków => Kotlin Developer <=
- 2025-06-07 Warszawa => Senior Key Account Manager IT <=
- 2025-06-07 Gdańsk => PHP Developer <=
- 2025-06-07 Warszawa => Specjalista ds. Sprzedaży <=
- 2025-06-07 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-06-07 Warszawa => Sales Assistant and Customer Development Specialist <=
- 2025-06-07 Warszawa => Programista Full Stack .Net <=
- 2025-06-07 Lublin => Delphi Programmer <=
- 2025-06-07 Warszawa => Administrator Systemów OSS <=
- 2025-06-06 Gdańsk => Team Lead Data Engineer (Snowflake) <=
- 2025-06-06 Gdynia => MLOps Engineer <=
- 2025-06-06 Białystok => NMS System Administrator <=