private, public, global...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »

Ervaren Full stack developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house functie bij een bedrijf met enorme groeipotentie? Ben jij op zoek naar een nieuwe uitdaging vol afwisseling en gezelligheid? Dan ben je bij dit bedrijf aan het juiste adres! Wij zijn in omgeving Breda op zoek naar een ervaren full stack developer. Je gaat werken voor een zeer gewilde werkgever met goede arbeidsvoorwaarden. Je krijgt een plekje in het jonge IT team, work hard, play hard is hier duidelijk het motto! Jouw werkzaamheden zien er als volgt uit: Jij bent verantwoordelijk voor het ontwerpen en bouwen van webapplicaties. Je bent

Bekijk vacature »

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

Bekijk vacature »

Outsystems Developer Junior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als junior Outsystems Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van

Bekijk vacature »

Ervaren C#.NET programmeur

Functieomschrijving Voor een moderne werkgever in regio Prinsenbeek zijn wij op zoek naar een ervaren C#.NET programmeur die graag de uitdaging aangaat. Je houdt je bezig met het ontwikkelen van maatwerk webapplicaties voor diverse klanten, waarbij complexe processen optimaal worden ondersteund. Verder ziet jouw takenpakket er als volgt uit: Ontwikkelen en onderhouden van C#.NET-applicaties; Schrijven van hoogwaardige, herbruikbare codes; Schrijven van technische documentatie en gebruikershandleidingen; Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen; Troubleshooten en oplossen van bugs in softwaretoepassingen; Werken met databases en dataopslagoplossingen; Implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens. Bedrijfsprofiel

Bekijk vacature »

.NET Developer

Functie omschrijving Ervaren .NET Developer gezocht! Wij zoeken een ervaren .NET developer die aan de slag gaat voor een softwarebedrijf in de regio Rhenen. In deze rol ben jij zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Daarnaast houdt jij je bezig met de nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en product specialisten om mooie producten te creëren. Bedrijfsprofiel Waar kom je te werken? Je komt te werken voor snelgroeiende softwareleverancier en allround dienstverlener. Klanten van deze

Bekijk vacature »

Java Programmeur

Functie Heb jij altijd al samen willen werken met ervaren java ontwikkelaars dan hebben wij hier de ultieme kans voor jou! Voor een opdrachtgever in omgeving van Naaldwijk zijn wij op zoek naar uitbreiding van het vaste ontwikkel team. Je zult je hier voornamelijk bezig gaan houden met; Wijzigingsverzoeken van klanten uitvoeren, hier wordt je diep in betrokken; Samen met consultants sluit je aan bij gesprekken met klanten, voor alle projecten; Je schakelt veel met consultants, wat is de behoefte van de klant? Hoe kan je hierop integreren?; Het framework moet naar de Cloud gebracht worden, je wordt betrokken bij

Bekijk vacature »

Integratie expert - Java Developer

Dit ga je doen Nieuw koppelingen ontwerpen, ontwikkelen en implementeren; Je schakelt met de klanten om hen zo goed mogelijk van dienst te zijn. Strategisch kijken naar nieuwe mogelijkheden op bestaande of nieuwe koppelingen zo effectief mogelijk te realiseren; Je bestaande toolset afwegen tegen nieuwe mogelijkheden om integratiedoelen steeds effectiever en/of effcienter te bewerkstelligen; Bestaande software koppelingen beheren, dit zijn koppelingen met zowel interne als externe systemen; Overleg met zowel directe collega's als met stakeholders om nieuwe integratieplannen concreet te maken; Je kunt de junioren meenemen op sleeptouw. Hier ga je werken Onze klant is op zoek naar een ervaren

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 »

C# .NET Software Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen software development waar je gaat werken voor een jong en flexibel bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Software Developer met ervaring binnen C# .NET die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! In deze functie ga jij je bezighouden met: Meedenken in oplossingsrichtingen; Werken aan de architectuur; Het verbeteren van functionaliteiten binnen het dataplatform; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je aan de

Bekijk vacature »

Belastingdienst - Freelance Senior Cobol Applicati

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 7 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: In de applicatie ETM zijn nu de inningsvoorzieningen voor ongeveer 25 aangifte- en aanslagmiddelen opgenomen. ETM is een extern aangeschafte service en het huidige contract met leverancier Oracle loopt af op 31-12-2022. Het programma uitfaseren ETM heeft als doel om vervanging te realiseren waarmee alle nu in gebruik zijnde ETM ondersteuning wordt overgenomen in nieuwe Inningsvoorzieningen om de continuïteit van de inningsprocessen te waarborgen. Eén van de inningsvoorzieningen die voor het einde van 31-12-2022

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

Pagina: « vorige 1 2 3

Robert Deiman

Robert Deiman

28/01/2010 11:06:00
Quote Anchor link
Sorry RichardvV, maar ik moet me wel aansluiten bij Jim in dit geval. Ik zal dit dan ook onderbouwen door een korte uitleg te geven.

Public -> Is beschikbaar ook voor buitenaf, is in elke class aan te roepen (bij een extend class ook gewoon net als een protected variabele)
Private -> Is alleen in de eigen class aan te roepen, niet in classes die de class waarin deze variabele is gedefinieerd extenden.
Protected -> is in de eigen class (waar die gedefinieerd wordt) aan te roepen en in alle classes die deze class extenden.

Goed, nu kan het zijn dat je "gebruik maakt van een class" door deze te extenden met een andere class. Echter de class die je extend gebruikt Intern een aantal variabelen, maar retourneerd slechts 1 variabele aan je terug. (dat laatste is vaak de bedoeling, al dan niet in de vorm van 1 array met waarden)
Je gaat dan niet de variabelen waar de extend class niets mee te maken heeft protected maken, maar die hou je private.

Als je het verschil niet goed weet of niet precies weet óf je de variabele ook buiten de class (in een extend class) moet kunnen aanroepen gebruik je protected, zo weet je wel zeker dat je daar geen problemen mee tegen komt. Echter om "altijd protected" te gebruiken (of public of course) is niet handig. Je kan zo onbewust ook variabelen van buiten een class aanpassen / lekken veroorzaken die er met een private variabele niet waren geweest. (doordat je in een andere/ extend class die waarde dan wel kan aanpassen terwijl dat eigenlijk niet mag/ zou moeten kunnen bijv)

Mijn tip in deze is dan ook: Zorg dat je goed het verschil weet tussen deze 3 mogelijke opties en gebruik deze ook op de manier (waar mogelijk) waarvoor ze bedoeld zijn. Private is niet evil.

Een voorbeeld zou je zelf (met ál jouw programmeerkennis) ook wel moeten kunnen bedenken aan de hand van het bovenstaande.
 
PHP hulp

PHP hulp

27/05/2026 08:03:15
 
- Jim  -

- Jim -

28/01/2010 11:09:00
Quote Anchor link
Een kindklasse mag altijd wel de eigen waardes aanpassen, maar niet die van de ouder.

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php

class Person {
    
    private $id;
    // NIET VOOR KINDKLASSE BEREIKBAAR.
    private $biologische_vader;
    private $biologische_moeder;
    
    public function __construct($id)
    {

        $this->id = intval($id);
        $this->biologische_vader = "Haal ergens de vader-id";
        $this->biologische_moeder = "Haal ergens de moeder-id";
    }

    
    // Alleen de eigen klasse en het kind-klasse mogen deze gebruiken.
    protected function getBioVader()
    {

        return $this->biologische_vader;
    }

    
    // Deze mag iedereen gebruiken.
    public function getBioMoeder()
    {

        return $this->biologische_moeder;
    }
}


// Breidt Person uit.
class Lid extends Person {
    
    private $id;
    
    public function __construct($id)
    {

        // Contruct do ouder
        parent::__contruct($id);
        $this->id = intval($id);
    }

    
    public function getBioVader()
    {

        return parent::getBioVader();
    }

    
    // Haal het moeder-id (private) van parent
    // public function getBioMoeder(), maar deze is al in de ouder public en hoeft dus niet nogmaals gedeclareerd te worden.


}

?>


Je kan niet je biologische ouders aanpassen!
 
- Jim  -

- Jim -

28/01/2010 11:12:00
Quote Anchor link
'Robert_Deiman:
Sorry RichardvV, maar ik moet me wel aansluiten bij Jim in dit geval. Ik zal dit dan ook onderbouwen door een korte uitleg te geven.

....

Als je het verschil niet goed weet of niet precies weet óf je de variabele ook buiten de class (in een extend class) moet kunnen aanroepen gebruik je protected, zo weet je wel zeker dat je daar geen problemen mee tegen komt. Echter om "altijd protected" te gebruiken (of public of course) is niet handig. Je kan zo onbewust ook variabelen van buiten een class aanpassen / lekken veroorzaken die er met een private variabele niet waren geweest. (doordat je in een andere/ extend class die waarde dan wel kan aanpassen terwijl dat eigenlijk niet mag/ zou moeten kunnen bijv)

Mijn tip in deze is dan ook: Zorg dat je goed het verschil weet tussen deze 3 mogelijke opties en gebruik deze ook op de manier (waar mogelijk) waarvoor ze bedoeld zijn. Private is niet evil.

...


Mooie uitleg!
"Zorg dat je goed het verschil weet tussen deze 3 mogelijke opties en gebruik deze ook op de manier (waar mogelijk) waarvoor ze bedoeld zijn."

Vooral gebruik ze waar ze voor bedoeld zijn!!!
 
TJVB tvb

TJVB tvb

28/01/2010 12:00:00
Quote Anchor link
Deze blog laat nog wat zien: http://elmuerte.blogspot.com/2004/12/private-vs-protected.html

private is niet altijd evil.
 
Robert Deiman

Robert Deiman

28/01/2010 12:02:00
Quote Anchor link
@Jim
Je mag ook (is zelfs gewenst) je posts ook aanpassen om dan die quote + reactie daarin te zetten hoor, is wel zo netjes. Ow, en dank voor het compliment over de uitleg. Veel duidelijker kon ik het niet maken.

@RichardvV
Maar je wilt niet al die variabelen kunnen aanroepen/ opvragen uit je childs, omdat een aantal zaken in de parent gebeuren die vast staan. Daar wil je niet van buitenaf invloed op hebben door dit zelf alsnog aan te roepen bijvoorbeeld.

Ikzelf heb dit gebruikt met een xml class (verzameling van meerdere classes) die vanuit gegevens die uit een database komen een xml genereerd. Er is een "master class" die puur functies heeft voor het genereren van de xml (voeg item toe, voeg waarde toe etc.) en die uiteindelijk de xml teruggeeft. Je geeft wel input, maar ik wil geen beschikking hebben over de variabelen (domelements in dit geval) die binnen de master class worden gebruikt. Ik krijg keurig een return value terug in dit geval, omdat ik dar iets mee wil doen.

Maar ook het aanpassen vanuit mijn child class van die domelements is niet wenselijk, dus daarom is het een private variabele, geen public of protected. Het is iets voor de parent class zelf, en de child heeft geen boodschap aan wat er intern gebeurt/ welke variabelen gebruikt worden in de parent class. Die verwacht alleen maar een xml string terug en die krijgt die ook.
 
Wesley Overdijk

wesley Overdijk

28/01/2010 12:08:00
Quote Anchor link
Kan iemand mijn vraag nog beantwoorden :(?

moet ik alle vars die ik in een class gebruik defineren bovenin de class?

en moet dit dan boven de constructor?

btw, kan ik ook een constructor maken, zonder waarde? dat ik gewoon bepaalde handelingen wil uitvoeren bij het aanmaken van de class, en dus doe:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
public function __construct()
    {
        //Mijn handelingen.    
    }
 
- Jim  -

- Jim -

28/01/2010 12:17:00
Quote Anchor link
'wesley:
Kan iemand mijn vraag nog beantwoorden :(?

moet ik alle vars die ik in een class gebruik defineren bovenin de class?
// Ja, maar het kan zijn dat je binnen een methode variabelen gebruikt om bijvoorbeeld een loop te maken. Die moet je daar niet plaatsen.

De variabelen die je 'boven de constructor' plaatst noem je properties of eigenschappen.

en moet dit dan boven de constructor?
// Boven de constructor moet niet, ja mag zo ook verspreiden, maar dan wordt het snel een speurwerk naar viraibelen en loop je het risico dat je een var dubbel wilt gaan declareren.


btw, kan ik ook een constructor maken, zonder waarde? dat ik gewoon bepaalde handelingen wil uitvoeren bij het aanmaken van de class, en dus doe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
public function __construct()
    {
        //Mijn handelingen.    
    }

// Ja dat kan, en dat is afhankelijk van het soort object dat je er van wilt maken.
 
Thijs Damen

Thijs Damen

28/01/2010 12:19:00
Quote Anchor link
@Wesley:
ik gebruik bijvoorbeeld vaak:
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
<?
Class Test {
  private $array;

  public function __construct() {
    $this->array = array();
    $this->prepare();
  }


  private function prepare() {
    //ik ben een dummy
  }
}

?>

Hier haal ik bijvoorbeeld bij het aanmaken van mijn klasse al wat nodige gegevens op uit de database.


Daarnaast heeft het definieren van variable boven in de klasse te maken met de 'scope' van de variable.

Als jij je variable definieerd boven in de klasse word hij in de scope van de klasse gezet op de Heap.

Dit betekent dat ik deze variable kan benaderen via $object->variable;

op het moment dat je dat niet doet en dus je variable definieerd in de functie word die op de stack gegooit en kun je henm gebruiken in deze functie.

op het moment dat jij uit die functie gaat verdwijnt ook deze variable van de stack en is deze niet oproepbaar in je script op andere plaatsen. (zoals standaard functies).


ps. Fouten in benamingen voorbehouden.
Gewijzigd op 01/01/1970 01:00:00 door Thijs Damen
 
Wesley Overdijk

wesley Overdijk

28/01/2010 12:29:00
Quote Anchor link
Bedankt! Daar had ik heel veel aan... volgens mij heb jij mij al eerder zo geholpen, met een uitleg die ik WEL snap hihi. Hier, kudos *geeft kudos* :P

EDIT:

weer een vraag.

als ik ergens in mijn class dit heb staan:

protected function checkSaveData($deck, $us=false)

moet ik dan ook boven de constructor zetten:

protected function checkSaveData($deck, $us=false);
?
Gewijzigd op 01/01/1970 01:00:00 door wesley Overdijk
 
- Jim  -

- Jim -

28/01/2010 13:30:00
Quote Anchor link
Neej, omdat :
protected function checkSaveData($deck, $us=false);..

is een functie en geen variable/property.
 
Wesley Overdijk

wesley Overdijk

28/01/2010 13:32:00
Quote Anchor link
Ah. Merci...
 
Robert Deiman

Robert Deiman

28/01/2010 13:33:00
Quote Anchor link
Neej, dat hoeft niet..
functions (methods) hoef je niet bovenaan in de class te definiëren.

De variabelen die je definieert bij een class zijn alleen de variabelen die je binnen verschillende functies binnen die class moet kunnen bereiken zonder ze eerst in die functie aan te moeten maken, of variabelen die je mee kan geven.

De variabelen die je in je aanroep van de constructor zet worden eigenlijk altijd wel gedefinieerd binnen je class.
 

Pagina: « vorige 1 2 3



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.