abonnement Unibet Coolblue Bitvavo
  woensdag 12 december 2007 @ 11:51:54 #201
107951 JortK
Immer kwaliteitsposts
pi_55213107
quote:
Op woensdag 12 december 2007 11:39 schreef SharQueDo het volgende:

[..]

Wat verwacht je van Ice7? Wat verwacht je te testen en te kunnen zien?
Ik verwacht een framework waarmee ik makkelijk een omgeving op kan zetten blocks en modules die ik zelf wil
  woensdag 12 december 2007 @ 11:59:49 #202
68576 eleusis
fokked op kidz
pi_55213331
Heheheh
Ik in een aantal worden omschreven: Ondernemend | Moedig | Stout | Lief | Positief | Intuïtief | Communicatief | Humor | Creatief | Spontaan | Open | Sociaal | Vrolijk | Organisator | Pro-actief | Meedenkend | Levensgenieter | Spiritueel
  woensdag 12 december 2007 @ 16:29:47 #203
136730 PiRANiA
All thinking men are atheists.
pi_55220325
Ik gebruik eigenlijk altijd PHP icm MySQL,
JAVA zou ik ook wel willen kunnen...

verder:
HTML, CSS2, JavaScript en ik kan nog een aantal talen lezen...
pi_55220703
Jammer dat niemand verder in perl programmeert... alleen maar dat php
pi_55220778
Perl? Wat is dat?

Ook jammer dat niemand meer in QBasic programmeert.

edit: Nu ik het zeg, ik was een tijdje geleden nog bezig met een '3d-engine' in qbasic. Eerder gewoon een paar polygoontjes tekenen met rotation en scaling en crap, maar het werkte wel. 14.gif

[ Bericht 22% gewijzigd door SharQueDo op 12-12-2007 16:52:35 ]
  woensdag 12 december 2007 @ 16:59:23 #206
51748 H4ze
wait...what?
pi_55221116
quote:
Op woensdag 12 december 2007 16:44 schreef Farenji het volgende:
Jammer dat niemand verder in perl programmeert... alleen maar dat php
People Hate Perl



Kan je me misschien de voordelen van Perl tov PHP vertellen? Is Perl volwassener wat OOP betreft?
*BURP*
pi_55221417
quote:
Op woensdag 12 december 2007 16:47 schreef SharQueDo het volgende:
Perl? Wat is dat?

Ook jammer dat niemand meer in QBasic programmeert.
Het is duidelijk dat je niet weet wat perl is anders had je het niet met zo'n mank vooroorlogs speelgoedtaaltje als QBasic vergeleken. Laat ik het je daarom maar vergeven.
pi_55221778
quote:
Op woensdag 12 december 2007 16:59 schreef H4ze het volgende:

[..]

People Hate Perl



Kan je me misschien de voordelen van Perl tov PHP vertellen? Is Perl volwassener wat OOP betreft?
PHP is een samenraapseltje... alle functies in 1 namespace... inconsequente functiebenamingen, inconsequente argumenten, het is traag, moeilijk uitbreidbaar, en het nodigt uit tot lelijk programmeren.

Perl is veel consistenter en consequenter, veel volwassener, en ontzettend uitbreidbaar dmv de CPAN repository waar je alles wat je wil kan vinden, en meer. Nieuwe modules installeren is supermakkelijk - vergelijkbaar met iets als apt-get van debian als je dat kent.

Het idee dat perl ouderwets en traag is klopt gewoon niet - CGI was traag maar met de komst van mod_perl voor apache is het bloedsnel geworden, want gecompileerd en stateful. Je script hoeft dus niet elke keer opnieuw gecompileerd te worden, dit hoeft alleen de eerste keer dat je het runt.

Ik zal niet zeggen dat je in perl niet lelijk kan programmeren (want oh wat kan je er een onbegrijpelijke bagger mee maken als je wil) maar je wordt wel meer gedwongen zaken meer te structureren. Bovendien kun je alles met perl, het is veel krachtiger dan php, ook omdat het niet beperkt tot webdevelopment is. Je kan er volledige GUI applicaties mee maken inclusief 3d graphics.

Wat betreft OO vind ik perl ontzettend elegant - en heel intuitief zodra je die elegantie inziet. Bij php is de OO er later een beetje bijgehacked. Dat zie je nog terug aan het schrijnende gebrek aan OO benadering in alle functies van PHP.
  woensdag 12 december 2007 @ 17:37:02 #209
136730 PiRANiA
All thinking men are atheists.
pi_55222037
quote:
Op woensdag 12 december 2007 17:25 schreef Farenji het volgende:

[..]

PHP is een samenraapseltje... alle functies in 1 namespace... inconsequente functiebenamingen, inconsequente argumenten, het is traag, moeilijk uitbreidbaar, en het nodigt uit tot lelijk programmeren.

Perl is veel consistenter en consequenter, veel volwassener, en ontzettend uitbreidbaar dmv de CPAN repository waar je alles wat je wil kan vinden, en meer. Nieuwe modules installeren is supermakkelijk - vergelijkbaar met iets als apt-get van debian als je dat kent.

Het idee dat perl ouderwets en traag is klopt gewoon niet - CGI was traag maar met de komst van mod_perl voor apache is het bloedsnel geworden, want gecompileerd en stateful. Je script hoeft dus niet elke keer opnieuw gecompileerd te worden, dit hoeft alleen de eerste keer dat je het runt.

Ik zal niet zeggen dat je in perl niet lelijk kan programmeren (want oh wat kan je er een onbegrijpelijke bagger mee maken als je wil) maar je wordt wel meer gedwongen zaken meer te structureren. Bovendien kun je alles met perl, het is veel krachtiger dan php, ook omdat het niet beperkt tot webdevelopment is. Je kan er volledige GUI applicaties mee maken inclusief 3d graphics.

Wat betreft OO vind ik perl ontzettend elegant - en heel intuitief zodra je die elegantie inziet. Bij php is de OO er later een beetje bijgehacked. Dat zie je nog terug aan het schrijnende gebrek aan OO benadering in alle functies van PHP.
kan je eens een stukje plakken hier?

het klinkt wel tof...
  woensdag 12 december 2007 @ 17:44:13 #210
51748 H4ze
wait...what?
pi_55222150
quote:
Op woensdag 12 december 2007 17:25 schreef Farenji het volgende:

[..]

PHP is een samenraapseltje... alle functies in 1 namespace... inconsequente functiebenamingen, inconsequente argumenten, het is traag, moeilijk uitbreidbaar, en het nodigt uit tot lelijk programmeren.

Perl is veel consistenter en consequenter, veel volwassener, en ontzettend uitbreidbaar dmv de CPAN repository waar je alles wat je wil kan vinden, en meer. Nieuwe modules installeren is supermakkelijk - vergelijkbaar met iets als apt-get van debian als je dat kent.

Het idee dat perl ouderwets en traag is klopt gewoon niet - CGI was traag maar met de komst van mod_perl voor apache is het bloedsnel geworden, want gecompileerd en stateful. Je script hoeft dus niet elke keer opnieuw gecompileerd te worden, dit hoeft alleen de eerste keer dat je het runt.

Ik zal niet zeggen dat je in perl niet lelijk kan programmeren (want oh wat kan je er een onbegrijpelijke bagger mee maken als je wil) maar je wordt wel meer gedwongen zaken meer te structureren. Bovendien kun je alles met perl, het is veel krachtiger dan php, ook omdat het niet beperkt tot webdevelopment is. Je kan er volledige GUI applicaties mee maken inclusief 3d graphics.

Wat betreft OO vind ik perl ontzettend elegant - en heel intuitief zodra je die elegantie inziet. Bij php is de OO er later een beetje bijgehacked. Dat zie je nog terug aan het schrijnende gebrek aan OO benadering in alle functies van PHP.
Oke duidelijk Ben het grotendeels met je eens (als ik de vergelijking met Java dan trek, ik heb verder geen ervaring met Perl).

Zodra ik echter uitgebreidere webapplicaties zou moeten bouwen, zou ik grijpen naar Java

Anders gebruik ik PHP, waar je wel degelijk netjes en veilig in kunt scripten (beginners schrijven wel vaak ontiegelijk kutte code).
*BURP*
pi_55222927
PHP is makkelijker en trekt daardoor veel onkundige hobbyisten aan, maar is bij verre niet incapabel te noemen. 'Lelijk programmeren' kun je net zo goed in Java, ASP, Perl of welke andere taal dan ook. Net zo goed als dat je wel netjes en object georiënteerd kunt programmeren in PHP.
  woensdag 12 december 2007 @ 19:18:13 #212
68576 eleusis
fokked op kidz
pi_55224779
quote:
Op woensdag 12 december 2007 17:37 schreef PiRANiA het volgende:

[..]

kan je eens een stukje plakken hier?
Ik plak een paar regels uit de eerste perl file die ik zie.

$VERSION =~ s/^\$.*:\W(.*)\W.+?$/$1/;

$Text =~ s/\%(s|d)/$Dyn[$_]/;

$ReturnString =~ s{(\%A)}{$Self->Get($DAYS[$wd]);}egx;

Eigenlijk kan je gewoon random met kracht op je toetsenbord rammen, het resultaat is vrijwel altijd valide perl.
Ik in een aantal worden omschreven: Ondernemend | Moedig | Stout | Lief | Positief | Intuïtief | Communicatief | Humor | Creatief | Spontaan | Open | Sociaal | Vrolijk | Organisator | Pro-actief | Meedenkend | Levensgenieter | Spiritueel
  woensdag 12 december 2007 @ 19:29:57 #213
136730 PiRANiA
All thinking men are atheists.
pi_55225115
quote:
Op woensdag 12 december 2007 19:18 schreef soylent het volgende:

[..]

Ik plak een paar regels uit de eerste perl file die ik zie.

$VERSION =~ s/^\$.*:\W(.*)\W.+?$/$1/;

$Text =~ s/\%(s|d)/$Dyn[$_]/;

$ReturnString =~ s{(\%A)}{$Self->Get($DAYS[$wd]);}egx;

Eigenlijk kan je gewoon random met kracht op je toetsenbord rammen, het resultaat is vrijwel altijd valide perl.
Zo ziet het er idd uit..
pi_55225297
quote:
Op woensdag 12 december 2007 17:25 schreef Farenji het volgende:

[..]

PHP is een samenraapseltje... alle functies in 1 namespace... inconsequente functiebenamingen, inconsequente argumenten, het is traag, moeilijk uitbreidbaar, en het nodigt uit tot lelijk programmeren.

....

Wat betreft OO vind ik perl ontzettend elegant - en heel intuitief zodra je die elegantie inziet. Bij php is de OO er later een beetje bijgehacked. Dat zie je nog terug aan het schrijnende gebrek aan OO benadering in alle functies van PHP.
Ik ben het helemaal met je eens, alleen heb ik het met Java versus PHP. In Java word je geforceerd om richting perfectionisme te programmeren, in PHP kun je doen en laten wat je wilt. Ik zie vaak mensen in PHP een class als functie-verzameling gebruiken..... dat leer je in Java wel af.
pi_55226448
Ach, PHP dwingt je dan wel niet om heel netjes en OO te programmeren, maar uiteindelijk ligt dat allemaal aan de programmeur.. Ik zelf gebruik PHP 100% OO, met een 4-lagen model, de nodige design patterns.. Als je dat netjes toepast kun je nette applicaties in PHP maken.
Helaas verpesten de l33te hobbyistjes het imago een beetje imo..

Maargoed, ik hoop bijvoorbeeld dat PHP in de toekomst strong typed word en tot op het bot OO-compatible word, maar dat is wishful thinking denk ik

Overigens prog ik het volgende:
Werk: PHP(5)+MySQL, (+ JavaScript, HTML, CSS)
School: Java SE, Java ME, C# 2.0, soms wat andere meuk zoals PHP en VBA
Privé: Java SE, C# 2.0, PHP
  woensdag 12 december 2007 @ 20:23:35 #216
51748 H4ze
wait...what?
pi_55226596
quote:
Op woensdag 12 december 2007 19:36 schreef Geqxon het volgende:

[..]

Ik ben het helemaal met je eens, alleen heb ik het met Java versus PHP. In Java word je geforceerd om richting perfectionisme te programmeren, in PHP kun je doen en laten wat je wilt. Ik zie vaak mensen in PHP een class als functie-verzameling gebruiken..... dat leer je in Java wel af.
Exact.
*BURP*
pi_55228402
quote:
Op woensdag 12 december 2007 16:44 schreef Farenji het volgende:
Jammer dat niemand verder in perl programmeert... alleen maar dat php
omdat perl een VEEELS te hoge learningcurve heeft misschien wel?
en voor de gemiddelde webdeveloper geen voordeel heeft?
pi_55234073
quote:
Op woensdag 12 december 2007 17:37 schreef PiRANiA het volgende:

[..]

kan je eens een stukje plakken hier?

het klinkt wel tof...
Een stukje posten? Ik weet niet of het veel zegt als je geen perl kent, het kan misschien nogal obscuur overkomen maar als je er een beetje ervaring mee hebt is het heel helder. Hier is bijvoorbeeld de User class van een applicatie die ik onlangs heb ontwikkeld. Deze zorgt oa voor authenticatie, opslaan van user session variables en laden/opslaan van usergegevens in de database. Ik heb oa voor de database, configuratie, sessie en taalondersteuning afzonderlijke classes gemaakt. Dit zijn universeel inzetbare modules die ik in vrijwel elke applicatie kan hergebruiken. Voor het meerendeel van deze classes val ik terug op bestaande perl modules (CGI, CGI::Session, DBI) waarvan ik vaak een eigen implementatie heb gemaakt die alle properties en methods overerven dmv OO. Zoals je kan zien heeft het wel wat weg van php (of eigenlijk andersom: php heeft wel wat weg van perl). Alleen dan is perl gewoon veel mooier. ;)
Het OO gedeelte is misschien wat ondoorzichtig voor de leek maar als je daar meer over wil weten moet je maar even googlen ofzo. :P


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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
package User;

use strict;
use Session;
use Language;
use Database;
use Configuration;
use Request;
use Digest::SHA1 qw(sha1_base64);
use Data::Dumper;


sub new {

   my $classname = shift;

   my $user = {
      ID            => 0,
      username      => '',
      password      => '',
      name         => '',
      email         => '',
      request         => Request->new(),
      @_
   };
   
   my $session = Session->new(
      request      => $user->{request},
   );
   
   $user->{session} = $session;

   bless $user, $classname;
   
   return $user;
   
}

sub getByID {
   my $self = shift;
   my ($ID) = @_;

   my $dbh = Database->instance();
   my $sth = $dbh->prepare('select ID, username, name, email, userlevel, languageID from users where ID = ?;');
   
   $sth->execute($ID);
   my $user = User->new();
   
   if (my $ref = $sth->fetchrow_hashref()) {
      $user->{session}->param( 
         authenticated    => 1,
         ID            => $ref->{ID},
         userlevel      => $ref->{userlevel},
         username      => $ref->{username},
         name         => $ref->{name},
         email         => $ref->{email},
         languageID      => $ref->{languageID}, 
      );

      $user->fillFromHash($ref);
      $user->setLanguage($ref->{languageID});
      return $user;
   }
      
}

sub reload {
   my $self = shift;
   
   if ($self->{ID}) {
      $self = $self->getByID($self->{ID});
   }
   return $self;   
}

sub getLanguageID {
   my $self = shift;

   my $languageID = $self->{session}->param('languageID') ? $self->{session}->param('languageID') : Language->defaultID();

   return $languageID;   
}

sub setLanguage {
   
   my $self = shift;
   my $config = Configuration->instance();
   
   my ($lang) = @_;

   if (my $language = Language->get($lang)) {
      $self->{session}->param( 
         languageID   => $language->{ID},
      );
      
   }
   # die $self->getLanguageID();

   if (my $referer = $self->{request}->referer()) {
      # $referer =~ s/language=[a-z0-9]*//gi;
      # die $referer;
      print $self->{request}->redirect($referer);   
   } else {
      print $self->{request}->redirect("http://" . $config->{site}->{domain} . $config->{site}->{script});   
   }      
   exit();   
}


sub authenticate {

   my $self = shift;
   
   my $args = {
      username   => '',
      password   => '',
      @_
   };
   
   if (!$args->{username} || !$args->{password}) {
      return 0;
   }
   
   my $passwordhash = sha1_base64($args->{password});
   
   my $dbh = Database->instance();
   my $sth = $dbh->prepare('select ID, username, name, email, userlevel, languageID from users where username = ? and passwordhash = ?;');
   
   $sth->execute($args->{username}, $passwordhash);
   
   if (my $ref = $sth->fetchrow_hashref()) {
      # user is authenticated, fill session
      $self->{session}->param( 
         authenticated    => 1,
         ID            => $ref->{ID},
         userlevel      => $ref->{userlevel},
         username      => $ref->{username},
         name         => $ref->{name},
         email         => $ref->{email},
         languageID      => $ref->{languageID}, 
      );

      $self->fillFromHash($ref);
      $self->setLanguage($ref->{languageID});
      return 1;
   } else {
      $self->{session}->param( authenticated    => 0 );
      return 0;
   }

}

sub changePassword {
   my $self = shift;
   return if (!$self->{ID});
   my ($password, $passwordConfirm) = @_;
   
   if ($password eq $passwordConfirm) {
      my $dbh = Database->instance();
      my $sth = $dbh->prepare("
         update users set passwordhash = ? where ID = ?;
      ");
      $sth->execute(sha1_base64($password), $self->{ID}) or die $sth->errstr;
      $self->logout();
      return 1;
   }
   
}

sub isAuthenticated {
   my $self = shift;
   return $self->{session}->param('authenticated');   
}

sub logout {
   my $self = shift;
   # just to be sure
   $self->{session}->param(
      'userlevel'         => 0,
      'authenticated'      => 0,
   );
   $self->{session}->delete();
      
}

sub getUserlevel {
   my $self = shift;
   my $userlevel = $self->{session}->param('userlevel') ? $self->{session}->param('userlevel') : 0; 
   return $userlevel;   
}

sub getUsername {
   my $self = shift;
   return $self->{session}->param('username');
}

sub getName {
   my $self = shift;
   return $self->{session}->param('name');
}

sub getEmail {
   my $self = shift;
   return $self->{session}->param('email');
}


sub fillFromHash {

   my $self = shift;
   
   my %userData = @_;

   foreach my $key (%userData) {
      $self->{$key} = $userData{$key};
   }
   
   return $self;
}

sub saveSession {
   # save al user vars to session
   my $self = shift;
   
   my $session = $self->{session};
   
   $session->param('ID', $self->{ID});
   $session->param('languageID', $self->{languageID});
   $session->param('username', $self->{username});
   $session->param('name', $self->{name});
   $session->param('email', $self->{email});
   $session->param('userlevel', $self->{userlevel});
      
}

sub getSession {
   # get al user vars from session
   my $self = shift;
   
   my $session = $self->{session};
   $self->{ID} = $session->param('ID');
   $self->{languageID} = $session->param('languageID');
   $self->{username} = $session->param('username');
   $self->{name} = $session->param('name');
   $self->{email} = $session->param('email');
   $self->{userlevel} = $session->param('userlevel');
   return $self;
   
}

sub isUnique {
   # is the username unique?
   my $self = shift;   
   my $dbh = Database->instance();
   my $sth = $dbh->prepare("
      select * from users where ID != ? and username = ?;
   ");
   $sth->execute($self->{ID}, $self->{username}) or die $sth->errstr;
   if ($sth->fetchrow_hashref) {
      return;
   } else {
      return 1;
   }
   
}

sub save {
   
   # save user vars to db
   my $self = shift;

   my $dbh = Database->instance();
   
   if ($self->{ID}) {
      # existing user, update
      my $sth = $dbh->prepare("
         update users set username = ?, name = ?, email = ?, userlevel = ? where ID = ?;
      ");
      
      $sth->execute(
            $self->{username},
            $self->{name},
            $self->{email},
            $self->{userlevel},
            $self->{ID}
         ) or die $sth->errstr;
   } else {
      # new user, insert
      my $sth = $dbh->prepare("
         insert into users (username, passwordhash, name, email, userlevel) values (?, ?, ?, ?, ?);
      ");

      $sth->execute(
            $self->{username},
            sha1_base64($self->{password}), 
            $self->{name},
            $self->{email},
            $self->{userlevel}
         ) or die $sth->errstr;
         
      $self->{ID} = $sth->{mysql_insertid};
      
   }
   $self->saveSession();
   return $self->{ID};
}

sub getSessionParam {
   
   my $self = shift;
   my ($param) = @_;
   
   return $self->{session}->param($param);
}

sub getSessionParams {
   
   my $self = shift;
   
   return $self->{session}->param_hashref();
}


sub setSessionParam {
   
   my $self = shift;
   
   my %params = @_;
   
   foreach my $key (keys %params) {
      $self->{session}->param($key, $params{$key});
   }
   
}

1;
pi_55234594
dat php wat wegheeft van perl is logisch.. maar perl mooier? niet echt...
ik ken perl code die best rommelig is (maar perfect werkt, drukke webwinkel) en php scripts die echt veel netter zijn dan dat... dus het is maar net je programmeerstijl
pi_55234784
quote:
Op donderdag 13 december 2007 00:58 schreef mschol het volgende:
dat php wat wegheeft van perl is logisch.. maar perl mooier? niet echt...
ik ken perl code die best rommelig is (maar perfect werkt, drukke webwinkel) en php scripts die echt veel netter zijn dan dat... dus het is maar net je programmeerstijl
Het geposte fragment is "net" in de zin dat de hele applicatie netjes het MVC model volgt - het is onderdeel van een ontzettend veel grotere applicatie die ik uiteraard niet ga posten omdat daar geen ruimte voor is op fok en ook omdat ik niet alles ga weggeven - mijn klant betaalt me goed voor het maken van deze applicatie.
Het kan vast nog netter maar het werkt atm perfect en doet wat het moet doen. Het mooie aan perl is dat er meer manieren zijn om hetzelfde te doen - "There Is More Than One Way To Do It" is het grote perl motto. Maar ik hou me aanbevolen wat betreft suggesties om het mooier te doen dan het nu is.

En wat betreft "mooi" - over smaak valt nauwelijks te twisten. Wel is het een feit dat als je eenmaal goed met perl bezig bent, je meestal niks anders meer wilt.
  donderdag 13 december 2007 @ 06:03:57 #221
51748 H4ze
wait...what?
pi_55235930
quote:
Op donderdag 13 december 2007 01:13 schreef Farenji het volgende:

[..]

Het geposte fragment is "net" in de zin dat de hele applicatie netjes het MVC model volgt
Er zijn voor PHP hele aardige frameworks en mbv deze frameworks kun je je webapps op een vrij simpele manier het MVC model laten volgen
*BURP*
pi_55237153
quote:
Op woensdag 12 december 2007 18:13 schreef Tuvai.net het volgende:
PHP is makkelijker en trekt daardoor veel onkundige hobbyisten aan, maar is bij verre niet incapabel te noemen. 'Lelijk programmeren' kun je net zo goed in Java, ASP, Perl of welke andere taal dan ook. Net zo goed als dat je wel netjes en object georiënteerd kunt programmeren in PHP.
Dat dus. Dat je in PHP de vrijheid hebt om te coden "zoals je wilt", betekent niet dat je daardoor niet netjes kan programmeren in PHP.
pi_55237648
Tuurlijk kun je netjes programmeren in php. Op zich staat niks in de weg van een nette mvc implementatie. Maar het feit dat je gewoon tussen je html php kan zetten (en je daardoor ook snel html tussen je php code gaat zetten) geeft me de gruwels. Het is zo erg dat 90% van de php programmeurs lijkt te denken dat dat zo hoort, en dat dat de manier is om te programmeren. Bah.
pi_55237933
En FOR CRYING OUT LOUD. Neem dit stukje code nou:

1
2
3
4
5
6
7
<?php
if ((string)"false" == (int)0) {
    echo 
"true";
} else {
    echo 
"false";
}
?>


Volgens php is de STRING "false" gelijk aan de INTEGER 0. :'( ;( |:(
  donderdag 13 december 2007 @ 10:03:02 #225
84926 WyriHaximus
Release the hounds smithers!
pi_55238078
quote:
Op donderdag 13 december 2007 09:54 schreef Farenji het volgende:
En FOR CRYING OUT LOUD. Neem dit stukje code nou:
[ code verwijderd ]

Volgens php is de STRING "false" gelijk aan de INTEGER 0.
lol dat is wel erg door geschoten ja ! (Daarnaast wie doet er dan ook zo een check of iets true or false is ...!)
phluphy for president!
pi_55238120
Ik heb me eigenlijk nooit gewaagd aan php... Ziet er ook totaal niet aantrekkelijk uit...
Ik kom nog uit de pascal en delphi tijd... Ik ken ook nog C, C++ en ben recentelijk bezig met een groot Java project. Ik moet zeggen dat Java echt een fijne gestructureerde pimp taal is ( ). Ben er heel blij mee iig...
All you know about me is what I've sold you, dumb fuck
pi_55238361
quote:
Op donderdag 13 december 2007 09:54 schreef Farenji het volgende:
En FOR CRYING OUT LOUD. Neem dit stukje code nou:
[ code verwijderd ]

Volgens php is de STRING "false" gelijk aan de INTEGER 0.
Dat je gewoon in het wilde weg variabelen kunt gebruiken, zonder ze te declareren als int, bool, wat dan ook, is inderdaad irritant. Dan krijg je niet alleen rare fratsen met statements en vergelijkingen zoals in jouw voorbeeldstukje, maar dan krijg je ook gevallen als een ongedeclareerde $var. Wat is $var? Is het een $_COOKIE['var']? Is het een $_POST['var']? Op het feit dat je toch gewoon ongedeclareerd $var kunt gebruiken gaan heel veel 'programmeurs' de mist in. Ongelooflijk veelvoorkomend beveiligingslek is zoiets ook.

Maar nogmaals, je kunt 't ook goed doen in PHP.
pi_55238782
Inderdaad erg jammer. Een voor mij veel gebruikte constructie om in Java een array / vector van buiten de class af te benaderen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public int getFileCount(){
   return files.size();
}

public UserFile getFile(int i){
   return files.geti;
}

public UserFile getFile(String s){
   for (int i = 0; i < files.size(); i++){
      if (files.geti.equals(s)){
         return files.geti;
      }
   }
}


Een constructie die met PHP imho onmogelijk is.
  maandag 17 december 2007 @ 15:17:40 #229
107951 JortK
Immer kwaliteitsposts
pi_55337724
Of allemaal zo druk met devven .
Ben op m'n werk nu druk bezig met een html2rtf converter (simpele), of iets in die richting .
pi_55338535
Ben nog steeds bezig met het ontwerp voor mijn "alles is een node binnen een tree" cms, maar dat is nog best lastig. Als zelfs nodetypes nodes zijn, en nodeattributen ook nodes zijn, dan moet je erg uitkijken voor eeuwige recursie! Maar wel leuk! Ik ben wat inspiratie aan het opdoen bij Everything Development wat hetzelfde basisidee heeft.
pi_55338600
ik ben op mijn stage nu bezig met het bouwen van een console handler die (je raadt het al) input in tekstformaat moet verwerken tot commando's eigenlijk het hart van mijn applicatie... Op zicht best een leuk karwei maar ik ben heel even het overzicht kwijt omdat ik vandaag ineens nieuwe specificaties van de applicatie kreeg... heel vervelend...

En als jullie je afvragen wat die handler precies aanstuurd, dan zal ik kort blijven, een NMR-sim.
All you know about me is what I've sold you, dumb fuck
  maandag 17 december 2007 @ 16:06:22 #233
193591 yorP
(Insert leuke tekst hier)
pi_55338683
Vandaag devven we ik EnergyWeb
Always remember you're unique, just like everyone else.
Kijk een signature! :D:D
pi_55338797
Ik ben nu meer bezig met onderzoek ivm usability dan met programmeren, heel verfrissend
Vooral omdat dat meer mijn studierichting was ipv programmeren.

Thuis ben ik bezig voor Fok! wat FO werkzaamheden af te ronden. Daarnaast geen programmeerdingetjes, misschien maar eens met flex/backbase enzo beginnen.
pi_55339495
Ice7 core herschreven en grotendeels gedocumenteerd, tevens benchmarking ingebouwd voor parsetijden. Ben nu bezig met modules overzetten cq optimaliseren, te bouwen en te documenteren.

[ Bericht 4% gewijzigd door SharQueDo op 17-12-2007 16:47:51 ]
  donderdag 27 december 2007 @ 22:44:12 #236
84926 WyriHaximus
Release the hounds smithers!
pi_55586671
Ben zelf trouwens met een class bezig die bij de combi Username, Email, URL van een comment een avatar bij de volgende sites zoekt: 'digg','twitter','blogcatalog','mybloglog','gravatar','default' (Zal hem later wel ff posten nu nog niet.) En nu vroeg ik me af wat volgens jullie nou sites zijn waar ik support voor moet toevoegen? Het is oorspronkelijk voor me blog comments bedoelt en wil het daar ook in de burt bij houden maar wil het in 1 keer goed uitgebreid maken zodat het ook een groot bereik heeft. Een 'demo' van de avatar class in actie is hier te zien: http://wyrihaximus.net/home/guestbook/
phluphy for president!
  donderdag 27 december 2007 @ 23:09:37 #237
159635 Spike1506
NullPointerException
pi_55587739
quote:
Op donderdag 27 december 2007 22:44 schreef WyriHaximus het volgende:
Ben zelf trouwens met een class bezig die bij de combi Username, Email, URL van een comment een avatar bij de volgende sites zoekt: 'digg','twitter','blogcatalog','mybloglog','gravatar','default' (Zal hem later wel ff posten nu nog niet.) En nu vroeg ik me af wat volgens jullie nou sites zijn waar ik support voor moet toevoegen? Het is oorspronkelijk voor me blog comments bedoelt en wil het daar ook in de burt bij houden maar wil het in 1 keer goed uitgebreid maken zodat het ook een groot bereik heeft. Een 'demo' van de avatar class in actie is hier te zien: http://wyrihaximus.net/home/guestbook/
Fok!?

Ik was bezig met een simpel IRC client voor 1 bepaalde site die een eigen soort IRC-protocol gebruiken..
Oftewel een verneukte IRC-protocol xD
  donderdag 27 december 2007 @ 23:14:14 #238
107951 JortK
Immer kwaliteitsposts
pi_55587934
quote:
Op donderdag 27 december 2007 23:09 schreef Spike1506 het volgende:

[..]

Fok!?

Ik was bezig met een simpel IRC client voor 1 bepaalde site die een eigen soort IRC-protocol gebruiken..
Oftewel een verneukte IRC-protocol xD
Fok was ook het eerst wat in me opkwam

grote sites als tweakers.net misschien ook wel, aangezien je toch een tech achtig bloggie hebt

En dan ook phpBB.com
  donderdag 27 december 2007 @ 23:47:29 #239
84926 WyriHaximus
Release the hounds smithers!
pi_55589439
quote:
Op donderdag 27 december 2007 23:09 schreef Spike1506 het volgende:

[..]

Fok!?

Ik was bezig met een simpel IRC client voor 1 bepaalde site die een eigen soort IRC-protocol gebruiken..
Oftewel een verneukte IRC-protocol xD
Ja idd Fok! is wel een idee.
quote:
Op donderdag 27 december 2007 23:14 schreef JortK het volgende:

[..]

Fok was ook het eerst wat in me opkwam

grote sites als tweakers.net misschien ook wel, aangezien je toch een tech achtig bloggie hebt

En dan ook phpBB.com
Dat is idd ook wel een idee. Punt is dat het originele idee van de class was om er een stuk of 10 grote internationale sites in te proppen iig voor de download zodat het een mooie class was die een gemiddelde blogger kon gebruiken en wou daarom in die hoek blijven. Maar kan nu net zo goed daarnaast nog een zooi functies maken voor maar specifieke sites zoals fok en tweakers .
phluphy for president!
pi_55591768
Dan kun je voor elke grote user-community een eigen mooi object maken. OO
pi_55595314
Nog steeds intensief bezig met met mijn Node idee - werkttitel "forest", dat begint nu ergens op te lijken, al is het nog steeds superabstract (en dus ook superflexibel). Lang geleden dat ik zo gegrepen ben door een programmeerproject!

implementatie van het object model is zo goed als klaar. De afgelopen tijd heb ik besteed aan het ontwikkelen van een soort van prototyping systeem voor nodes, waarmee je links tussen nodes kan aanbrengen en hierarchisch childnodes kan laten overerven / synchroniseren, recursief indien gewenst, of zelfs on the fly, echt heel krachtig. En een veilige manier om perl objectclasses rechtstreeks aan een node uit de Db te koppelen (die overerven allemaal van mijn base Node classe). En ik heb nu een (volgens mij) waterdichte manier om alle soorten van oneindige recursie, ook indirecte recursie binnen een tree van te voren te herkennen (dus voordat ie infinity inknalt en de applicatie op zijn bek gaat).

Hierna ga ik aan de view / frontend werken, dat ga ik met EXT doen. Dat zal beduidend simpeler worden dan het objectmodel omdat ik mijn core objecten al voorzien heb van goedwerkende XML en JSON outputmethodes. Kwestie van wat dingetjes aan elkaar knopen.
  vrijdag 28 december 2007 @ 11:25:45 #242
84926 WyriHaximus
Release the hounds smithers!
pi_55596805
quote:
Op vrijdag 28 december 2007 00:59 schreef Geqxon het volgende:
Dan kun je voor elke grote user-community een eigen mooi object maken. OO
Ja precies dat is het idee. Het lijkt mij alleen een beetje over the top om hier een OO object voor te maken:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
   function get_digg($options,$nick)
   {
      $user_url = 'http://digg.com/users/' . $nick . '/h.png';
      $random_url = 'http://digg.com/img/udh.png';
      $user = file_get_contents($user_url);
      if(!$user)
      {
         return false;
      }
      $md5_user = md5($user);
      $md5_random = md5(file_get_contents($random_url));
      if($md5_user!=$md5_random)
      {
         return $user_url;
      }
      else
      {
         return false;
      }
   }

De reden daar voor is dat het lekker universeel moet blijven en makkelijk in te bouwen moet zijn in andere sites/scripts/plugins. En omdat de functies voor het checken van bijvoorbeeld digg of twitter niet groot zijn en dat het niet onoverzichtelijk is.
phluphy for president!
pi_55597572
Zelf zou ik in bijvoorbeeld Java iets als volgt oplossen:

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
31
32
33
34
35
public class AvatarSource{

   String userURL;
   String randomURL;

   public AvatarSource(String userURL, String randomURL){
      // Constructor
      this.userURL = userURL;
      this.randomURL = randomURL;
   }

   
   public String getAvatar(String nickName){
      String user = file_get_contents(sprintf(userURL,nickName));
      String random = file_get_contents(randomURL);

      if (user == false){
         return null;
      }

      String userMD5 = md5(user);
      String randomMD5 = md5(random);

      if (userMD5.equals(randomMD5)){
         return null;
      }
      else {
         return user;
      }
   }
}

AvatarSource digg = new AvatarSource('http://digg.com/users/%s/h.png',
'http://digg.com/img/udh.png');
String avatarContent = digg.getAvatar('WyrilHaximus');


Niet eens zo heel erg overkill, en makkelijk te gebruiken om meerdere users te checken zonder constant dezelfde redudante code uit te moeten voeren, maar simpelweg met hetzelfde object. :)
pi_55597685
Of je maakt, als de websites te veel verschillen, voor elk een eigen class. Dus DIGG een class, Twitter een class, enzovoorts.
  vrijdag 28 december 2007 @ 12:11:38 #245
187069 slacker_nl
Sicko pur sang
pi_55597712
quote:
Op woensdag 12 december 2007 16:44 schreef Farenji het volgende:
Jammer dat niemand verder in perl programmeert... alleen maar dat php
perl perl perl

@work: perl/shell
@home: perl/shell

* slacker_nl doet niks met PHP (behalve dan af en toe kijken hoe men iets in PHP doet).
In theory there is no difference between theory and practice. In practice there is.
  vrijdag 28 december 2007 @ 12:15:34 #246
84926 WyriHaximus
Release the hounds smithers!
pi_55597793
quote:
Op vrijdag 28 december 2007 12:05 schreef Geqxon het volgende:
Zelf zou ik in bijvoorbeeld Java iets als volgt oplossen:
[ code verwijderd ]

Niet eens zo heel erg overkill, en makkelijk te gebruiken om meerdere users te checken zonder constant dezelfde redudante code uit te moeten voeren, maar simpelweg met hetzelfde object.
Goeie idd, kan zoiets gebruiken voor de sites die op deze manier check .
phluphy for president!
pi_55598830
Ik ben bezig met een 15KB contest scriptje waar ik helaas weinig over kan mededelen
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 28 december 2007 @ 13:10:17 #248
84926 WyriHaximus
Release the hounds smithers!
pi_55598971
quote:
Op vrijdag 28 december 2007 13:04 schreef Chandler het volgende:
Ik ben bezig met een 15KB contest scriptje waar ik helaas weinig over kan mededelen
Je kan vertellen welke contest . Trouwens al in dat andere topic van je gegeken voor tinymce?
phluphy for president!
pi_55599036
Ik ben bezig om mijn Python RSS aggregator te optimaliseren en de caching te verbeteren
pi_55600192
Ik ben bezig met een livescore script. Hij is al af maar moet nu gaan uitrekenen / behouden hoe lang de blessure tijd duurt zodat ik kan uitrekenen wanneer de tweede helft begint ( en afloopt ). Daarnaast staat op mijn planning ook een 15kb contest script. Alleen nog niet echt inspiratie.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')