Ja, of een modulair concept, waarbij de ene klant de 'ideal betaling' module wel wil en de ander nietquote:Op dinsdag 20 juni 2006 22:43 schreef JeRa het volgende:
Oh, en OOP is ook heel erg handig als je bijvoorbeeld een applicatie met ondersteuning voor plugins beheert. Dan kun je een interface schrijven en dan kunnen anderen die interface implementeren en een plugin vlekkeloos in je applicatie verwerken
Nee, maar wat je zoekt is waarschijnlijk een interface, zie daarvoor de manualquote:Op dinsdag 20 juni 2006 22:57 schreef Tijn het volgende:
Kun je ook je object scheiden in een header-file waarin alleen definities staan en een file met de daadwerkelijke implementatie?
quote:Police officer: "...and we want you to interface with the local gay community."
Daffyd: "Ah I'm not really interface, I'm more into bum."
Hmm...quote:Op dinsdag 20 juni 2006 23:01 schreef JeRa het volgende:
[..]
Nee, maar wat je zoekt is waarschijnlijk een interface, zie daarvoor de manual
ja, dat klinkt inderdaad wel wat ik wil. Bedankt! Even lezenquote:Object interfaces allow you to create code which specifies which methods a class must implement, without having to define how these methods are handled.
Ik zou de interface in een apart bestand zetten, en in de classes gebruik maken van __autoload (of er zeker van zijn dat de interface op het begin van een mainscript wordt geincludet).quote:Op dinsdag 20 juni 2006 23:01 schreef Tijn het volgende:
Ah, dit heel goed. Wat is de netste manier om dit in m'n files te zetten? Zou ik de interface en de klasse in losse files moeten zetten, de klasse moeten includen in de file die het object wil gebruiken en de interface includen in de klasse? Of Kan ik net zo goed de interface en klasse in 1 file zetten en alleen deze includen vanuit de file die het object wil gebruiken?
Wow, coole feature! Dat ga ik dan zeker gebruikenquote:
Off topic: ik weet uit ervaring dat er genoeg mogelijkheden zijn voor mensen zonder kennis van techniek (die dat zelf niet toe willen geven) die werken op managementniveau in de webdevelopment business. Er is hoopquote:Op dinsdag 20 juni 2006 22:43 schreef Swetsenegger het volgende:
En dat kan me opbreken op een gegeven moment, ook in een management functie mbt webdevelopment welke kant ik uiteindelijk toch graag op wil.
1 2 3 4 5 6 7 8 9 10 11 | if ($name = strstr ($HTTP_USER_AGENT, "MSIE")) { echo '<iframe class="iframe" name="freem" src="home.html" id="freem" ALLOWTRANSPARENCY>'; } else { echo '<iframe class="iframe" name="freem" src="home.html" id="freem">'; } ?> |
Heel erg bedanktquote:Op woensdag 21 juni 2006 00:07 schreef JeRa het volgende:
@Sitethief
Als register_globals op Off staat werkt $HTTP_USER_AGENT niet. Beter gebruik je $_SERVER, dus $_SERVER['HTTP_USER_AGENT'].
Je kunt zo zeker weten welke methodes en variabelen een class moet implementeren zonder vast te leggen hóe ze die methodes implementeren. De applicatiecore hoeft alleen te weten dat een class een interface implementeert om zeker te weten dat het bepaalde methodes en/of variabelen kan aansprekenquote:Op woensdag 21 juni 2006 00:50 schreef fokME2 het volgende:
Ik snap nou niet precies waarom ik zo'n interface zou gebruiken?
Waarvoor is dat handig?
Een van de meest gebruikte voor PHP is http://www.phpdoc.org/quote:Op woensdag 21 juni 2006 01:33 schreef Tijn het volgende:
Woah. Dat is ook erg cool. Ik wist helemaal niet dat er tools waren om automatisch documentatie te genererenToevallig heb ik vorige week documentatie zitten tikken voor een schoolproject wat ik had gedaan en dit had me een hoop werk gescheeld
![]()
Er gaat een wereld voor me open vanavond, mensen
Die zijn er, op de voorwaarde dat je bijna net zoveel tijd aan je comments als aan je code besteedtquote:Op woensdag 21 juni 2006 01:33 schreef Tijn het volgende:
Woah. Dat is ook erg cool. Ik wist helemaal niet dat er tools waren om automatisch documentatie te genereren
Dat weet ik, dat doe ik nu al aan de hardware kantquote:Op dinsdag 20 juni 2006 23:42 schreef CraZaay het volgende:
[..]
Off topic: ik weet uit ervaring dat er genoeg mogelijkheden zijn voor mensen zonder kennis van techniek (die dat zelf niet toe willen geven) die werken op managementniveau in de webdevelopment business. Er is hoop
hangt er af wat van form het is:quote:Op woensdag 21 juni 2006 10:25 schreef liar het volgende:
Weet iemand misschien een goede anti-spam mogelijkheid voor forms?
Ik heb die image validation met CAPTCHA dingen geprobeerd, maar dat is vaak voor GD2.0 en dat kan mijn server niet aan (die heeftwel GD, maar 1 ofzo denk ik)..
http://www.noipo.org/index.php?id=278quote:Op woensdag 21 juni 2006 10:25 schreef liar het volgende:
Weet iemand misschien een goede anti-spam mogelijkheid voor forms?
Ik heb die image validation met CAPTCHA dingen geprobeerd, maar dat is vaak voor GD2.0 en dat kan mijn server niet aan (die heeftwel GD, maar 1 ofzo denk ik)..
Vraagje toevoegen:quote:Op donderdag 22 juni 2006 08:59 schreef liar het volgende:
nou: dat spambots er niet op kunnen posten (voor contact en gbook form)
je hebt van die image validation scripts, maar die lijken niet echt te werken bij mij
heeft iemand een ander idee?
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 | function submit_value($value){ $query="INSERT into TABLE (id,value) VALUES(0,'".$value."')"; if(mysql_query($query)){ return true; }else{ return false; } } $value=0; //Laatste record uit de db $value++; if(submit_value($value)){ //header }else{ /** * recursie * maar dit wordt in deze opzet WEER * if(submit_value($value)){ etc * wat natuurlijk niet werkbaar is */ } ?> |
Ja, maar hoequote:Op donderdag 22 juni 2006 20:51 schreef JeRa het volgende:
@Swetsenegger
Je moet de recursie-aanroep in de functie zelf laten plaatsvinden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function submit_value($value){ $value++; $query="INSERT into TABLE (id,value) VALUES(0,'".$value."')"; if(mysql_query($query)){ return $value; }else{ submit_value($value); } } $value=0; //Laatste record uit de db $value=submit_value($value); //header ?> |
Voor het toewijzen van een Product Identifierquote:[offtopic]
Mag ik vragen waar je dit in hemelsnaam voor nodig hebt?![]()
Ik laat het je zelf uitzoeken aan de hand van deze recursieve manier om een facultatieve waarde te berekenenquote:Op donderdag 22 juni 2006 21:02 schreef Swetsenegger het volgende:
[..]
Ja, maar hoe![]()
Dan moet ik dus op de een of andere manier ook value weer returnen omdat die global moet zijn
1 2 3 4 5 6 7 8 | { if ($v < 2) { return 1; } else { return fact($v - 1) * $v; } } |
En AUTO_INCREMENT voldoet niet, of MAX() en table locks gebruiken?quote:[..]
Voor het toewijzen van een Product Identifier
En dat begint handmatig wat problematisch te worden.
Nee, want er staan dus al enkele tientallen values in die ik onder geen beding mag gebruiken.quote:Op donderdag 22 juni 2006 21:05 schreef JeRa het volgende:
En AUTO_INCREMENT voldoet niet, of MAX() en table locks gebruiken?
Ik zou dan overigens niet voor de recursieve manier gaan, maar voor een andere, lineaire aanpak. Je kunt bijvoorbeeld met COUNT() en IS BETWEEN bepalen hoeveel id's er in bepaalde ranges liggen (om er zeker van te zijn of er vrije identifiers zijn) en met MAX() de maximale waarde een identifier in alle id's of binnen een range bepalen.quote:Op donderdag 22 juni 2006 21:07 schreef Swetsenegger het volgende:
[..]
Nee, want er staan dus al enkele tientallen values in die ik onder geen beding mag gebruiken.
Want?quote:Op donderdag 22 juni 2006 21:09 schreef JeRa het volgende:
[..]
Ik zou dan overigens niet voor de recursieve manier gaan, maar voor een andere, lineaire aanpak. Je kunt bijvoorbeeld met COUNT() en IS BETWEEN bepalen hoeveel id's er in bepaalde ranges liggen (om er zeker van te zijn of er vrije identifiers zijn) en met MAX() de maximale waarde een identifier in alle id's of binnen een range bepalen.
Recursieve aanroepen nemen veel stack geheugen in beslag. En die is niet zo heel groot; het is volgens mij ook één van de weinige manieren om PHP goed te laten crashenquote:Op donderdag 22 juni 2006 21:11 schreef Swetsenegger het volgende:
[..]
Want?
Voor performance hoef je het niet te doen, want er komt max 50 keer per jaar een nieuw record in
1 2 3 4 5 6 7 8 9 10 | function aargh() { aargh(); } aargh(); ?> |
1 2 | Segmentation fault |
Mjah, maar ik bouw geen infinite loopquote:Op donderdag 22 juni 2006 21:14 schreef JeRa het volgende:
[..]
Recursieve aanroepen nemen veel stack geheugen in beslag. En die is niet zo heel groot; het is volgens mij ook één van de weinige manieren om PHP goed te laten crasheneen lineaire aanpak neemt over het algemeen ook een constante hoeveelheid geheugen in beslag.
edit:
[ code verwijderd ]
[ code verwijderd ]
Er zijn op dit moment max 7 records om doorheen te loopen. Maar hoe is dat over een jaar, als er 50 of 100 records bijgezet zijn?quote:Op donderdag 22 juni 2006 21:40 schreef Swetsenegger het volgende:
[..]
Mjah, maar ik bouw geen infinite loopen er zijn max 7 records achter elkaar waar ik recursief doorheen moet loopen. Maar inderdaad goed om aan te denken.
vanaf heden tel ik gewoon vanaf 1 op hequote:Op donderdag 22 juni 2006 22:08 schreef Light het volgende:
[..]
Er zijn op dit moment max 7 records om doorheen te loopen. Maar hoe is dat over een jaar, als er 50 of 100 records bijgezet zijn?
1 2 3 4 5 6 7 8 9 10 11 | 9 10 11 12 2 3 4 5 7 6 |
1 2 3 4 | SELECT MAX(id) AS max_id FROM tabel INSERT INTO tabel (id) VALUES (max_id + 1) UNLOCK TABLES |
Een AUTO_INCREMENT kun je instellen op een beginwaarde. Als je die zet op de hoogste waarde aanwezig + 1, krijg je altijd unieke waardes.quote:Op donderdag 22 juni 2006 21:07 schreef Swetsenegger het volgende:
[..]
Nee, want er staan dus al enkele tientallen values in die ik onder geen beding mag gebruiken.
Een PID bestaat niet alleen uit een cijfer, dus het is iets ingewikkelder als hier geschetst. Maar ik had die recursieve functie nodigquote:Op donderdag 22 juni 2006 22:19 schreef JeRa het volgende:
@Swetsenegger
Waarom niet dit:
SELECT MAX(id) AS max_id FROM tabel
INSERT INTO tabel (id) VALUES (max_id + 1)
Ook dat gaat niet, want dan loop ik al bijna over de maximaal mogelijke PID heen.quote:Op donderdag 22 juni 2006 22:20 schreef JeRa het volgende:
[..]
Een AUTO_INCREMENT kun je instellen op een beginwaarde. Als je die zet op de hoogste waarde aanwezig + 1, krijg je altijd unieke waardes.
1 2 3 4 5 6 7 8 9 10 11 | $sock = socket_create(AF_INET,SOCK_STREAM,0)or die("could not create socket ".socket_strerror(socket_last_error())); $con = socket_connect($sock, "pop.hccnet.nl", "110") or die("could not connect socket ".socket_strerror(socket_last_error())); socket_write($sock,"user ******"); socket_write($sock,"pass ******"); socket_write($sock,"Retr 2"); echo(socket_read($sock,10000)); socket_write($sock,"quit"); ?> |
hmm imap_open werkt idd "iets" efficenterquote:Op vrijdag 23 juni 2006 13:42 schreef fokME2 het volgende:
@mschol:
Ik ben daar ook een tijdje meet bezig geweest. Heb het toen gedaan met imap_open. Werkt ook met pop3 naar mijn weten.
/ssl werkt ook niet /notls ook nietquote:Warning: imap_open(): Couldn't open stream {pop.hccnet.nl:110/novalidate-cert} in d:\www\mail.php on line 5
Can't open mailbox {pop.hccnet.nl:110/novalidate-cert}: invalid remote specification
1 2 3 4 5 | require_once("CGraph.php"); $grafiek = new Graph(); $grafiek->test(); |
1 2 3 4 5 6 7 8 9 | { public function test() { $image = imagecreatetruecolor(500, 500); $output = imagepng($image); return $output; } } |
1 |
Cursi zijn er genoeg te vinden, ikzelf heb het geleerd door veel scripts te bekijken en veel zelf uit te proberen. Je vind in de OP wel wat materiaal om ermee te beginnenquote:Op vrijdag 23 juni 2006 20:30 schreef Koewam het volgende:
Hoi
Ik wil beginnen met PHP schrijven. Dus niet kopieeren plakken en zo, maar echt zelf maken. Waar kun je dat snel leren? Of een cursusje downloaden?
Doet ie wel iets als je een echo 'blaat' in je test()-methode zet? Je naam voor de $output-variabele is een beetje ongelukkig gekozen, uit imagepng() komt namelijk een boolean die true is als het gelukt is om een plaatje te maken, niet de daadwerkelijke output. Het plaatje wordt namelijk rechtstreeks naar de stdout geschrevenquote:Op vrijdag 23 juni 2006 21:09 schreef Tijn het volgende:
Ik ben een object aan het maken die een grafiek output. Op zich lijkt het te werken (geen errors of warnings), maar het daadwerkelijke plaatje blijft uit. Ik heb m'n object daarom een test-methode gegeven en zelfs daar komt geen plaatje uit.
showGraph.php:
[ code verwijderd ]
CGraph.php:
[ code verwijderd ]
Als ik naar showGraph.php ga, verwacht ik een zwart vierkantje van 500 bij 500 pixels, maar ik zie niets. Wat doe ik fout?
ik heb et geleerd juist door te knippen + plakken en dinegn aan te passen.quote:Op vrijdag 23 juni 2006 20:30 schreef Koewam het volgende:
Hoi
Ik wil beginnen met PHP schrijven. Dus niet kopieeren plakken en zo, maar echt zelf maken. Waar kun je dat snel leren? Of een cursusje downloaden?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |