[oo] Correcte benaming namespace?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je hier

Bekijk vacature »

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

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 »

Back-end Developer C#

Functie omschrijving We are looking for a dutch native speaker Ben jij een ervaren back-end developer, die graag in een in-house functie wil werken? Passen de woorden innovatie, programmeren en teamspeler bij jou? Zoek niet verder en lees snel verder. Voor een echt familiebedrijf in de regio van Uden ben ik op zoek naar een back-end developer, die met name kennis heeft van C# en .NET. Jij gaat de interne applicaties verder optimaliseren en nieuwe features ontwikkelen. Verder ga je de volgende werkzaamheden uitvoeren: Ondersteunen gebruikers; Uitvoeren van analyses van de software/applicaties; Maken van functionele ontwerpen en deze door vertalen

Bekijk vacature »

Software Developer PHP JavaScript Python HBO SQL

Samengevat: Wij zijn een softwarebedrijf voor Autodealers. Ben jij een Medior of Senior Software Developer? Heb je ervaring met PHP, JavaScript of Python? Vaste baan: Java.Developer Software HBO €3.000 - €5.200 Bij ons op de werkvloer is er een positieve en informele sfeer. Naast een goede begeleiding en een enthousiaste klantenkring biedt deze werkgever een prettige omgeving met zeer afwisselende werkzaamheden. Houd jij van aanpakken en denk je dat je deze uitdaging aankunt? Dan zoeken wij jou! Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art

Bekijk vacature »

PHP developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Arnhem gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Als C# .NET Developer binnen dit bedrijf houd je je niet alleen bezig met het verbeteren van

Bekijk vacature »

.NET Developer

Dit ga je doen (Door)Ontwikkelen van het applicatielandschap; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het applicatielandschap; Sparren met de business. Hier ga je werken De organisatie is werkzaam in de financiële dienstverlening met meer dan 200 medewerkers en meer dan 250.000 eindgebruikers is het een van de grotere binnen haar branche. Je komt te werken in een team waarmee je verantwoordelijk bent voor het ontwikkelen en onderhouden van de financiële applicaties binnen de organisatie, denk hierbij aan het bouwen en onderhouden van portalen. Als .net developer ga jij het development team ondersteunen met de transitie naar

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Back-end .NET Developer

Functie omschrijving C# / .NET Developer gezocht voor een dynamische organisatie in de regio Houten! Voor een leuke organisatie in de regio Houten zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. In deze functie werk jij aan verschillende projecten en ga je vaak bij klanten op bezoek. Binnen deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid treffen. Bedrijfsprofiel Waar ga je werken? Het bedrijf waar je gaat werken is gespecialiseerd in het ontwerpen en implementeren van procesautomatisering en procesinformatisering. Zij doen dit onder andere voor de (petro)chemie, pharma, infra,

Bekijk vacature »

Junior .NET developer

Functie Jij hebt natuurlijk net jouw Bachelor op zak en gaat nu voor het eerst aan de slag bij een werkgever als junior .NET ontwikkelaar. Waarschijnlijk lijkt het jou spannend om ineens aan de slag te gaan bij klanten in de consultancy. Maak je niet druk, jij komt hier terecht in een warm bad en wordt totaal niet in het diepe gegooid. Zodra jij hier begint wordt jij gekoppeld aan een persoonlijke manager met een persoonlijk ontwikkelplan. Jij krijgt een scala aan trainingen, denk aan trainingen ten behoeve van het opdoen van zelf kennis en gedragscompetenties, maar ook trainingen voor

Bekijk vacature »

Lead javascript developer Node.js React

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Full stack developer Node.js, React Remote

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Software Developer

Functie omschrijving Veel begeleiding en de kans om je verder te ontwikkelen als software developer. Dat kunnen wij jou bieden bij deelname aan deze leuke traineeship. Je krijgt een mentor toegewezen die jou alle kneepjes van het vak leert. Heb jij al wat ervaring als software developer? Daar worden wij heel blij van! Lees snel verder! Bedrijfsprofiel Als software developer neem je deel aan een trainings programma in de omgeving van Haarlem waar je persoonlijk wordt begeleidt, zodat je alle kneepjes van het vak leert. Aan de hand van jouw kennis en ervaring krijg je een persoonlijk opleidingstraject. Je gaat

Bekijk vacature »
- Raoul -

- Raoul -

05/12/2012 11:14:57
Quote Anchor link
Hoi,

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

namespace Controller;

use Framework\Mvc\Controller\Controller;
use Framework\Http\Response;

class HelloController extends Controller
{
    public function indexAction()
    {

        return new Response('Halloooo!');
    }
}

?>


De code hierboven leeft in /src/controller/HelloController.php.
Nu mijn vraag: mag ik als namespace zomaar Controller gebruiken? Moet er geen projectnaam bij ofzo? Want ik heb de projectnaam van m'n framework al er bij gezet?

En als ik dan toch een projectnaam erbij zet, moet het dan /src/ProjectNaam/controller/HelloController.php worden ofzo?

Alvast bedankt

Raoul
Gewijzigd op 05/12/2012 11:48:14 door - Raoul -
 
PHP hulp

PHP hulp

28/11/2024 14:41:28
 
Wouter J

Wouter J

07/12/2012 22:01:03
Quote Anchor link
Je hebt in een framework vaak 3 soorten libraries: Het Framework, de 3th-party libraries en de project code. Het Framework is gewoon het framework waar hij op is gebaseerd. De 3th-party libraries zijn libraries van andere die je gebruikt, bijv. Monolog. De project code is de code specifiek voor dat ene project.

Vaak staan het framework en de 3th-party libraries in de vendor/ of library/ map en leeft de project code in de normale map.

Ik raad aan namespaces op te bouwen volgens de PSR-0 standaard, wat inhoudt dat je <vendor-name>\<namespace>\<namespace...>\<class> gebruikt. De vendor name is de naam van je applicatie. Stel je maakt een RaoulPHP framework en die heeft een Mvc\Application class dan wordt de namespace dus RaoulPHP\Mvc\Application. Deze leeft dan in: vendor/RaoulPHP/Mvc/Application.php

Voor de 3th party geldt hetzelfde. Ik raad je aan composer te gebruiken, die zorgt dat alles goed komt en al je dependencies (=3th-party libraries) in de vendor library staan en dat de namespaces allemaal kloppen.

De project specifieke code is natuurlijk een ander verhaal. Die moet je ook prefixen, in ZF1 gebeurd dit met de Application preffix als ik het goed heb. Je stelt dan in de autoloader in dat de Application namespace gewoon in de project root leeft.

Je krijgt dan klassen als Application\Controller\HelloController welke dan in Controller/HelloController.php leeft.

Maar wat je tegenwoordig steeds meer ziet (in ZF2 en Symfony sowieso) is het gebruik van Bundles/Modules. Je groepeert code op basis van hun functie. Je hebt bijv. bundle voor alles met de user (de UserBundle) en een bundle voor een admin interface (de AdminBundle) en nog eentje voor alle blog dingen (de BlogBundle), ect. Deze zet je allemaal in een map en geef je dus hun eigen vendor mee. Je krijgt dan dus een BlogBundle\Controller\PostController klasse die bijv. in src/BlogBundle/Controller/PostController.php leeft.

Symfony gaat nog een stap verder en gebruikt vendors. Je hebt geen BlogBundle maar bijv. een WjBlogbundle. Hierdoor heb je de mogelijk 2 verschillende bundles te gebruiken. Je krijgt dan een Wj\BlogBundle\Controller\PostController klasse die in src/Wj/BlogBundle/Controller/PostController.php leeft.
 
- Raoul -

- Raoul -

07/12/2012 22:34:02
Quote Anchor link
Heel erg bedankt voor je lang bericht, ik apprecieër het.
Zo ziet alles er nu uit:
Afbeelding

(Framework is trouwens het framework, heb nog niet echt een naam).

Dat van Composer is trouwens een goeie tip, ben alleen beetje bang of Spyc wel zo'n repo heeft (of hoe dat ook heet) anders kan ik altijd nog steeds yaml loader van Symfony gebruiken.

Dat van bundles en modules lijkt me trouwens heel interessant en zeker overzichtelijk! Als ik dan bijvoorbeeld aan routing doe, en ik wil een controller mappen aan een route, is dit dan een correcte manier van doen?
(voorbeeld yml code van hoe ik het wil doen)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
blogpost:
  pattern: /blog/post/{id}
  method: [ GET, POST ]
  controller: Sitenaam:BlogModule:Hello:index
 
Wouter J

Wouter J

07/12/2012 22:42:37
Quote Anchor link
Quote:
Dat van Composer is trouwens een goeie tip, ben alleen beetje bang of Spyc wel zo'n repo heeft (of hoe dat ook heet) anders kan ik altijd nog steeds yaml loader van Symfony gebruiken.

Mocht je wat meer informatie willen over composer kun je eventueel mijn blogpost erover lezen: http://wouterj.nl/php/werken-met-composer/509/

Quote:
Dat van bundles en modules lijkt me trouwens heel interessant en zeker overzichtelijk! Als ik dan bijvoorbeeld aan routing doe, en ik wil een controller mappen aan een route, is dit dan een correcte manier van doen?

Ja, al vindt ik Sitenaam: een beetje onnodig. In Symfony gebruiken we gewoon WjBlogBundle:Post:show wat we dan een logical name noemen die naar een Wj\BlogBundle\Controller\PostController::showAction() method verwijst.

Overigens zou ik de route config wat anders doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
show_post:
    pattern: /blog/post/{id}
    defaults: { _controller: WjBlogBundle:Post:show }
    requirements:
        _method: [ GET, POST ]
        id: [0-9]*


Het voordeel van bundles is dat je ook een eigen Config mapje erin kunt maken met een routing.yml bestand en dan in de globale routing.yml iets van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
blog_bundle:
    Resource: @WjBlogBundle/Config/routing.yml

Welke dan dat bestand inlaad, zo heb je al helemaal een afhankelijke bundle.

Het mooie van zo'n bundle is dat als je hem goed maakt je hem altijd kunt gebruiken. Symfony heeft zo een hele collectie aan geweldige bundles van andere mensen die je zo kunt inladen (http://knpbundles.com ). Ik laad vaak de FosUserBundle in en bijv. een SinatraAdminbundle en ik heb zo een Admin interface gemaakt.
 
- Raoul -

- Raoul -

07/12/2012 22:56:50
Quote Anchor link
Hmm dat importen van resources in een yml is wel cool!
Dus je wilt eigenlijk zeggen dat die Sitenaam aan de bundlenaam kan?

Ik snap alleen iets niet in je config, namelijk 'defaults'... waarom zou een controller een standaard waarde moeten hebben en kan je die niet 'gewoon' definen als controller?

En voor wat staat die '_' voor method en controller?

Thanks!
 
Wouter J

Wouter J

07/12/2012 23:05:49
Quote Anchor link
In een route heb je soms optionele placeholders. Bijv. een standaard pagina 'home':
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
show_page:
    pattern: /{slug}
    defaults:
        slug: home

Deze stel je in onder de defaults. En soms heb je ook requirements, een bepaalde placeholder moet aan voorwaarden voldoen. Deze stel je in onder requirements.

Nu is de controller eigenlijk niks meer dan een default waarde die bij die route hoort, vandaar dat Symfony en ZF hem bij de defaults gooien. De method is een requirement voor de route, vandaar dat die onder requirements staat.

De _ voor deze namen staat ervoor dat dit systeem namen zijn, het zijn geen parameters uit de route maar parameters die het framework gebruikt.

Je kan ook deze manier trouwens ook mooi de route variabel maken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
application:
    route: /{_controller}



Quote:
Dus je wilt eigenlijk zeggen dat die Sitenaam aan de bundlenaam kan?

Nee, een sitenaam heeft totaal geen nut voor een back-end applicatie. De bundles kunnen overal gebruikt worden en zijn zomaar wat componenten, dus nergens heb je die sitenaam nodig, omdat de applicatie niet aan een bepaalde site vast zit.
 
- Raoul -

- Raoul -

07/12/2012 23:10:34
Quote Anchor link
Ah zo, ik dacht al zoiets. Bedankt voor je heldere uitleg, ik ga aan de slag met die bundles te integreren.
 



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.