[OOP] Variabelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

Bekijk vacature »

.NET Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

C# .NET developer voor innovatieve applicaties gez

Bedrijfsomschrijving Deze werkgever houdt zich al ruim 20 jaar bezig met het ontwikkelen van innovatieve software en dat willen ze graag nog lang doorzetten. En dat merk je ook als je als .NET developer hier aan de slag gaat. De applicaties worden continu doorontwikkeld met altijd als uitgangspunt dat zowel de kwaliteit als het gebruikersgemak van hoog niveau is. Het bedrijf telt inmiddels ruim 25 medewerkers waarvan meer dan de helft op de development afdeling werken. Meer weten over deze werkgever? Mail naar [email protected] of bel 0657578548 Functieomschrijving Je komt te werken in een Scrum team met andere .NET developers

Bekijk vacature »

Typescript Developer / Cloud platform

Dit ga je doen (Door)Ontwikkelen van het cloud platform; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het cloud platform; Sparren met de business. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt

Bekijk vacature »

Senior Front-End Developer

As a Senior Front-end Developer you maintain the balance between creativity and functionality for our webshop, and you coach your fellow developers. How do I become a Senior Front-End Developer at Coolblue? As a Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. Would you also like to become a Senior Front-End Developer at Coolblue?

Bekijk vacature »

Digital Agency is looking for PHP developers!

Functie The team currently has 20 colleagues, consisting of developers (front and backend) and the operations team, which also includes management and two scrum masters. They are looking for a PHP developer who is able to work independently. You will work in one of the three scrum teams and start working on a project for the customer. The interesting thing about this is that you do have variety in terms of work, but at the same time continuously work for existing customers. This also gives you the opportunity to really go into depth and develop innovative technical solutions. In terms

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Low Code Ontwikkelaar

In het kort Als Low Code Developer werk je aan projecten bij en voor onze klanten, waarbij je voor het ontwikkelen van de oplossingen een technisch low-code platform gebruikt. Samen met het team streef je naar de beste oplossing en bepalen jullie de juiste aanpak. Je rol is divers en je bent van begin tot eind betrokken bij de ontwikkeling zowel de back-end en de front-end van de applicatie. Naast de ontwikkeling en oplevering, breng je ook advies uit aan de klant waarom bepaalde keuzes worden gemaakt. Je bent dan ook communicatief sterk en kunt je keuzes goed (inhoudelijk) onderbouwen.

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

.NET developer

Functie As a .NET developer you work together in a multidisciplinary development team with 1-2 Senior .NET developers, two front-end developers, Data Scientists and one UX designer. As a team you work on developing a Cloud based application and making this application more stable. Unit testing will also become very important in your new position. Together with the Senior .NET developer you will be responsible for developing the API. You work with a lot of data and occasionally there will also be data issues and some queries will have to be run. This means that you will work a lot

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

PHP Developer

Functie Middels Scrum en sprints bouw jij in deze functie mee aan complexe webapplicaties en ons SaaS platform. Hierbij hoort ook architectuur tot een van je taken. Daarnaast ben je één van de leden van het Scrum team. Dat betekent dat je naast je kerntaken ook in contact staat met de product owner. Oftewel, je bent bij het gehele ontwikkelproces betrokken. Tools die hierbij gebruikt worden zijn o.a. PHP, Symfony en Git. Eisen • Minimaal HBO werk- en denkniveau • Minimaal 3 jaar aantoonbare ervaring met PHP • Kennis en ervaring Symfony (Laravel is pré) & Lando • Kennis van

Bekijk vacature »

Pagina: 1 2 volgende »

Wouter J

Wouter J

29/12/2010 16:14:57
Quote Anchor link
Hallo PHP'ers,

Ik ben een beetje aan het spelen met OOP en heb een vraag over variabelen.

Stel ik heb dit nutteloze script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
class Iets {

  public function GetVar($var) {
    return $var;
  }

}

?>


Moet ik in dit geval persé met public/protected/private variabelen werken? Of kan het ook gewoon zo.

Dus als je een variabelen alleen in dat object gebruikt, moet je dan die ook public/protected/private maken?
 
PHP hulp

PHP hulp

27/05/2026 07:13:40
 

29/12/2010 16:19:27
Quote Anchor link
Als je die variabele alleen gebruikt in die functie d.m.v. een parameter hoef je geen instantie variabele te maken. Als jij de variabele op meerdere plekken binnen je object wilt gebruiken, dan moet je die wel aanmaken.
 
Kris Peeters

Kris Peeters

29/12/2010 16:20:28
Quote Anchor link
Ik zie je nergens een property gebruiken.
Misschien zou je toch beter een minder nutteloos voorbeeld geven.

Je mag uiteraard variabelen gebruiken binnen funties. Die variabelen zijn niet zichtbaar buiten die specifieke methode (functie).
 
Mike Smit

Mike Smit

29/12/2010 16:23:36
Quote Anchor link
Nvt.
Gewijzigd op 29/12/2010 16:24:05 door Mike Smit
 

29/12/2010 16:25:34
Quote Anchor link
Dit heeft dus ook te maken met language.variables.scope.
 
Wouter J

Wouter J

29/12/2010 17:05:38
Quote Anchor link
Even een voorbeeldje in wat voor context ik hem wil gebruiken:
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
31
32
33
<?php
class formulier {

  public $type;

  public function __construct($type) {
    $mogelijk = array('post', 'get');

    if(!in_array(strtolower($type), $mogelijk) {
      return false;
    }

    else {

      $this->type = $type;
      return true;

    }
  }


  public function valid($veld) {

    if($this->type == 'post') {

      if(isset($_POST[$veld])) {
        return true;
      }

      else {
        return false;
      }
    }
  }
}

?>

En dan gaat het mij om de valid function en de var $veld. Moet ik die ook zo doen als $type of kan ik het gewoon zo laten.
Gewijzigd op 29/12/2010 17:07:13 door Wouter J
 
Kris Peeters

Kris Peeters

29/12/2010 17:38:04
Quote Anchor link
Zo laten.
 
Wouter J

Wouter J

29/12/2010 17:39:44
Quote Anchor link
Oke bedankt.

Dus als je het alleen in die functie gebruikt mag het gewoon zo. En als je het bij een andere functie wilt gebruiken/aanpassen buiten de classe moet je het met public doen?
 
Kris Peeters

Kris Peeters

29/12/2010 17:50:50
Quote Anchor link
Ja.

Maar ook als je binnen je klasse een variabele nodig hebt die in een andere functie staat (zelfde klasse), zal je iets met $this->... gebruiken.

Het gaat er om: moet die variabele bijgehouden worden buiten de functie?
Variabelen die je binnen de klasse nodig hebt, maar niet er buiten, kan je als 'private' of 'protected' zetten.

(maar nu ga ik er wat snel en onvolledig over)
 
Wouter J

Wouter J

29/12/2010 17:56:44
Quote Anchor link
@kris, bedankt. De verschillen tussen private, protected en public weet ik al. Maar van het overerven snap ik niet zo veel. Weet iemand daar misschien een goede tut over?
 
Kris Peeters

Kris Peeters

29/12/2010 21:57:02
Quote Anchor link
Wouter J op 29/12/2010 17:56:44:
... Maar van het overerven ...

Een voorbeeldje. Niet t veel syntax; meer gewoon om de gedachtegang uit te leggen.

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
31
32
33
34
35
36
37
<?php

$mijn_auto
= new auto();

$mijn_ferrari = new sportwagen();

class auto {
  public function __construct() {
    // ...
  }
  public function geef_gas() {
    // ...
  }
  public function open_deur() {
    // ...
  }
}


class sportwagen extends auto {
  public function __construct() {
    // ...
  }
  public function open_dak() {
    // ...
  }
}


class stationwagen extends auto {
  public function __construct() {
    // ...
  }
  public function open_laadklep() {
    // ...
  }
}


?>


Wat zie je?
Een sportwagen IS een auto, maar dan met een aantal dingen extra.

In de class auto definieer je alles wat gemeenschappelijk is aan de functionaliteit van de auto.

Een uitgebreide class biedt je de mogelijkheid om extra functionaliteit te voorzien.
Een stationwagen kan zijn dak niet openen. Een sportwagen wel.

Leuk is dus: alle functies van auto krijg je zomaar cadeau in de extended class.
Die functies hoef je dus niet meer opnieuw in je extended class te definiëren.

Essentieel:
Een sportwagen is een auto. Indien dit niet geldt, mag je niet extenden.

Bv.
class peer extends appel {
}
Dit mag je niet doen. Een appel is geen peer.

Wat wel mag, is zowel een appel als een peer een extend laten zijn van de class fruit.
Gewijzigd op 30/12/2010 06:41:49 door Kris Peeters
 
Pim -

Pim -

30/12/2010 00:56:44
Quote Anchor link
Als het om de taal gaat zie ik geen reden om niet een zo simpel mogelijk voorbeeld te geven...

Wouter J op 29/12/2010 17:05:38:
Even een voorbeeldje in wat voor context ik hem wil gebruiken:
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
31
32
33
<?php
class formulier {

  public $type;

  public function __construct($type) {
    $mogelijk = array('post', 'get');

    if(!in_array(strtolower($type), $mogelijk) {
      return false;
    }

    else {

      $this->type = $type;
      return true;

    }
  }


  public function valid($veld) {

    if($this->type == 'post') {

      if(isset($_POST[$veld])) {
        return true;
      }

      else {
        return false;
      }
    }
  }
}

?>

En dan gaat het mij om de valid function en de var $veld. Moet ik die ook zo doen als $type of kan ik het gewoon zo laten.

Wat stel je je voor bij de return waarde van de __construct() methode?
 
Kris Peeters

Kris Peeters

30/12/2010 06:40:07
Quote Anchor link
O ja, ik had het niet opgemerkt.

Een constructor hoort geen return terug te geven.
Een constructor is er om het object aan te maken.


OOP is in eerste instantie een mentale knop die je moet omdraaien.
Daarom geef ik graag voorbeelden die wat verwijderd zijn van de code waar ze mee bezig zijn en die niet echt veel zouden gebruikt worden in php.
Gewijzigd op 30/12/2010 06:48:30 door Kris Peeters
 
Wouter J

Wouter J

30/12/2010 11:05:31
Quote Anchor link
Bedankt voor de uitleg. Het overerven is dus handig als je functies hebt die aan elkaar gemeen zijn. Dus de sportcar die dingen heeft van een gewone auto maar dan wat extra's.

En die return had ik alleen hier op het forum staan. Ik heb zelf in de constructor een exit staan. Mag dit wel?
 
Tikkes C

Tikkes C

30/12/2010 11:18:49
Quote Anchor link
Wouter: het is niet zo geweldig slim om je variabele $type public te maken.
Indien je dit doet kan je van zeg maar overal aan die variabele.
Het is beter om deze private te maken en een getter voor deze variabele te maken, zo heb je meer controle over wat er precies gebeurd.

en een exit in je constructor? hoe bedoel je?
 
Wouter J

Wouter J

30/12/2010 11:21:48
Quote Anchor link
Die $type hoeft nergens geget te worden. Dus het is inderdaad wel een handige tip om die private te maken!

En dit bedoel ik met exit in de constructor:
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
<?php
class formulier {

  private $type;

  public function __construct($type) {
    $mogelijk = array('post', 'get');

    if(!in_array(strtolower($type), $mogelijk) {
      exit('Je hebt een ongeldig type gebruikt');
    }

    else {
      $this->type = $type;
    }
  }
}

?>
 
Tikkes C

Tikkes C

30/12/2010 11:23:38
Quote Anchor link
doe die al maar weg :p haha...werk met een goede foutafhandeling...

als ik per ongeluk een papiertje in een spaarpot steek, ga ik het ook niet stukslaan, ik ga hem openmaken en t eruit halen.
 
Wouter J

Wouter J

30/12/2010 11:27:51
Quote Anchor link
Maar je mag niet returnen in een constructor. Hoe moet ik dan een goede foutafhandeling maken?

Of gewoon werken met een nieuwe var:
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
<?php
class formulier {

  private $type;
  private $error;

  public function __construct($type) {
    $mogelijk = array('post', 'get');

    if(!in_array(strtolower($type), $mogelijk) {
      $this->error = 'Type: Je hebt een ongeldige type gebruikt.';
    }

    else {
      $this->type = $type;
    }
  }


  public function error() {
    return $this->error;
  }
}

?>
 
Tikkes C

Tikkes C

30/12/2010 11:29:37
Quote Anchor link
doe gewoon een echo van de error...
 
Jens V

Jens V

30/12/2010 11:31:58
Quote Anchor link
Wouter J op 30/12/2010 11:27:51:
Maar je mag niet returnen in een constructor. Hoe moet ik dan een goede foutafhandeling maken?


Maak een extra method in je klasse die terug geeft of je object al dan niet correct is aangemaakt. Dus voer je je foutafhandeling in die functie. Dit geldt enkel voor je constructor eh. (Dit is een mogelijkheid eh)
 
Wouter J

Wouter J

30/12/2010 11:40:24
Quote Anchor link
Tikkes C:
doe gewoon een echo van de error...

In een functie mag je toch nooit echoen?
Jens V:
Maak een extra method in je klasse die terug geeft of je object al dan niet correct is aangemaakt. Dus voer je je foutafhandeling in die functie. Dit geldt enkel voor je constructor eh. (Dit is een mogelijkheid eh)

Dus zoals ik hem nu heb gemaakt?
 

Pagina: 1 2 volgende »



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.