/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
php function for GOTO
Fra : Sonni Jensen


Dato : 23-01-05 23:40

Hejsa,

jeg vil gerne søge hjælp til at finde ud af hvad jeg kan benytte
i stedet for goto, jeg har søgt efter det men har fundet ud af
det åbenbart er et fy-ord i php.

hvad kan jeg benytte i stedet.



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Kim Schulz (24-01-2005)
Kommentar
Fra : Kim Schulz


Dato : 24-01-05 00:06

On 23 Jan 2005 22:39:48 GMT
Sonni Jensen <fsscj@stam.dk> wrote:

> Hejsa,
>
> jeg vil gerne søge hjælp til at finde ud af hvad jeg kan benytte
> i stedet for goto, jeg har søgt efter det men har fundet ud af
> det åbenbart er et fy-ord i php.

Ikke bare i php men i stort set alle sprog siden basic

> hvad kan jeg benytte i stedet.

Ordentlig kode struktur

--
Kim Schulz | Linux - Your Choice! Your Opinion! Your life!
Geek by nature |
schulz.dk |

Sonni Jensen (24-01-2005)
Kommentar
Fra : Sonni Jensen


Dato : 24-01-05 07:31

Kim Schultz, du er da et fjols, ja undskyld jeg siger sådan, men jeg
søger hjælp, jeg søger da ikke historie timer, du skulle da ikke lige
besidde viden om hvilken funktion jeg kan benytte i stedet for????

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søren Reinke (24-01-2005)
Kommentar
Fra : Søren Reinke


Dato : 24-01-05 08:16

Sonni Jensen wrote:
> Kim Schultz, du er da et fjols, ja undskyld jeg siger sådan, men jeg
> søger hjælp, jeg søger da ikke historie timer, du skulle da ikke lige
> besidde viden om hvilken funktion jeg kan benytte i stedet for????
>

Så så.

Sikke et sprog.

Som Kim siger 'Ordentlig kode struktur'.

Der er ingen grund til at bruge goto, du inddeler din kode i logiske små
stumper som du så kalder når du har brug for dem.

Hilsen Søren

Kim Schulz (24-01-2005)
Kommentar
Fra : Kim Schulz


Dato : 24-01-05 07:46

On 24 Jan 2005 06:31:09 GMT
Sonni Jensen <fsscj@stam.dk> wrote:

> Kim Schultz, du er da et fjols, ja undskyld jeg siger sådan, men jeg
> søger hjælp, jeg søger da ikke historie timer, du skulle da ikke lige
> besidde viden om hvilken funktion jeg kan benytte i stedet for????


Prøv at forstå hvad jeg siger: "Med mindre du koder hardware nært så er
GOTO et primitivt alternativ for dårligt struktureret kode". Med andre
ord: har du brug for GOTO så har du lavet ringe kode.

Den simple løsning er ofte at smide funktionalitet du vil "GOTO" ind i
en funktion.




--
Kim Schulz | Got Freedom? Software Freedom Day 2004 - 28th of
Geek by nature | August http://www.softwarefreedomday.org/
schulz.dk |

Stig Johansen (24-01-2005)
Kommentar
Fra : Stig Johansen


Dato : 24-01-05 09:17

Kim Schulz wrote:

(Warning, ikke PHP-indlæg, mere generel kode disciplin)

> On 24 Jan 2005 06:31:09 GMT
> Sonni Jensen <fsscj@stam.dk> wrote:
>
>> Kim Schultz, du er da et fjols, ja undskyld jeg siger sådan, men jeg
>> søger hjælp, jeg søger da ikke historie timer, du skulle da ikke lige
>> besidde viden om hvilken funktion jeg kan benytte i stedet for????
>
>
> Prøv at forstå hvad jeg siger: "Med mindre du koder hardware nært så er
> GOTO et primitivt alternativ for dårligt struktureret kode". Med andre
> ord: har du brug for GOTO så har du lavet ringe kode.
>
> Den simple løsning er ofte at smide funktionalitet du vil "GOTO" ind i
> en funktion.

Hvad med at glemme 'religionskrigen'.
Det er rigtigt som Kim siger, at GOTO blev 'bandlyst', formentlig i start
80'erne.
Men lad mig citere en filosofisk betragtning fra Alfredo Rego[1] på slap
line under et Usergroup møre i Danmark engang i start '80erne:

Antag følgende(pascal):
IF A = B THEN BEGIN
DoSomething;
END ;
DoSomeMore;

Det resulterer i en oversat maskinkode, der har følgende pseudo syntaks:
IF A <> B GOTO DoSomeMore;
Det filosofiske spørgsmål gik på:
Vil du *selv* styre dine GOTO's, eller vil du overlade det til compileren?

Det er ikke et forsvar af GOTO's, mere en illustration af, at (IT-) verden
hverken er sort eller hvid.

Derudover har jeg lavet 100 tusindvis af linier COBOL kode, hvor man ikke
kan leve (læs: lave rigtig læsbar kode) uden GOTO's.

[1] <http://www.adager.com/HP/HpAdvisor9910/honorsA.html>

--
Med venlig hilsen
Stig Johansen

Kim Schulz (24-01-2005)
Kommentar
Fra : Kim Schulz


Dato : 24-01-05 10:48

[snip]
> Hvad med at glemme 'religionskrigen'.
> Det er rigtigt som Kim siger, at GOTO blev 'bandlyst', formentlig i
> start 80'erne.
> Men lad mig citere en filosofisk betragtning fra Alfredo Rego[1] på
> slap line under et Usergroup møre i Danmark engang i start '80erne:
>
> Antag følgende(pascal):
> IF A = B THEN BEGIN
> DoSomething;
> END ;
> DoSomeMore;
>
> Det resulterer i en oversat maskinkode, der har følgende pseudo
> syntaks:
> IF A <> B GOTO DoSomeMore;
> Det filosofiske spørgsmål gik på:
> Vil du *selv* styre dine GOTO's, eller vil du overlade det til
> compileren?
>
> Det er ikke et forsvar af GOTO's, mere en illustration af, at (IT-)
> verden hverken er sort eller hvid.
>
> Derudover har jeg lavet 100 tusindvis af linier COBOL kode, hvor man
> ikke kan leve (læs: lave rigtig læsbar kode) uden GOTO's.

Du har helt ret, men spørgsmålet blev stillet i en PHP gruppe og ikke en
kompiler gruppe. Som jeg også sagde i mit første indlæg så er der steder
hvor det optimeringsmæssigt er nødvendigt at bruge goto - php er bare
ikke stedet. Jeg har kodet en del linux kerne moduler som slet ikke
kunne køre optimalt uden goto's, men det var også så hardware nært at
1ms var afgørende for om det virkede eller ej.
Så er der selvfølgelig de sprog som direkte bygger på at man bør bruge
goto's, jeg nævnte selv det gamle basic og du nævnte cobol, men der er
også sprog som asm hvor goto's (dog ikke kaldt sådan) bliver benyttet
ofte - men igen! Dette er php og ikke et goto nødvendigt sprog.


--
Kim Schulz | Linux - Your Choice! Your Opinion! Your life!
Geek by nature |
schulz.dk |

Peter Brodersen (25-01-2005)
Kommentar
Fra : Peter Brodersen


Dato : 25-01-05 16:53

On Mon, 24 Jan 2005 10:47:43 +0100, Kim Schulz <kim@schulz.dk> wrote:

>Du har helt ret, men spørgsmålet blev stillet i en PHP gruppe og ikke en
>kompiler gruppe. Som jeg også sagde i mit første indlæg så er der steder
>hvor det optimeringsmæssigt er nødvendigt at bruge goto - php er bare
>ikke stedet.

Det er vist ikke mere end en måned eller to siden, der var en lang
debat i php.internals om netop GOTO. Der var interessante argumenter
for og imod, men langt det meste af debatten druknede desværre i folk,
der råbte "GOTO considered harmful!".

--
- Peter Brodersen

Geert Lund (01-02-2005)
Kommentar
Fra : Geert Lund


Dato : 01-02-05 18:38

Peter Brodersen wrote:

> Det er vist ikke mere end en måned eller to siden, der var en lang
> debat i php.internals om netop GOTO. Der var interessante argumenter
> for og imod, men langt det meste af debatten druknede desværre i folk,
> der råbte "GOTO considered harmful!".

Men var der nogen konklussion? Eller endte det blot i mudderkast?

--
Med venlig hilsen
Geert Lund


Bertel Lund Hansen (24-01-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 24-01-05 14:02

Sonni Jensen skrev:

> jeg vil gerne søge hjælp til at finde ud af hvad jeg kan benytte
> i stedet for goto, jeg har søgt efter det men har fundet ud af
> det åbenbart er et fy-ord i php.

Kom med et kodeekesempel hvor du gerne ville bruge goto.

Jeg er enig i at man normalt ikke bør bruge goto, men jeg er
uenig med fanatikere der heller ikke vil bruge break, return
eller exit som i forskellige sprog er skjulte goto'er.

--
Bertel
http://bertel.lundhansen.dk/   Fiduso: http://fiduso.dk/

Bertel Lund Hansen (25-01-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-01-05 17:35

Bertel Lund Hansen skrev:

> Kom med et kodeekesempel hvor du gerne ville bruge goto.

Det var faktisk seriøst ment.

--
Bertel
http://bertel.lundhansen.dk/   Fiduso: http://fiduso.dk/

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste