Praktisch voorbeeld public/private/protected

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior+/Medior developer gezocht in Breda

Bedrijfsinfo Het dynamische bedrijf in de regio Leiden bestaat nu ruim 21 jaar heeft 45 mensen in dienst, waarvan 10 developers. Samen met het team ben je constant bezig met het ontwikkelen van maatwebsites en bijbehorende applicaties. Het kantoor dat gelegen is midden in een villa wijk, is verdeeld in verschillende ruimtes. Voor elke ruimte een andere ‘’tak van sport’’. De ontwikkelaars zitten bij elkaar net zoals de consultants. Doordat de directeur zelf ook developer is, ga je echt werken in een platte organisatie. Functieomschrijving Binnen de organisatie ga je aan de slag als PHP developer die zich gaat richten

Bekijk vacature »

Medior PHP Developer Amsterdam In-House €2.70

Medior PHP Developer Amsterdam In-House €2.700 - €3.500 Wat ga je doen? Als Medior PHP Developer ga je in Amsterdam aan de slag bij een online reisbedrijf. Ze zijn gespecialiseerd in het verkopen Zonvakanties, Busreizen, Stedentrips, Sportreizen en Groepsreizen op maat voor consumenten en bedrijven. Op het moment beheren zij al een aantal succesvolle domeinnamen waarbij de gebruikte CRM-platformen gekoppeld staan met de API's van diverse leveranciers om het klantenbestand te beheren, het boeken van reizen en real-time updates te krijgen van lopende boekingen. Wegens uitbereiding zijn ze van plan om een nieuwe domeinnaam te starten met een soortgelijke CRM-Platform

Bekijk vacature »

Lead .NET ontwikkelaar

Voor een interessant en uitdagend project bij een zeer goede eind klant van Computer Futures ben ik per direct op zoek naar een lead Backend .NET ontwikkelaar met kennis en ervaring van grote administratieve bedrijfsapplicaties . Het project zal initieel voor meer dan 6 maanden met veel kans op verlenging zijn. Bij interesse en bij contact kan ik je precies alles vertellen van wat de eindklant verwacht en hoe het project eruit komt te zien. Heb je minimaal 5 jaar uitgebreide software ervaring in complexe Microsoft omgevingen met het liefst meerdere van onderstaande technieken/methodes? * .NET Framework * C# *

Bekijk vacature »

Ruby on Rails Developer in Twente

Dit in Twente gevestigd bedrijf is op dit moment op zoek naar een Ruby on Rails Developer. Eind jaren ’80 is het bedrijf opgericht. Anno 2017 zijn zij gespecialiseerd in het ontwikkelen van maatwerk oplossingen , webapplicaties en apps. Alles wordt ontwikkeld met Ruby on Rails aan de Back-end. Door met Ruby on Rails te ontwikkelen is het mogelijk om enorme complexe koppelingen gemakkelijk te koppelen. Omdat zij naast de maatwerk oplossingen die zij bieden ook veelal bezig zijn met het ontwikkelen van Softwarepakketten (SaaS), Is er sprake van voldoende variatie in de werkzaamheden. Ze kennen erg grote klanten en

Bekijk vacature »

Front-end / App developer gezocht – Starter,

Organisatie & Afdeling Met een flinke bak aan innovatieprojecten op de plank hebben wij nóg plek voor een gedreven Front-end / app development die graag in teamverband werkt aan mooie producten. Mooie producten die worden gezien door de hele wereld. We zijn op zoek naar een collega die mee wilt bouwen aan de toekomst, zowel zijn/haar eigen toekomst als die van ons als bedrijf. Heb jij een eigen visie, wil jij je sporen nalaten en écht het verschil maken in je vak? Dan pas jij wellicht bij ons! Wie zijn wij? Een innovatieve en groeiende ICT dienstverlener die de ambities

Bekijk vacature »

Gemotiveerde Senior PHP Developer (Symfony)

Organisatie Stel je voor; je schakelt binnen een van de meest toonaangevende organisaties binnen de zorg- en verzekeringsbranche. De informatie die feilloos door de zeer complexe applicaties stroomt die jij en je team elke dag weer perfectioneren is uiterst betrouwbaar. Jij bent dan ook een absolute PHP-held die zich kan vinden in het gezegde; ‘’onmogelijk bestaat niet, het kost alleen wat meer tijd’’. Je bekleed de rol van PHP developer binnen een team van absolute eindbazen op het gebied van software development. De producten en opdrachten zijn zeer divers, maar dat jij telkens weer diep in de code duikt verandert

Bekijk vacature »

Junior / Medior PHP backend developer gezocht in d

Ongeveer zes jaar geleden heeft deze speler zich op de markt gezet. Gestart met twee compagnons en feitelijk nog altijd klein gebleven (5 FTE). Waarom klein gebleven? Kwaliteit gaat bij deze partij voor kwantiteit. Met deze insteek en de in huis aanwezige, uitgebreide kennis van back- en front-end wisten zij uit te groeien tot een succesvol software bedrijf. Met het inhouse ontwikkelde softwarepakket weten zij grote partijen te voorzien van een goed werkend platform waar zij inmiddels niet meer zonder kunnen / willen. Functie-omschrijving Op het moment werkt men aan ongeveer twintig projecten die uiteenlopen van het doorontwikkelen en implementeren

Bekijk vacature »

Senior Java Developer Verbeter de zorgsector

Vacature: Senior Java Developer Utrecht Lijkt het jou leuk te werken voor een producten bedrijf die jaarlijks vele mensen levens redden? Lijkt het jou leuk om een organisatie technisch te innoveren, samen met een team van Senior Developers en Architecten? Waar jij en je team de vrijheid krijgen om de juiste en dus nieuwe technologiestack te kiezen? Wat zou je ervan vinden aan de slag te gaan met o.a Java8, Docker, Spring Boot, Kubernetes en Elasticsearch? Dan hebben wij de baan voor jou! Jouw werkgever: Dit softwarebedrijf redt jaarlijks vele levens met de bouw van een nieuw zorgplatform Dit technologiebedrijf

Bekijk vacature »

Senior .NET Developer gezocht voor een marktleider

Organisatie & Afdeling Voor een van onze partners nabij Groningen ben ik op zoek naar een Senior .NET Developer die uitsluitend voor eigen sites aan de slag gaat. Deze partij is ontstaan in 1998 en is na 10 jaar tijd uitgegroeid tot marktleider in haar branche. Deze partij houdt zich bezig met het vergelijken van verschillende markten. Verschillende markten zijn: telecom, energie, gas en licht, internet etc. Ze zijn gevestigd in Groningen en in totaal werken er meer dan 40 personen. Het is een informeel bedrijf waar casual kleding wordt gedragen. Hier wordt veel waarde gehecht aan een goede werksfeer.

Bekijk vacature »

Ervaren .NET Developer/Architect in de zorg

Functieomschrijving Lijkt het jou leuk om als ervaren .NET Developer/Architect aan de slag te gaan voor een bedrijf werkzaam in de zorg? Reageer dan hier! Huidige architectuur beoordelen, aanpassen en bewaken; Het (mee)ontwikkelen van applicaties in .NET; Het uitvoeren van testwerkzaamheden; Het opstellen van technische documentatie; Het adviseren van de organisatie en jouw teamleden op jouw vakgebied; Het beoordelen en accepteren van nieuwe oplossingen en het implementeren ervan binnen de bestaande omgeving. Functie-eisen Beschikt over HBO/WO werk- en denkniveau; Ervaring als Lead Developer/Architect; Ervaring met SCRUM; Ervaring met Sitecore is een pré; Ervaring met high-availability en high-security is een pré;

Bekijk vacature »

Junior PHP developer (Top 20 beste arbeidsvoorwaar

Organisatie Wil jij werken in een snelgroeiende organisatie die werkt voor de grootste telecom bedrijven in Nederland. Deze organisatie maakt whitelabels voor onder andere vaste telefonie, mobiele telefonie, internet en cloud oplossingen. Wil jij onderdeel worden van een organisatie die in de top 20 van de beste arbeidsvoorwaarden en meest tevreden medewerkers staat, lees dan verder! Deze organisatie, gevestigd in meerdere landen in Europa, bestaat nu 8 jaar en groeit nog steeds ieder jaar ontzettend hard. Op dit moment telt het hoofdkantoor in Amsterdam zo’n 250 medewerkers. Deze organisatie werkt voor de grote telecom bedrijven en biedt allerlei oplossing voor

Bekijk vacature »

Medior Allround PHP Developer

Mijn opdrachtgever is een gevestigde onderneming in de omgeving van Den Bosch, het bedrijf heeft een geautomatiseerd platform ontwikkeld die het mogelijk maakt om in zoek machines te adverteren. Dit zoen zij dagelijks voor verschillende internationale partijen, hierbij komt een hoop data kijken die omgezet moet worden in Smart data in een Dash board voor de klanten zodat de resultaten goed overzichtelijk zijn. Het bedrijf heeft sinds kort ook een extra locatie geopend in Zuid Holland, deze vestiging dient alleen als Development center waar alleen de code ingedoken wordt. Het Development team in Den Bosch bestaat uit 8 man waarvan

Bekijk vacature »

Internationale speler op de markt zoekt Medior PHP

Dit bedrijf is in 1923 op de Duitse markt ontstaan. In 1985 betraden zij de Nederlandse markt. Het was hun eerste elektronica warenhuis die in de Benelux was geopend. Door de jaren zijn ze enorm gegroeid. Momenteel internationaal actief en tellen meer dan 1500 werknemers in z’n totaliteit. In Nederland hebben ze 12 vestigingen en tellen ze 80 medewerkers binnenlands. Het is een onwijs groot bedrijf waar continu ontwikkelingen in plaatsvinden. Miljoenen bezoekers en klanten kopen er dagelijks dankbaar hun producten. Het bedrijf blijft groeien en ze hebben verder nog vele plannen in gedachte, die ze graag op papier willen

Bekijk vacature »

Medior Java Developer Utrecht €4000

Medior Java Developer Utrecht €4000 Wat ga je doen als Medior Java developer? Je gaat las Medior Java developer van start bij de organisatie in Utrecht waarbij het R&D team zich specialiseert in online applicaties ontwikkelen voor handhavers. In een scrum team van medior en senior developers ga je op inhouse basis aan de slag om de onderliggende systemen eenvoudig te configureren. Zo draag je bij aan de softwareontwikkeling van opsporingsapparatuur en applicaties voor toezicht en handhaving. Je ontwikkelt bijvoorbeeld een uren registratie app, een fietshandhavingapp die overlast gevende fietsen labelt, of een taxivergunning controle app. Hiervoor pas je dagelijks

Bekijk vacature »

Startende .Net developer gezocht die wil ontwikkel

Al ruim 10 jaar is dit bedrijf actief in meerdere branches, o.a. houden ze zich bezig met softwareontwikkeling en met name productiviteitsverbetering voor klanten in de Voeding industrie, de Farmaceutische sector en in de Zorg. Ze leveren een bruikbaar product dat naar wens van de klant op maat kan worden gemaakt. De bedrijfscultuur is informeel en op de werkvloer hangt er een ‘relaxte sfeer’ met korte lijnen naar het management. Ze zijn gevestigd in de omgeving van Breda en actief op nationaal niveau. De ideale mogelijkheid om als starter in te stromen! Functie-omschrijving Het development team bestaat uit 3 man.

Bekijk vacature »
Lorre Mertens

Lorre Mertens

23/08/2015 17:14:04
Quote Anchor link
Beste forummers,

Ik ben OOP aan het leren. Ik snap de basis nu, maar kan me moeilijk inbeelden hoe het praktisch gebruikt kan worden.

Kan iemand een praktisch voorbeeld geven van hoe een visibility property bijvoorbeeld nuttig kan zijn?

Mvg
 
PHP hulp

PHP hulp

17/08/2018 01:54:34
 
- Ariën -
Beheerder

- Ariën -

23/08/2015 17:21:11
Quote Anchor link
Lees de OOP-tutorial van phptuts.nl eens door.
 
Lorre Mertens

Lorre Mertens

23/08/2015 17:32:05
Quote Anchor link
Dat heb ik gedaan, een goede tutorial.

Maar; het voorbeeld is daar private $username. Waarom zou je ervoor willen zorgen dat $username niet meer direct te benaderen is? Welk voordeel levert dat op? Beveiliging?
Gewijzigd op 23/08/2015 17:32:13 door Lorre Mertens
 
Wouter J

Wouter J

23/08/2015 18:04:50
Quote Anchor link
Binnen je class wil je een gecontroleerde omgeving hebben. Stel we hebben een BlogPost class die een property $tags heeft, met daarin een array van Tag classes:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
class BlogPost
{
    public $tags = array();

    // ...
}
?>


Hij is nu publiek, dus niks weerhoud ons ervan om hier lekker andere waardes in te gooien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$blogPost
= new BlogPost('De titel', $content);
$blogPost->tags[] = 'een string mag niet';
$blogPost->tags[] = $blogPost; // een blog post die zichzelf als tag heeft mag ook niet echt...
?>


We hebben dus geen gecontroleerde omgeving meer binnen deze class. Wanneer we de property nu protected maken hebben weer een, voorlopig, gecontroleerde omgeving:
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 BlogPost
{
    protected $tags = array();

    public function addTag(Tag $tag)
    {

        // ... we kunnen hier bijv. ook controleren of de tag niet
        // al was toegevoegd

        $this->tags[] = $tag;
    }
}


$post = new BlogPost('De titel', $content);
$post->addTag(new Tag('phphulp'));
$post->addTag('een string'); // Error: Expected instance of Tag, got "string"
?>


We kunnen nu echter nog steeds de class extenden en verkeerde waardes toevoegen, dus maken we er private van zodat we erg echt zeker van zijn dat addTag() de enige manier is om tags toe te voegen aan de BlogPost.
 
Lorre Mertens

Lorre Mertens

23/08/2015 18:20:42
Quote Anchor link
Bedankt voor de heldere uitleg Wouter, het is nu veel duidelijker.
 

23/08/2015 22:35:28
Quote Anchor link
Ik vind PHP in vergelijking met andere talen een onhandige taal om de voordelen van OOP uit te leggen.

Het 'probleem' van een web-omgeving is dat PHP telkens eenmalig reageert op een verzoek van een browser. Dat is nogal procedureel en 'immer gerade aus'. Dan ben je ook nog eens de enige ontwikkelaar, en is het eigenlijk best wel handig dat je overal bij kunt. Private variabelen is dan gewoon onzin. Waarom zou je objecten in het geheugen vasthouden? Geen idee. Lukt ook prima zonder.

Als je deze weg blijft volgen loop je vanzelf tegen een probleem aan, ondanks hergebruik van code via include en require(_once) statements. Afhankelijk van hoe groot je programma wordt, wordt je code steeds meer spaghetti omdat je voor elk scherm weer andere code moet maken. Je kunt alleen nog maar snelheidswinst in programmeren krijgen door je eerdere code te copy-pasten. En als je dan bugs aan de ene kant gaat oplossen ontstaan ze weer aan de andere kant en vice versa. Het schiet niet op, je bent vastgelopen in je eigen denkwerk.

Om code uit elkaar te houden en gestructureerd (als een soort adresboek in familieboomstamvorm) is het concept van OOP geintroduceerd. Wat je dan doet is je code opdelen in zo klein mogelijke stukjes. Dat heeft als voordeel dat die stukjes heel overzichtelijk en foutvrij worden. Je zet die stukjes in een functie (methode) en je groepeert functies die samenwerken in een object. Als je de methoden benoemt naar wat ze doen, kan je je eigen code als een soort pseudo-code lezen, en wordt het voor jezelf volstrekt duidelijk wat de code precies in welke volgorde doet. Documentatie van code heb je dan bijna niet meer nodig.

Om variabelen binnen een naamruimte (namespace ;) qua naam en inhoud per functie gescheiden te houden, heb je een variabele scope met de keuze om variabelen private te houden. Zo van: 'die variabele is niet bedoeld om direct door andere code veranderd te worden', want dan weet je het op een gegeven moment zelf ook niet meer.

Naast dan OOP jezelf ontlast van de internals van je eigengeschreven code, geldt dat ook voor jou met code van anderen en andersom; je hoeft alleen nog maar elkaars API aan te roepen en je bent klaar. Dat vergroot de schaalbaarheid en onderhoudbaarheid van de code enorm. Daarbij worden de objecten/API's een soort zelfbedachte LEGO-stukjes, die niet als spaghetti maar met nopjes aan elkaar hangen, je kunt de code eenvoudig vervangen voor andere code die dezelfde nopjes heeft.

De praktische voorbeelden volgen vanzelf als je code schrijft.
Gewijzigd op 23/08/2015 22:37:12 door
 
Lorre Mertens

Lorre Mertens

23/08/2015 22:50:42
Quote Anchor link
Bedankt An tje, erg waardevol antwoord!
 



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.