abonnement Unibet Coolblue Bitvavo
pi_55314434
Ik zou wel een voorbeeld template zien.
De class zelf zegt mij niet zo veel, het gebruik er van zegt meer.

En mag ik vragen waarom jij geen access control modifiers (public/protected/private) gebruikt?
pi_55315543
quote:
Op zondag 16 december 2007 16:04 schreef colourAgga het volgende:
In ieder geval, laten we weer verder gaan met PHP want daar is dit topic voor.

Mensen nog gekeken naar die simpele template klasse? Kan die nog simpeler dan dit?
1    function replace( $str_Needle, $str_Replacement, $bool_File = false )


Dit vind ik een voorbeeld van bad coding practice. De parameter $bool_File geeft aan of de parameter $str_Replacement een replacement string bevat of de naam van een bestand dat je als replacement gebruikt. Waarom maak je daar niet gewoon 2 functies van, dat levert echt veel beter leesbare code op.
Dat ik een hekel heb aan hungarian prefixes had ik al eerder gezegd.

En kan het nog simpeler? Ja, Smarty gebruiken!
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 16 december 2007 @ 17:06:50 #278
62215 qu63
..de tijd drinkt..
pi_55315658
Wat zijn hungarian prefixes
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_55315880
Prefixes in de variable names waar je aan zou moeten kunnen zien wat voor type waarde er in de variable zit (object, boolean, string, int etc). Vrij gevaarlijk bij loosely typed languages zoals php omdat dat type nooit vaststaat.
  zondag 16 december 2007 @ 17:34:15 #280
62215 qu63
..de tijd drinkt..
pi_55316340
quote:
Op zondag 16 december 2007 17:15 schreef Farenji het volgende:
Prefixes in de variable names waar je aan zou moeten kunnen zien wat voor type waarde er in de variable zit (object, boolean, string, int etc). Vrij gevaarlijk bij loosely typed languages zoals php omdat dat type nooit vaststaat.
dus in str_Needle is str de 'hungarian prefix'
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_55316549
quote:
Op zondag 16 december 2007 17:34 schreef qu63 het volgende:

[..]

dus in str_Needle is str de 'hungarian prefix'
Ja.
  zondag 16 december 2007 @ 18:27:05 #282
62215 qu63
..de tijd drinkt..
pi_55317328
quote:
Op zondag 16 december 2007 17:42 schreef Farenji het volgende:

[..]

Ja.
en dat is stom omdat str_Needle ook iets anders kan zijn dan een string?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_55317384
quote:
Op zondag 16 december 2007 18:27 schreef qu63 het volgende:

[..]

en dat is stom omdat str_Needle ook iets anders kan zijn dan een string?
Klopt. In PHP kun je sowieso niet eisen dat iets van een bepaald type is. Een integer meegeven als een string gevraagd wordt (of andersom) wordt gewoon toegestaan. Daarnaast is het stom, omdat je nu heel lastig van type kunt veranderen. Als je besluit dat iets van een int naar een double gaat, dan kun je alle verwijzingen naar die variabele gaan aanpassen.

Kortom: niet doen.
pi_55317751
Ik heb een keer een PHP boek gelezen waar ze ook classes zo een naam gaven : 'clsFooBar';

PHP 5 Super Boek was dat geloof ik.
pi_55320424
Of "iNumber"
pi_55322331
quote:
Op zondag 16 december 2007 13:53 schreef colourAgga het volgende:
Welke versie van safari gebruik jij dan? In 2.0.4 werkt het in ieder geval
Safari 2 is wat achterhaald ondertussen. En in 3.0.4 werkt het menu niet goed, de >> die voor de tekst komen, zorgen ervoor dat de tekst naar de volgende regel gaat. Zonder dat het vakje groter wordt overigens. Maar dat had je zelf vast ook al wel gezien.
pi_55322449
quote:
Op zondag 16 december 2007 17:15 schreef Farenji het volgende:
Prefixes in de variable names waar je aan zou moeten kunnen zien wat voor type waarde er in de variable zit (object, boolean, string, int etc). Vrij gevaarlijk bij loosely typed languages zoals php omdat dat type nooit vaststaat.
Nooit is ook niet helmaal meer waar in php5. Je kunt bij functies wel type hinting gebruiken voor objecten en arrays. Niet voor dingen als int of string.
pi_55326091
Weet iemand hoe ik alle 7 dagen van een bepaald weeknummer en jaartal kan verkrijgen?

Ik gebruik op het moment het volgende stukje code:

1
2
3
4
// Gegeven: $week (1-53), $year (1990 - 2100), $day (monday-sunday)
$lastdaylastyear = mktime(0,0,0,12,31,$year-1);
$lastdaylastweek = strtotime('+' . $week-1 . 'weeks', $lastdaylastyear);
return strtotime("next " . $day, $lastdaylastweek) ;


Het punt is echter dat deze natuurlijk niet werkt tijdens de jaarwisseling. Iemand? :)
pi_55337745
Type prefixes gebruik ik meestal omdat er normaal nog een verificatie klasse overheen gaat om te checken wat voor iets een variabele is met een hoop is_string en is_int. Is ook nog iets wat is blijven hangen bij mij van andere talen etc. etc. Kunnen jullie denk ik beter overheen kijken
quote:
Op zondag 16 december 2007 18:27 schreef qu63 het volgende:

[..]

en dat is stom omdat str_Needle ook iets anders kan zijn dan een string?
Ik gebruik meestal:
1
2
3
4
<?php
$obj_Template
->replace'hoi''test' );
$obj_Template->replace'test''hoi' );
?>

En stop daar dus geen arrays in (ook al zou het kunnen).

Iemand vroeg nog om een voorbeeld template. Klik hier. Verder is dit ding nog niet met access control modifiers. Die zal ik er even inzetten.

Ik zal de hungarian prefixes er ook wel uithalen, is iets wat ik normaal gesproken voornamelijk voor mezelf gebruik omdat ik dan duidelijk maak wat ik opsla in een variabele Zelf ben ik het er niet mee eens dat het bad coding practice is. Het is pas bad coding practice als je er een gevoel van veiligheid aan gaat verbinden. Dat gaat in PHP namelijk niet op. Ik zet ze er alleen in zodat ik meteen weet wat er in een bepaalde variabele hoort te zitten.

En de hele code aanvallen als je van int naar double gaat is ook niet zo lastig met een regular expression in VIM.

Overigens heb ik dat template ding even gerecode met alle opmerkingen van hierboven meegenomen.

[ Bericht 4% gewijzigd door colourAgga op 17-12-2007 15:38:08 ]
pi_55338686
quote:
Op maandag 17 december 2007 00:13 schreef Geqxon het volgende:
Weet iemand hoe ik alle 7 dagen van een bepaald weeknummer en jaartal kan verkrijgen?

Ik gebruik op het moment het volgende stukje code:
[ code verwijderd ]

Het punt is echter dat deze natuurlijk niet werkt tijdens de jaarwisseling. Iemand?
Deze is simpel aan te passen :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function WeekCheck($date , $gid = ""){
    # huidige dag
    $currentDay = date ("w", $date);
   
    # om te beginnen wil ik de eerste dag van de week eruit halen (maandag)
    $monday = date("d", $date) - ($currentDay - 1);
    
    # maken van een array met daarin dagen en data van de huidige week (m tm f)
    for ($i=0; $i < 5; $i++){
        $day = mktime(0,0,0,date("m", $date),($monday + $i),date("y", $date));
        $week[$i] = date("d-m-Y", $day); 
    }
    
    return $week;
}
?>
pi_55341694
quote:
Op maandag 17 december 2007 15:27 schreef colourAgga het volgende:
Ik zal de hungarian prefixes er ook wel uithalen, is iets wat ik normaal gesproken voornamelijk voor mezelf gebruik omdat ik dan duidelijk maak wat ik opsla in een variabele Zelf ben ik het er niet mee eens dat het bad coding practice is. Het is pas bad coding practice als je er een gevoel van veiligheid aan gaat verbinden.
Mijn opmerking over bad coding practice ging neit over hungarian prefixes maar over de method replace() waarbij de betekenis van de 2e parameter sterk af hangt van de 3e parameter: de content zelf of de naam van een bestand waar de content in staat.

Waarom gebruik je eigenlijk "if( $clean == true )"? Wat is er mis met "if( $clean )"? Klopt je clean() functie wel?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_55346651
De replacement is of een tekst of de tekst uit een bestand. In dat geval wordt de replacement dus het bestand. Ik snap wat je bedoelt en hij zou ook in een losse functie kunnen. Ik vind hem daar lekkerder staan.

De clean() functie doet het, niets meer en niets minder dan newlines en dubbele spaties strippen Omdat ik een $clean == true duidelijker vindt dan een ( $clean ). Persoonlijke voorkeur die bij iedereen anders is. Heel veel mensen zouden ook directory of configuration afkorten. Dingen die ik persoonlijk ook nooit doe.
pi_55355905
quote:
Op maandag 17 december 2007 21:44 schreef colourAgga het volgende:

De clean() functie doet het, niets meer en niets minder dan newlines en dubbele spaties strippen Omdat ik een $clean == true duidelijker vindt dan een ( $clean ). Persoonlijke voorkeur die bij iedereen anders is.
Yep, we zijn allemaal anders. En da's maar goed ook. Bij vergelijken met een constante zou ik trouwens true == $clean schrijven, dan gaat php vanzelf zeuren als je een = vergeet. Het voorkomt vaag gedrag.
pi_55356158
quote:
Op dinsdag 18 december 2007 10:46 schreef Light het volgende:

[..]

Yep, we zijn allemaal anders. En da's maar goed ook. Bij vergelijken met een constante zou ik trouwens true == $clean schrijven, dan gaat php vanzelf zeuren als je een = vergeet. Het voorkomt vaag gedrag.
Das wel een goede tip. Ik ben zelf overigens gewend geraakt aan perl ranzigheid als "doSomething() unless $test;" of nog erger: "$test or doSomething();"
pi_55357138
Vies programmeren

Net zoals ik soms als debugging ergens " if (isset($thisvarisprobarlyneverused)) " doe, wat prima ging, tot mijn collega voor de grap eens een variabele met exact deze naam had geinit. Lul
pi_55359620
quote:
Op maandag 17 december 2007 21:44 schreef colourAgga het volgende:
De clean() functie doet het, niets meer en niets minder dan newlines en dubbele spaties strippen
Als er tussen 2 woorden eerst een regeleinde of 2 spaties staan dan staan ze daarna opeens aan elkaar vast. Lijkt me niet handig.
quote:
Omdat ik een $clean == true duidelijker vindt dan een ( $clean ). Persoonlijke voorkeur die bij iedereen anders is.
Overbodig en dus lelijk vind ik
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_55359637
quote:
Op dinsdag 18 december 2007 10:58 schreef Farenji het volgende:

[..]

Das wel een goede tip. Ik ben zelf overigens gewend geraakt aan perl ranzigheid als "doSomething() unless $test;" of nog erger: "$test or doSomething();"
Dat kan in php ook, doSomething() or die()
Zelfde constructie, zelfde idee.
pi_55360754
Ik gebruik eigenlijk ook wel regelmatig false == $var. Vind ik er eigenlijk stiekem zelfs mooier eruit zien maar ik had het expres niet gedaan omdat het script dan weer 'onlogisch' is voor iemand die net PHP kijkt
pi_55361828
Maak er dan true == (false == $var) van
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_55362580
quote:
Op dinsdag 18 december 2007 14:48 schreef SuperRembo het volgende:
Maak er dan true == (false == $var) van
Daar zou je dan weer wel een functie voor kunnen schrijven
true_false_var() ofzo, duidelijk wat die doet toch?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')