Class locaties

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software developer

Functieomschrijving Voor een gewaardeerde werkgever in de regio van Middelburg zijn wij op zoek naar een ambitieuze PHP/Symfony Developer. Een enthousiast persoon die het development team komt versterken met het aanpakken van complexe en nieuwe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel persoonlijke als professionele groei? Lees dan snel verder! Dit ga je doen: Aanpassingssuggesties van collega’s in kaart brengen, vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Ontwikkeling en beheer van de serviceportal in Symfony en

Bekijk vacature »

Fullstack Software Developer

Bedrijfsomschrijving Functieomschrijving Java ontwerpen, bouwen en testen (T-shaped). Als senior ontwikkelaar ben je bekend in zowel de back-end als de frontend van een applicatie. Angular, Continious Delivery / Integration. Een ervaren iemand die de leiding kan nemen, een weg vindt in nieuwe situaties, en in oude applicaties. Initiatiefrijk, bekend met de (technische) omgevingen die we bij duo gebruiken, niet te beroerd om collega’s te helpen. Als senior programmeur in staat om op te treden als lead programmeur. Ondersteunt de testers bij de testautomatisering en minder ervaren programmeurs bij dagelijks werkzaamheden. Dit laatste met name op het gebied van Angular. Achtergrond

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

SAP HANA Cloud Application Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12662 Introductie HANA Cloud Application Developer at a High Tech company. The company is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. This role is situated in the Big Data Analytics (BDA) Domain. The teams have mixture of young talent and senior specialists and have a

Bekijk vacature »

C#.NET developer

Functie Het development team bestaat momenteel uit vijf backend C#/.NET ontwikkelaars. Op dit moment zit één ontwikkelaar dedicated op de mobiele applicatie. Als team werk je samen aan het zelf ontwikkelde software platform. Dit bestaat uit zowel apps als websites. Om het systeem door meer dan honderdduizenden gebruikers wordt gebruikt is het bijna vanzelfsprekend dat de kwaliteit van het product hoog moet liggen. Het systeem bestaat uit drie projecten. Je werkt dus aan deze drie projecten waarbij de focus op z’n tijd verschuift. De technieken die worden toegepast zijn o.a. .NET Core, Xamarin, C# en MVC. Je zal dus met

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

Database ontwikkelaar

Functieomschrijving Wil jij aan gave logistieke softwareprojecten werken en bij een uniek softwarebedrijf in de regio van Tilburg? Wacht niet langer en reageer snel op deze vacature. Als Database ontwikkelaar ga je aan de slag het schrijven van stored procedures en verder uitbouwen van de SQL database. Je werkt in een database team, met allemaal mensen die energie krijgen van software en techniek. Verder krijg je als taak: Optimaliseren en uitbouwen van de MS SQL databases die gebruikt worden; Optimaliseren van query's, waardoor er efficiënter gewerkt kan worden; Je werkt met de technieken T-SQL of PL/SQL; Bij interesse kan je

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden je HBO ICT Informatica diploma in ontvangst mogen nemen? Of heb je een aantal jaar ervaring als Software Developer en ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een gewaardeerde werkgever in de regio van Goirle zijn wij op zoek naar een junior/medior Back-end Developer met affiniteit met MS Acess. Samen met een vooruitstrevend team ben je verantwoordelijk voor het ontwikkelen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL en affiniteit met MS Acess. Je bent klantvriendelijk en flexibel ingesteld en vindt het leuk om klanten te

Bekijk vacature »

C#.NET/Unity Developer

Functieomschrijving Voor een gewaardeerde werkgever in de omgeving van Breda zijn wij op zoek naar een software ontwikkelaar. Dit bedrijf houdt zich bezig met de ontwikkeling van WMS Software (C#/Unity & SQL). Past dit bij jou? Lees snel verder! Jouw werkzaamheden zullen er als volgt uitzien: Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Samen met 6 applicatieontwikkelaars hebben jullie de verantwoordelijkheid voor de uitbreiding en ontwikkeling van de webapplicaties; Het uitvoeren van updates/aanpassingen aan de huidig draaiende applicaties; Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software. Bedrijfsprofiel Wie

Bekijk vacature »

Java developer

Functie Je gaat aan de slag als Tester voor een aantal mooie projecten. Je komt terecht in een DevOps team waar jij aan de slag gaat om de kwaliteit te waarborgen omtrent de maatwerk software voor de klanten. Je draait je hand er niet voor om de adviserende rol te bekleden op het gebied van testautomatisering en het opzetten van testframeworks. Zoals aangegeven ga je daadwerkelijk in het eigen team aan de slag en is het daarnaast ook gebruikelijk bij de klanten op locatie te komen om te werken aan de opdrachten. Je krijgt zodoende echt een mooie kijk in

Bekijk vacature »

Front-End Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Front-End Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

Bekijk vacature »

Medior Java developer

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 »

Embedded Software Developer Games

Functie omschrijving Heb jij affiniteit met hardware en wil jij kleuren binnen een Qt framework? Spreek jij de talen C en of C ++? Dan ben ik wellicht opzoek naar jou! Voor een super gave opdrachtgever in omgeving Delft is er namelijk plek voor een nieuwe kracht! Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke game industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen en buitenland? Je zult in een team, samen met vier ontwikkelaars, de mooiste

Bekijk vacature »

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

Bekijk vacature »

Back End Developer

As a Back End developer at KUBUS you will be developing the (web) application and services of BIMcollab. You have a focus on the back end of our software, for which we mainly work with C# and .NET. We use a full-stack approach, which means that in addition to the back-end, you will also help with other parts of the code. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact

Bekijk vacature »
Roel -

Roel -

24/09/2012 17:39:17
Quote Anchor link
Hoi allemaal,

Vandaag weer een OO topic van mijn kant! Ik zit namelijk met het probleem dat ik vastloop op een toch wel vrij belangrijk punt in het OO-wereldje.

Ik heb de laatste tijd op m'n stage heel wat geleerd over namespaces en dit is mij nu wel zo goed als duidelijk. Een namespace is een bepaalde ruimte waarin classes zich bevinden, weliswaar virtueel als ik het goed heb.

Nu hangt dit een beetje samen met hetgeen waar ik tegenaan loop: waar plaats ik classes in een mappenstructuur? Stel dat ik een simpel gebruikerssysteem heb met de volgende classes: Storable, User, UserMapper, MapperInterface, Mapper en Database en MySQL.

In welke mappen zouden jullie deze classes onderbrengen? Je kunt natuurlijk alles in de map /classes gooien en een autoloader instellen en eventueel met namespaces wat doen, maar echt netjes en overzichtelijk is dat natuurlijk ook niet!

Ik kijk uit naar jullie reacties!

Groetjes,
Roel
 
PHP hulp

PHP hulp

12/05/2024 07:31:04
 
Cake Masher

Cake Masher

24/09/2012 17:42:57
Quote Anchor link
Hey Roel,

Zoals je al zei, alles in een map gooien. Dat doe ik zelf ook altijd, ik vind het persoonlijk overzichtelijker en handiger als ik alle classes op een plek heb staan. Dat scheelt mij een hoop zoeken, vooral als ik er een tijd niet aan heb gewerkt.

Als ik kijk naar projecten zoals forum's, zetten hun de classes grotendeels ook op een plek.

Het is volgens mij maar wat je zelf handiger vind, en ik vind alle classes op een plek persoonlijk niet niet netjes eruit zien zeg maar.

Groetjes,
Rick
 
Wouter J

Wouter J

24/09/2012 17:49:11
Quote Anchor link
Offtopic:
Ahh, eindelijk weer een OO topic, lang op gewacht!


Je moet natuurlijk met namespaces werken, waarbij ik de build-in namespace systeem van PHP adviseer (boven de PEAR namespace die ZF1 gebruikt Zend_Framework_Foo i.p.v. Zend\Framework\Foo).

Voor hoe je dit doet met namespaces en mappenstructuur/autoloading heeft de PHP usergroup een standaard geschreven, de PSR-0 standaard. Hierin is ook een standaard autoloader inbegrepen. Mocht je nou met composer gaan werken, wat een goed idee is, dan zul je zien dat de composer autoloader ook deze standards gebruikt.

Een korte samenvatting van deze standaard:
- Een namespace is opgebouwd uit ProjectNaam\NamespaceNaam. Dus als ik een project RoelUserSystem heb (laten we zeggen dat we die de RUS namespace geven) dan staan alle klassen in de RUS namespace. Nu hebben we alles wat te maken heeft met Users in de User namespace staan. Je klassen zien er dus zo uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
RUS\User\User;
RUS\User\UserMapper;
RUS\User\Type\Admin;
RUS\Mapper\MapperInterface;
RUS\Mapper\Mapper;
RUS\DI\ServiceContainer;
RUS\DI\ContainerAwareInterface;
RUS\DI\ContainerAware;

Deze staan in devolgende mappen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
RUS/
  User/
    Type/
      Admin.php
    User.php
    UserMapper.php
  Mapper/
    MapperInterface.php
    Mapper.php
  DI/
    ServiceContainer.php
    ContainerAwareInterface.php
    ContainerAware.php


Om het project duidelijk te maken wordt deze map vaak weer in een src/vendor/lib map gestopt, zodat je de core code scheid van de project code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
MyNewProject/
  src/
    RUS/
      ...
  ... project scripts

Zo ziet je mappenstructuur eruit bij een hedendaagse applicatie in PHP.

Wanneer ga ik over op een andere namespace?
Ik gooi altijd dingen die bij elkaar horen in 1 namespace. Alles wat te maken heeft met de Users gaat in de User namespace, Mapper dingen in de Mapper namespace, DI dingen in de DI namespace.

Namespaces kunnen elkaar ook overlappen. De RUS\User\UserMapper klasse erft bijv. over van de RUS\Mapper\Mapper klasse. En misschien is de RUS\Mapper\Mapper wel ContainerAware en erft die weer over van de RUS\DI\ContainerAware klasse.
 
Roel -

Roel -

24/09/2012 21:23:33
Quote Anchor link
Bedankt, daar kan ik wat mee!
Is dit dan ook gewoon toe te passen in een eigen (als ik het al zo mag noemen!) framework?
Je hebt het namelijk over ZF, maar daar ben ik denk ik nog niet aan toe!
 
Wouter J

Wouter J

24/09/2012 22:17:29
Quote Anchor link
Tuurlijk, waarom niet? Ik heb het over ZF1 gehad omdat dat een voorbeeld is van de ouderwetse, niet meer aan te rade, PEAR namespace methode.

Gebruik gewoon de autoload functie die gegeven is door PSR-0 en zet die eventueel om in een spl-autoloader. Of gebruik de autoloader die Symfony2.0 gebruikt: http://symfony.com/doc/2.0/components/classloader.php (geen kennis van Symfony benodigd, gewoon alleen klassen downloaden en doen wat er in de docs staat over dat component).
Of gebruik mijn classloader: https://github.com/WouterJ/snakeMvc/tree/master/lib/snakeMvc/Loader Mocht je dat willen leg ik je dan wel even uit hoe je die moet gebruiken. Maar het komt op dit neer:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
use snakeMvc\Framework\Loader\ClassLoader;

require_once '/Loader/ClassLoader.php';

$classloader = new ClassLoader();

// ... eventuele settings

$classloader->register();
?>
 
Roel -

Roel -

28/09/2012 22:20:25
Quote Anchor link
Sorry voor de late reactie, ik heb het nogal druk.

Ik houd het toch bij die ene methode van de website die je me gaf:
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

function autoload($className)
{

    $className = ltrim($className, '\\');
    $fileName  = '';
    $namespace = '';
    if ($lastNsPos = strripos($className, '\\')) {
        $namespace = substr($className, 0, $lastNsPos);
        $className = substr($className, $lastNsPos + 1);
        $fileName  = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
    }

    $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';

    require $fileName;
}

?>

Ziet er voor mij duidelijk uit.

Goed, ik heb even een namespace structuur gemaakt voor een user systeempje, met jouw structuur als voorbeeld. Zit ik een beetje goed?
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
- RUS
    - User
        - Type
            - User
            - Administrator
        - User
        - UserMapper
    - Mapper
        - MapperInterface
        - Mapper
    - Database
        - Adapter
            - MySQL
            - PDO
                - MySQL
                - Oracle
                - MSSQL

Van de ene kant vind ik het goed, maar van de andere kant ook weer een raar zicht.
Ik kijk uit naar jullie reactie!
 
Roel -

Roel -

30/09/2012 21:47:35
Quote Anchor link
Bump.
 
Roel -

Roel -

04/10/2012 20:09:49
Quote Anchor link
Bumperdebump.
 
Wouter J

Wouter J

05/10/2012 22:51:59
Quote Anchor link
Als het laatste telkens een class is ja, dan klopt het. Misschien even interessant: http://net.tutsplus.com/tutorials/php/namespacing-in-php-2/
 
Roel -

Roel -

17/10/2012 22:15:53
Quote Anchor link
Again, sorry voor de late reactie.
Ik heb een structuur opgezet in mappen, maar ik heb totaal geen idee of het goed is.

Heb een 7z-bestand geupload naar Dropbox, zou iemand het willen controleren?
http://dl.dropbox.com/u/5839420/namespacing.7z

En om aan te tonen dat het geen troep is, maar ik geen andere manier kon bedenken om het te controleren:
https://www.virustotal.com/file/b6ca3770dedf2c1fc9238b94568ece26cce40a4f140228d8ad9f6cf551ff53da/analysis/1350504892/
 
Wouter J

Wouter J

17/10/2012 22:28:03
Quote Anchor link
Waarom zou het niet goed zijn? 1 van de belangrijkste dingen in het leven is het geloven in jezelf, geloof eerst dat wat jij hebt goed is totdat je verbeterd wordt door iemand anders, ga dan pas twijfelen.

Al vind ik PDOInterface niet echt geslaagd. Ik zou een algemene DatabaseInterface maken en dan een abstracte PDODatabase klasse. Je hebt namelijk methods die in alle PDO klassen hetzelfde zijn, eigenlijk bijna allemaal.
 
Roel -

Roel -

18/10/2012 20:53:55
Quote Anchor link
Ik heb m'n structuur aangepast en ook even een scriptje gemaakt om een fatsoenlijke tree weer te geven.
Hoe vind je hem er zo uitzien?

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
namespacing

    index.php
    RUS
        Database
            Adapter
                Database.php
                Normal
                    MySQL.php
                    NormalDatabase.php
                PDO
                    MSSQL.php
                    MySQL.php
                    Oracle.php
                    PDODatabase.php
            DatabaseInterface.php
        Mapper
            Mapper.php
            MapperInterface.php
        Storable
            Storable.php
            User
                Type
                    Administrator.php
                    User.php
                User.php
                UserMapper.php


Is het overigens niet verstandig om van de mappers en de Database class een singleton te maken?
Gewijzigd op 19/10/2012 14:27:39 door Roel -
 
Roel -

Roel -

21/10/2012 23:08:26
Quote Anchor link
Bump
 
Wouter J

Wouter J

22/10/2012 10:07:52
Quote Anchor link
Singletons? Als je blieft niet! :)

2 hele belangrijke redenen:
- Wat als je straks 2 database verbindingen hebt? Dan moet je de klasse weer singleton-af maken. Met singletons verpest je eigenlijk een groot deel van je mogelijke uitbreiding;
- Met Test Driven Development wil je per test een nieuwe klasse hebben, je moet niet telkens met dezelfde singleton gaan werken.

Eigenlijk moet je nooit singletons gebruiken, is mijn mening.
 
Nicky Monsma

Nicky Monsma

01/12/2012 19:47:42
Quote Anchor link
Mijn mening is namespaces is overbodig
ik zou het meer gebruiken als je met zn 2e aan het project werkt

bijvoorbeeld
namespace piet en namepace klaas

zodat je weet wie wat heeft gemaakt maar tog zal ik eerder gaan voor interfaces
 



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.