aan alle goede dingen komt een eind, webmasterplein.net 2003 - 2013
wij danken jullie voor al mooie momenten die dankzij dit forum ontstonden - Derk, Rutger en Stef

Beginnen met PHP

Je komt er niet helemaal uit bij het scripten? Übergoede functie geschreven? Alles met betrekking tot scripting, kun je hier terecht.

Re: Beginnen met PHP

Berichtdoor Stefan » 21 okt 2008 15:24

@JimB, ik heb nog effe een goede site voor je gevonden: http://phphulp.jorendewit.nl/home/
Opzoek naar een webdesigner? http://webtilize.net/
Avatar gebruiker
Stefan
wmpr
 
Berichten: 406
Geregistreerd: 27 dec 2007 14:08
Woonplaats: Ter Aar

Re: Beginnen met PHP

Berichtdoor libia » 21 okt 2008 15:27

en phphulp.nl (daar komt die gozer ook vandaan ;) )
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: Beginnen met PHP

Berichtdoor JimB » 21 okt 2008 16:33

Conclusie? Single quotes zijn duidelijker?

@Steef & Libia: Bedankt, ik zal er eens een kijkje nemen. :)
Avatar gebruiker
JimB
wmpr
 
Berichten: 20
Geregistreerd: 20 mei 2008 14:38

Re: Beginnen met PHP

Berichtdoor Derk » 21 okt 2008 16:44

JimB schreef:Conclusie? Single quotes zijn duidelijker?

Single quotes zijn duidelijker maar kunnen minder. In jou geval zou ik doen wat het boek zegt.

'\n' geeft geen enter en "\n" wel.
'$var' geeft als uitkomst $var en "$var" geeft als uitkomst de inhoud van $var.
Als je dus dingen als \n wilt gebruiken gebruik je dubbele quotes, en anders enkele. Maar als beginner zou ik me daar nog laaang niet mee druk maken :P
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: Beginnen met PHP

Berichtdoor ElbertF » 22 okt 2008 13:45

Nadeel van dubbele quotes is ook dat als je HTML in een string zet je alles moet escapen:

Code: Selecteer alles
echo "
    <div id=\"foo\">
        <p class=\"bar\">
        </p>
    </div>
    ";

Code: Selecteer alles
echo '
    <div id="foo">
        <p class="bar">
        </p>
    </div>
    ';

Enkele quotes typt makkelijker, doet geen onverwachte dingen als je 's ergens een $ in je string gebruikt en is overzichtelijker.
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: Beginnen met PHP

Berichtdoor Johan » 22 okt 2008 14:01

Toen ik deze discussie begon te lezen, gaf ik de voorkeur aan dubbele " :D

Maar na Elbert's voorbeeldje... ' :mrgreen:
Avatar gebruiker
Johan
wmpr
 
Berichten: 676
Geregistreerd: 07 jan 2008 15:42

Re: Beginnen met PHP

Berichtdoor frizzy » 22 okt 2008 15:31

Ik weet dat het fout is, maar sinds kort gebruik ik altijd
Code: Selecteer alles
?>
<html>
<?=$content?>
</html>
<?


Sorry!
frizzy
wmpr
 
Berichten: 4261
Geregistreerd: 20 sep 2006 16:03
Woonplaats: Boskoop :D

Re: Beginnen met PHP

Berichtdoor ElbertF » 22 okt 2008 17:15

Wat veel mensen trouwens ook vergeten is dat je \n niet altijd hoeft te gebruiken.

Code: Selecteer alles
echo "hello\nhello\nhello\n";

..of:

Code: Selecteer alles
echo "hello\n";
echo "hello\n";
echo "hello\n";

..kan ook zo:

Code: Selecteer alles
echo 'hello
hello
hello';

Is niet het beste voorbeeld maar met bijv. gestructureerde HTML of e-mail headers is het wel overzichtelijker (zoals in m'n vorige bericht).
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: Beginnen met PHP

Berichtdoor Derk » 22 okt 2008 23:11

ElbertF schreef:
Code: Selecteer alles
echo 'hello
hello
hello';

dat wordt zo lelijk als je er tabjes voor zet :(

Houd geen rekening met enters of zorg dat de tabjes ook goed staan zeg ik altijd maar.
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: Beginnen met PHP

Berichtdoor JimB » 24 okt 2008 14:18

Dank alweer jongens, wat moest ik toch zonder jullie. (Te slijmerig. :P)
Toch heb ik een vraagje weer, dit keer over "classes". In het hoofdstuk word helemaal niks over classes uitgelegd, enkel dat ze bestaan en dit staat bij de voorbeelden. Kunnen jullie me uitleggen hoe het werkt?

Code: Selecteer alles
<?php
class adres 
{
    var $mijn_adres = array(
    "naam" => "Peter Kassenaar",
    "adres"=>"Dorpsstraat 12",
    "postcode"=>"3344 TG",
    "plaats"=>"Ons Dorp");
   
   
// Het adres afdrukken
 
   function print_adres
($adres) {
    echo ($adres["naam"] . "<br>");
    echo ($adres["adres"] . "<br>");
    echo ($adres["postcode"] . "<br>");
    echo ($adres["plaats"] . "<br>");
   }
}
$adres = new adres();
$adres -> print_adres($adres);
?>
Avatar gebruiker
JimB
wmpr
 
Berichten: 20
Geregistreerd: 20 mei 2008 14:38

Re: Beginnen met PHP

Berichtdoor Remi » 24 okt 2008 16:13

Al gelijk met classes aan de gang, gedurfd. Die kwamen bij mij pas aan de orde in het gevorderde boek voor.
Dus als je het nog niet echt nodig hebt kan je er beter maar gewoon over heen lezen. Tenzij je het echt wilt begrijpen. Dan kan je beter ergens op internet een verhaaltje zoeken of nog een boek kopen. :}
Avatar gebruiker
Remi
wmpr
 
Berichten: 3010
Geregistreerd: 04 apr 2006 15:22

Re: Beginnen met PHP

Berichtdoor JimB » 24 okt 2008 17:29

Nah, er stond ook niet een uitleg. Er stond classes of objecten in een lijst van meest gebruikte variable soorten. En toen zat in het bestand met voorbeelden deze code, nu zou ik wel graag willen weten hoe het werkt. Of is het echt veel te lastig?
Avatar gebruiker
JimB
wmpr
 
Berichten: 20
Geregistreerd: 20 mei 2008 14:38

Re: Beginnen met PHP

Berichtdoor libia » 24 okt 2008 19:02

JimB schreef:Nah, er stond ook niet een uitleg. Er stond classes of objecten in een lijst van meest gebruikte variable soorten. En toen zat in het bestand met voorbeelden deze code, nu zou ik wel graag willen weten hoe het werkt. Of is het echt veel te lastig?

veel mensen vinden dit het lastigste van heel php.. maar het is vooral het snappen, als de knop om is gegaan is het niet zo moeilijk (veel mensen snappen het ook gelijk btw)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: Beginnen met PHP

Berichtdoor JimB » 24 okt 2008 19:16

Kan je me dan ook uitleggen hoe het werkt? :)
Avatar gebruiker
JimB
wmpr
 
Berichten: 20
Geregistreerd: 20 mei 2008 14:38

Re: Beginnen met PHP

Berichtdoor libia » 24 okt 2008 21:13

JimB schreef:Kan je me dan ook uitleggen hoe het werkt? :)


ik kan je de basis wel ff een beetje uitleggen, maar ik kan hier moeilijk een hele tut schrijven :P ik zal wel een standaard voorbeeld gebruiken, het voorbeeld van een auto!

alles wat met classes enzo te maken heeft heet oop, dat staat voor object orientated programming (oid :}) een klasse (class) wordt vaak gezien als een soort blauwdruk of een object (vandaar de eerste o in oop ;))

dit is een klasse:
Code: Selecteer alles
<?php
class auto
{
}
?>


Een klasse geeft eigenlijk gewoon aan wat een bepaald iets kan. om dit dan toe te passen moet je er een instantie van maken, dat doe je zo:
Code: Selecteer alles
<?php
$bmw = new auto();
?>


hier heb je dus niets aan natuurlijk! daarom heeft elke klasse z'n eigen variabelen. deze kun je bijvoorbeeld gebruiken om de eigenschappen van de klasse aan te geven. Er bestaan drie soorten variabelen: private, protected en public.
private de variabele kan alleen worden benaderd vanuit de klasse zelf
protected de variabele kan alleen worden benaderd vanuit de klasse zelf en vanuit klassen die een aanvulling zijn op de klasse
public de variabele kan 'overal' vandaan worden benaderd.
als je php versie LAGER dan 5 is, moet je altijd var gebruiken!

dit is een standaard variabele:
Code: Selecteer alles
<?php
[type] $[naam]; //nog geen waarde
[type] $[naam] = [waarde]; //wel al een waarde
?>


onze klasse ziet er nu dus bijvoorbeeld zo uit:
Code: Selecteer alles
<?php
class auto
{
   public $kleur = "Rood";
   public $merk = "BMW";
   protected $snelheid = 0;
}
?>


om een variabele vanuit je klasse aan te roepen gebruik je this, bijvoorbeeld:
Code: Selecteer alles
<?php
$this->kleur;
?>


deze variabeles kun je dan natuurlijk ook via je instantie lezen en schrijven!
Code: Selecteer alles
<?php
$bmw = new auto();

echo $bmw->kleur; //Rood
$bmw->kleur = "Zilver";
echo $bmw->kleur; //Zilver
echo $bmw->snelheid; //dit geeft een error!
?>


dit is natuurlijk heel erg leuk! maar je kunt er niets mee :P

gelukkig bestaat er ook nog iets om functionaliteit toe te voegen! dit zijn de methods, dit zijn eigenlijk gewoon functions die deel van een klasse uitmaken.
ook bij de functions kun je weer de private, protected en public gebruiken
Code: Selecteer alles
<?php
[type] function [naam]([parameters])
{
}
?>


nu kunnen we natuurlijk weer wat toevoegen aan onze klasse! :)
hier gebruiken we dus ook de this!

Code: Selecteer alles
<?php
class auto
{
   public $kleur = "Rood";
   public $merk = "BMW";
   protected $snelheid = 0;

   public function geefGas()
   {
      $this->snelheid += 5;
   }
   public function geefMinderGas()
   {
      $this->snelheid -= 5;
   }

   public function geefSnelheid()
   {
      return $this->snelheid;
   }
}
?>


dit kun je zo gebruiken:
Code: Selecteer alles
<?php
$bmw = new auto();

echo $bmw->kleur; //Rood
$bmw->kleur = "Zilver";
echo $bmw->kleur; //Zilver

$bmw->geefGas();
$bmw->geefGas();
echo $bmw->geefSnelheid(); //10
$bmw->geefMinderGas();
echo $bmw->geefSnelheid(); //5
?>


er zijn ook een aantal speciale methods. Ik zal er eentje behandelen, de rest kun je wel terug vinden op php.net ;)

(over het algemeen) Beginnen alle speciale methods met __ (dubbel laag streepje). De speciale method die ik nu ga behandelen, is de constructmethod. Hier eerst een voorbeeldcode:
Code: Selecteer alles
<?php
class auto
{
   public $kleur = "Rood";
   public $merk = "BMW";
   protected $snelheid = 0;

   public __construct($kleur, $merk)
   {
      $this->kleur = $kleur;
      $this->merk = $merk;
   }

   public function geefGas()
   {
      $this->snelheid += 5;
   }
   public function geefMinderGas()
   {
      $this->snelheid -= 5;
   }

   public function geefSnelheid()
   {
      return $this->snelheid;
   }
}
?>


en natuurlijk kun je ook dit gebruiken, maar het leuke is dat je voor de __construct geen apparte method hoeft aan te roepen, deze wordt namelijk automatisch aangeroepen bij het maken van de instantie

Code: Selecteer alles
<?php
$bmw = new auto('Zilver', 'BMW');

$bmw->geefGas();
$bmw->geefGas();
echo $bmw->geefSnelheid(); //10
$bmw->geefMinderGas();
echo $bmw->geefSnelheid(); //5
?>


klaar!
dit is zo'n beetje de basis! ik raad je wel sterk aan om nog een echte tutorial door te gaan!

ps: schrijffouten kunnen er in zitten, heb het gewoon achter een stuk door geschreven :)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: Beginnen met PHP

Berichtdoor JimB » 25 okt 2008 16:08

Ah, dat is nu wel een stuk duidelijker ja. :)
Bedankt. :)
Avatar gebruiker
JimB
wmpr
 
Berichten: 20
Geregistreerd: 20 mei 2008 14:38

Re: Beginnen met PHP

Berichtdoor libia » 28 okt 2008 16:06

JimB schreef:Ah, dat is nu wel een stuk duidelijker ja. :)
Bedankt. :)

graag gedaan :P
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Vorige

Keer terug naar PHP, ASP, SQL



cron