Is dit omslachtig?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Vdleije .

vdleije .

27/05/2009 21:03:00
Quote Anchor link
Hallo,

Ik ben mezelf 'functies' aan het leren en ik snap het al redelijk. Toch vraag ik me af of ik wel een goede start maak door dit zo te programmeren.

Oftewel: is deze manier omslachtig of niet?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?PHP
function emoticons($bericht, $par)
    {

        $map = "smilies/";
        $smilies = array(
        ":P"=>"tong",
        ":)"=>"glimlach");
        
        $opmaak = array(
        "[b]"=>"<b>",
        "[/b]"=>"</b>");
        
    if(preg_match("/\ba\b/i", $par))
        {

            foreach($smilies as $smile=>$plaatje)
                {

                    $bericht = str_replace($smile, '<img src="'.$map.$plaatje.'.gif">', $bericht);
                }    
        }
    
    if(preg_match("/\bb\b/i", $par))
        {

            foreach($opmaak as $code=>$code2)
                {

                    $bericht = str_replace($code, $code2, $bericht);
                }
        }

        
        return $bericht;
    }

?>


<form action="" method="post">
<p>
<textarea name="bericht" cols="40" rows="5"></textarea>
</p>
<p>
<input name="submit" type="submit" value="Verstuur" />
</p>
</form>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?PHP
if(isset($_POST['submit']))
    {

        echo emoticons($_POST['bericht'], "a");
    }

?>



Het is toch niet te veel code?

M.v.g,
Jeffrey

EDIT: ik zie nu dat het script niet werkt, a pakt hij wel, maar ab niet.
Gewijzigd op 01/01/1970 01:00:00 door Vdleije .
 
PHP hulp

PHP hulp

28/03/2024 16:04:29
 
- SanThe -

- SanThe -

27/05/2009 21:13:00
Quote Anchor link
Je post is nu niet echt leesbaar. Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
Gebruik je Afbeelding knop om dit te doen.

SanThe.
 
Jelmer -

Jelmer -

27/05/2009 21:13:00
Quote Anchor link
wat is $par? Een soort opties? Niet doen zo, is niet leuk :P Daar hebben we constanten voor, bitwise zelfs:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

define('PARSE_EMOTICONS', 1);
define('PARSE_BBCODE', 2);

function
parse_text($text, $modes = 3)
{

   if($modes & PARSE_EMOTICONS)
      $text = parse_emoticons($text);

   if($modes & PARSE_BBCODE)
      $text = parse_bbcode($text);
  
   return $text;
}


echo parse_text('blaat', PARSE_BBCODE | PARSE_EMOTICONS);
?>


Andere tip die ik ooit van een van m'n leraren heb gekregen, die ik stiekem al heb toegepast, is uitstellen. Iedere functie hoeft maar een heel basale berekening te doen, en gebruikt weer andere functies om dan weer de kleine details onder handen te nemen. Op die manier blijft je code heel begrijpelijk (het is redelijk duidelijk wat deze functie nu doet) en je kan gemakkelijk dingen aanpassen en hergebruiken. Een functie hoeft eigenlijk nooit groter te zijn dan ongeveer 20 regels. Als hij groter is, kan hij waarschijnlijk beter onderverdeeld worden in kleinere functies :)
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Vdleije .

vdleije .

27/05/2009 21:19:00
Quote Anchor link
Quote:
Als hij groter is, kan hij waarschijnlijk beter onderverdeeld worden in kleinere functies :)


En dat heeft niet echt effect op de laadtijd of berekentijd van het script?

Ik ga het proberen toe te passen. Ik snap je code wel, denk ik.
 
Jelmer -

Jelmer -

27/05/2009 23:05:00
Quote Anchor link
Het is niet merkbaar negatief op de laadtijd. Voordeel is wel dat je vrij gemakkelijk later trucjes als memorization (bewaren van de antwoorden van een functie, zodat je die niet opnieuw hoeft uit te rekenen) herimplementatie van sommige stukjes code kan doen. En het leest veel gemakkelijker, en dat scheelt jou ook weer tijd :)
 
Tim Kampherbeek

Tim Kampherbeek

28/05/2009 01:34:00
Quote Anchor link
Ik vind het er zelf redelijk netjes uitzien :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.