OOP gedachtengang

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken voor of bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q. programmadocumentatie. Wie

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken voor of bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q. programmadocumentatie. Wie

Bekijk vacature »

C# developer gezocht met affiniteit voor machines

Voor een bedrijf in de regio Den Haag zijn we momenteel op zoek naar een .NET developer met affiniteit voor de techniek. De organisatie richt zich op het fabriceren van technische apparatuur die gebruikt wordt door industriële bedrijven. Ondanks dat software een steeds belangrijkere rol speelt binnen de organisatie en bij hun producten, bestaat de core business uit het bouwen van machines. Het is dan ook geen functie waarbij je 8 uur per dag achter je PC zal zitten om alleen te programmeren. Naast het programmeren van nieuwe onderdelen van hun administratieve systeem zal je namelijk een groot deel van

Bekijk vacature »

API Developer Red Hat Fuse

Bedrijfsomschrijving Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap dat hoofdzakelijk op OpenShift, Azure en Linux draait en bestaat uit standaard- en maatwerkapplicaties. De maatwerk applicaties worden ontwikkeld door een inhouse development team. Het doel voor de komende periode is het verder vernieuwen, optimaliseren en automatiseren van het huidige applicatielandschap, waarbij gebruik wordt gemaakt van de nieuwste technieken. Zin om deze uitdaging als API Developer / Integratie specialist aan te gaan? Om de vernieuwing en optimalisatie kracht bij te zetten zijn ze bezig

Bekijk vacature »

Typescript Developer Internationaal

Bedrijfsomschrijving De organisatie waar jij als TypeScript Developer komt te werken is te karakteriseren als een handelsonderneming en een echt familiebedrijf. Het bedrijf is internationaal bekend en is gelegen in Utrecht. Er wordt veel waarde gehecht aan een open en laagdrempelige bedrijfscultuur. Als TypeScript Developer met een hands-on mentaliteit zal jij de hoofdverantwoordelijke worden voor de continuïteit en toekomst van de TypeScript webapplicaties. Deze applicaties dienen gekoppeld te worden aan het huidige IT-landschap binnen de organisatie en worden gebouwd middels TypeScript, Angular, NodeJS en GraphQL. Jij zal dus het echte pionierswerk verrichten. Voor dit pionierswerk krijg jij als Developer de

Bekijk vacature »

Unieke functie! Java Lead developer bij blockchain

Bedrijfsomschrijving Dit bedrijf heeft in eigen beheer in de afgelopen jaren een blockchain platform neergezet in de markt. Het platform is gemaakt in Java en bedrijven en overheden kunnen hier bijvoorbeeld documenten mee kunnen authenticeren. Een grote groep gemeenten in Nederland maken hier inmiddels al actief gebruik van. Ze gaan nu werken aan een langdurig (meerdere jaren) project voor de Europese Unie waarbij ze de basis gaan leggen voor de toekomstige blockchain technologie binnen Europa. We zoeken nu een ervaren Java Lead developer die een team kan aansturen en zelf mee wil programmeren. Het is een unieke kans om samen

Bekijk vacature »

Cloud engineer

Geloof jij ook dat de toekomst ligt in Cloud Development? Als Cloud Engineer bij Luminis Apeldoorn implementeer je oplossingen bij onze klanten, om hun applicatielandschap te moderniseren. Dit doe je volgens Cloud Architectuur principes. Je voert je werkzaamheden uit bij ons op kantoor, bij de klant en waar mogelijk (gedeeltelijk)vanuit huis. Wat zijn voorbeelden van jouw werkzaamheden? Je gaat samen met de klant hands-on aan de slag en realiseert nieuwe oplossingen Je functioneert goed in een team en weet vanuit jouw specialisatie analyses te maken en mee te denken met de klant Je krijgt ruimte voor eigen inbreng en ontwikkeling

Bekijk vacature »

Technisch Applicatiebeheerder DevOps

Jij bent de missende schakel die ons DevOps team nodig heeft om alles perfect op elkaar te laten aansluiten. Jij bent namelijk de specialist die in ons e-commerce platform kan onderzoeken waar de fout zit en tegelijkertijd in contact staat met diverse stakeholders over de functionaliteit van het platform. Wat ga je doen? Binnen het DevOps team ben jij verantwoordelijk voor het beheer van E-Commerce gerelateerde applicaties en interfaces. Van het monitoren van de performance en beschikbaarheid tot het onderhouden van contacten met stakeholders en het registeren en documenteren van de issues en de processen. Alles staat in Azure en

Bekijk vacature »

Senior Java Developer

Luminis Technologies is een onderdeel van Luminis dat zowel producten als diensten levert op basis van cloudtechnologie. Als senior software engineer word jij medeverantwoordelijk voor de ontwikkeling van ons product InformationGrid. InformationGrid is een modelgedreven dataplatform dat organisaties in staat stelt om snel en eenvoudig data te modelleren en op een slimme manier in te zetten. Ben jij op zoek naar een technisch uitdagende rol bij een productbedrijf met een internationale klantenkring? Dan is deze functie echt iets voor jou! Wat zijn voorbeelden van jouw werkzaamheden? Je ontwikkelt nieuwe features en stemt deze af met anderen Je tilt de code

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken voor of bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q. programmadocumentatie. Wie

Bekijk vacature »

C# .NET Developer

Bedrijfsomschrijving Onze klant bouwt dynamisch en voornamelijk op .NET gebaseerde software voor diverse organisaties die zowel nationaal als internationaal opereren. De vestiging in Apeldoorn vormt onderdeel van een grotere organisatie met meerdere locaties in Nederland. De focus hier is om effectieve software te bouwen om data intensieve processen zo goed en overzichtelijk mogelijk te laten verlopen. Om dit soort processen goed te waarborgen en dat de juiste doelstellingen worden gehaald bieden zij velen oplossingen. Een voorbeeld hiervan is maatwerk mobile apps die gekoppeld worden aan zowel eigen software als die van diverse andere organisaties om de juiste data flows mogelijk

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken voor of bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q. programmadocumentatie. Wie

Bekijk vacature »

Lead developer

Lead developer DWA, Gouda Nuttig inzicht uit data begint bij jou! De digitale producten die jouw team van developers ontwikkelt, helpen ons om gebouwen en installaties slim, gestandaardiseerd en continu te kunnen monitoren. Met als doel dat ze optimaal en duurzaam presteren. Door het ontwikkelen van digitale tools draag je bij aan de ontwikkeling van digital twins van klimaattechnische installaties, optimale benutting van IoT-data, het halen van BREEAM-/LEED-/WELL-eisen. Als Lead developer (vestiging Gouda) ben je het centrale aanspreekpunt van een team dat momenteel bestaat uit vier developers. Je denkt na over de opgave, het grotere plaatje en de integratie van

Bekijk vacature »

BI Developer

Bedrijfsomschrijving De organisatie waar je komt te werken als (Senior) BI Developer is een grote internationale financiële instelling. Met vele vestigingen in Nederland zijn ze een belangrijke speler op de financiële markt. Jij zal hoofdzakelijk op het kantoor in Amsterdam werkzaam zijn, maar het kan ook voorkomen dat je af en toe naar een andere vestiging gaat. Het bedrijf telt ongeveer 5000 medewerkers waarvan ruim 150 ICT'ers. Het team waar je in komt te werken als (Senior) BI Developer is een ambitieus BI team dat zich bezighoudt met lokale en internationale uitdagingen. Zo zit een Junior BI Developer, 2 (Medior)

Bekijk vacature »

Medior PHP Developer voor online solutions

Bedrijfsomschrijving Deze start-up organisatie groeit op het moment erg hard en ze zijn op zoek naar een medior/senior PHP developer die graag aan online solutions wil bouwen. Ze hebben een systeem ontwikkeld die marketingactiviteiten kan meten waardoor de klant hun marketing tools beter in kunnen zetten. Ze zijn marktleider op dit gebied in Nederland en het doel is om ook internationaal voet aan de grond te krijgen. De cultuur van het bedrijf is laagdrempelig, informeel, jong, dynamisch en ambitieus. Hier werken 15 mensen waaronder marketeers, accountmanagers en developers. Het team van developers is een klein maar sterk team van 5

Bekijk vacature »

Pagina: « vorige 1 2 3 4 5

Wouter J

Wouter J

26/06/2012 20:13:02
Quote Anchor link
Nee, ik denk dat je Namespaces niet erg onder de knie hebt. Lees eens wat in over namespaces, zoals bijv. hier.
 
PHP hulp

PHP hulp

04/03/2021 01:59:56
 
Roel -

Roel -

26/06/2012 20:32:24
Quote Anchor link
Ik snap het inderdaad niet nee, en de website ook niet echt goed.
Ik heb nu dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
- Source Files
  - classes
     - User.php
     - UserMapper.php
  index.php

User.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
namespace User\User;

class User
{
    // code
}
?>

UserMapper.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
namespace User\UserMapper;

class UserMapper
{
    // code
}
?>

index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
use User\User;
use User\UserMapper;

// code
?>
[/code
Ik snap er geen bal meer van nu.
Gewijzigd op 26/06/2012 20:35:59 door Roel -
 
Wouter J

Wouter J

26/06/2012 20:53:37
Quote Anchor link
Kijk als je een gewoon script maakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
function myFunc() {
    return 'Lorem ipsum';
}

class Foo
{
    public function bar()
    {

        return 'Foo....bar!!!';
    }
}

?>

Dan staat dit allemaal in 1 scope, de global scope. Dat is de \ namespace.

Meteen namespace deel je een stukje script op in een bepaalde categorie. Het is ong. te vergelijken als je heel veel berichten hebt:
- beginnen-met-HTML
- Objectief-leren-denken
- psychologie-voor-gevorderden
- Ruby-en-SQL
- CSS-icm-HTML
- ...

Als je deze berichten nu in verschillende categorieën opdeelt wordt het een stuk overzichtelijker:
HTML
- beginnen-met-HTML
- CSS-icm-HTML
Scripting
- Objectief-leren-denken
- Ruby-en-SQL
Overig
- psychologie-voor-gevorderden
- ...

Zo werken namespaces ook. Je deelt de klassen, functies en variabele op in verschillende categoriën. Alles van de User gaat in de User namespace en alles dat te maken heeft met berichte in de Post namespace.

Een namespace definieer je door 'namespace naam-v-d-namespace' te doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
namespace Post;

class BlogPost
{
    // ...
}
?>


Als je nu in een bestandje deze klasse wilt gaan gebruiken zul je 2 dingen moeten doen: of je gaat in dezelfde namespace zitten als de klasse of je moet de namespace definiëren waarin de klasse zit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
require_once 'Post/BlogPost.php';

$blogPost = new Post\BlogPost('Foobar title');
?>

Hierin wordt de klasse BlogPost in de namespace Post gepakt.

De standaards wijzen voor dat het beter is om je namespace zo op te delen: ProjectName\Categorie\Categorie1\... Het wordt dan dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
namespace WjCMS\Post;

class BlogPost
{
    // ...
}
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
require_once 'Post/BlogPost.php';

$blogPost = new WjCMS\Post\BlogPost();
?>

Nu wordt dit natuurlijk heel veel typwerk. Daarom hebben ze in PHP 'use' bedacht, daarmee kan je een alias maken voor een namespace:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
require_once 'Post/BlogPost.php';

use WjCms\Post as WjPost; // alias WjPost voor de namespace WjCms\Post

$blogPost = new WjPost\BlogPost();
?>


Begrijp je het nog?
Want nu heeft PHP het nog makkelijker voor je gemaakt! Je kan namelijk ook achter het use keyword de namespace + klassenaam plaatsen. Dan zal telkens die klassenaam worden gezocht in die namespace:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
require_once 'Post/BlogPost.php';

use WjCms\Post\BlogPost;

$blogPost = new BlogPost();
?>

Dit maakt het dus allemaal veel makkelijker voor je, maar is in feite niks anders dan die lange new WjCms\Post\BlogPost(); van een paar scriptjes geleden.

Nu hebben een paar genies bedacht dat je die namespaces natuurlijk ook mooi kan omzetten om te gaan autoloaden, dit heeft dus niet iets met elkaar te maken. Een autoload functie (of klasse) wordt aangeroepen als je een klasse instantiërt (met new ...()) en die klasse bestaat nog niet.
Dan zet een PSR-0 autoloader de namespace + klassenaam om in een filepath. Een PSR-0 autoloader zal WjCms\Post\BlogPost omzetten naar WjCms/Post/BlogPost.php.
Hierdoor zal je het bestand dus in de map WjCms/Post/BlogPost.php moeten verplaatsen.
 
Jasper DS

Jasper DS

02/07/2012 15:17:11
Quote Anchor link
Niels, ik snap het Row Data Gateway Pattern nog niet erg goed... :S

Mijn functie fetchAll ziet er zo uit in mijn mapper:
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
<?php
public function fetchAll()
    {

        $resultSet = $this->getDbTable()->fetchAll();
        $entries   = array();
        foreach ($resultSet as $row)
        {

            $entry = new Application_Model_Client();
            $entry->setId($row->klantid)
                  ->
setName($row->klantnaam);
            $entries[] = $entry;
        }

        return $entries;
    }

?>


Hoe zou deze eruit moeten zien met dat pattern als ik de rowClass toevoeg aan het dbTable object?
 

Pagina: « vorige 1 2 3 4 5



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.