Symfony2 bundles

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Senior .Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

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 »

Software Developer

Functie omschrijving In deze functie ga je aan de slag met het door ontwikkelen van de interne software. Zij maken gebruik van een CRM, wat door de hele organisatie gebruikt wordt. Andere taken: Je gaat het CRM-systeem door middel van PHP verder ontwikkelen; Verder bouw je verschillende API's en koppelingen tussen systemen; Ook ga je collega's ondersteunen bij vragen over de software en applicaties; Deelnemen aan overleggen met het development team; Bij interesse is er de mogelijkheid om junioren te gaan begeleiden. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

Programmeur / Developer

Voor een familiebedrijf in Doetinchem, actief in de machinebouw voor de food-sector, zijn wij op zoek naar een programmeur / developer. In deze functie ben je werkzaam in een team van 5 medewerkers. Je werkzaamheden bestaan onder andere uit het verhelderen van requirements vanuit de opdrachtgever, de klant en de afdeling ontwikkeling. Je verricht haalbaarheidsstudies en werkt specificaties uit die je afstemt met de opdrachtgever. Je ontwerpt design in software en stemt af met je collega's. De huidige vision-systemen zijn geschreven in C software, welke draait op een CUDA platform. Je schrijft en codeert software en zal gaan testdraaien. Tot

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

Bekijk vacature »

Front end developer React Sportgames

Functie Als Front end developer ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als scrumteam werken ze in drie wekelijkse sprints en begin je iedere ochtend met een stand-up. Als Front end developer werk jij bij deze organisatie voornamelijk met Javascript, html, css en React. Er wordt veel gebruikt gemaakt ook van C#, Docker en Kubernetes. Het team hecht veel waarde aan het leveren van hoogwaardige

Bekijk vacature »

Senior Full Stack developer

Bedrijfsomschrijving tbd Functieomschrijving Full Stack Java Development bij Randstad Groep Nederland (HQ) Er is een vacature in het Corporate Client Solutions (CCS) team. Dit team is met een ander team net begonnen aan het project ‘Grip op Inhuur’. Het doel van dit project is de tevredenheid van onze leveranciers te verhogen en de efficiëntie van onze administratie te verbeteren. Onderdeel daarvan is een ‘Mijn-omgeving’ voor ZZP’ers en leveranciers. Naast dit nieuwe project werkt het team ook aan het onderhoud en verbeteren van een digitaal vacature management systeem waarmee dagelijks vele vacatures worden voorzien. Het team ontwikkelt zo veel mogelijk zelf

Bekijk vacature »

Developer Angular & Kotlin

Dit ga je doen Het (door)ontwikkelen van mobiele apps en webapplicaties; Het opstellen van technisch ontwerp en het bespreken van ontwerpen met de software architect; Het uitvoeren van werkzaamheden op het gebied van technisch testen; Het in de gaten houden van nieuwe ontwikkelingen op jouw vakgebied en het adviseren van de organisatie hierover. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze organisatie is van oorsprong een familiebedrijf, er wordt hard gewerkt, er heerst een no nonsense en doeners mentaliteit, een informele sfeer en er is een mix van

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »
Koen Vlaswinkel

Koen Vlaswinkel

24/06/2013 08:49:36
Quote Anchor link
Op dit moment gebruik ik Silex voor meerdere websites, waarbij ik redelijk veel components van Symfony2 gebruik. Nu wil ik één van die websites gaan omzetten naar het volledige Symfony2 framework, onder andere om een betere structuur te krijgen. Ik gebruik al Doctrine ORM in combinatie met Silex, dus het omzetten zou niet zo veel werk moeten zijn.

Nu bestaat deze website uit verschillende delen, namelijk een nieuws-, download-, rooster- en administratiegedeelte. Het probleem waar ik nu tegen aan loop is de bundles. Moet ik deze allemaal in aparte bundles zetten zoals MyNewsBundle, MyDownloadBundle, MyTimetableBundle en MyAdministrationBundle, of moet ik 1 bundle maken genaamd MySiteBundle?

Als ik de eerste structuur zou gebruiken, dan is de MyAdministrationBundle heel erg afhankelijk van de andere bundles, omdat deze de enige is die content kan toevoegen.

Ik kan voor deze bundle natuurlijk ook een al bestaande bundle gebruiken, zoals de AdmingeneratorGeneratorBundle. Dit zou ik denk ik ook wel kunnen doen voor het nieuws- en downloadgedeelte, maar waarschijnlijk niet voor het roostergedeelte.

Hoe kan ik het beste dit alles opdelen?
 
PHP hulp

PHP hulp

07/01/2025 19:13:36
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/06/2013 09:11:54
Quote Anchor link
Hoi Koen,

Dit is eigenlijk een vraag voor Wouter want die weet zo een beetjes alles over Symfony2 geloof ik.

Maar wat ik denk is dat het idee achter de Bundles is dat je ze later later heel erg makkelijk kan hergebruiken. Als je dan dus een hele site in één bundle gaat stoppen dan raakt dat effect weg. Maar wanneer je inderdaad een downloadbundle maakt en in je gedachte houd dat je die later voor een ander project wilt hergebruiken dan ben je naar mijn idee goed bezig.
Dat een Bundle afhankelijk is/wordt van een andere Bundle is heel normaal. En met Composer - als ik het goed heb - kun je alle "dependencies" instellen zodat die later automatisch met jouw eigen bundel worden geinstalleerd.
 
Koen Vlaswinkel

Koen Vlaswinkel

24/06/2013 09:21:24
Quote Anchor link
Daar ben ik het mee eens, maar hetgene wat ik me nu afvraag, is flexibiliteit. Als je een Doctrine entity hebt, zou je die altijd in dezelfde tabel op moet slaan, zoals als downloads. Als ik dan iets wil veranderen, zou ik dus weer een kopie van de hele bundle op moeten slaan, want ik heb nergens iets gevonden over de table opslaan in een configuratiebestand. Of is dit mogelijk m.b.v. inheritance?
Gewijzigd op 24/06/2013 10:17:49 door Koen Vlaswinkel
 
Wouter J

Wouter J

24/06/2013 23:28:02
Quote Anchor link
Goed, allereerst. Ik ben een beetje enthousiast omdat er eindelijk weer een leuke symfony2 vraag is, dus verwacht wat leeswerk :)

Bundles moeten zo flexible en standalone mogelijk. Je zal merken dat er in Symfony2 erg veel mogelijkheid is om dit te doen doormiddel van goed gebruik van de container en de configuratie.

Altijd meerdere bundles maken voor een website waarbij iedere bundle zijn eigen unieke feature implementeert. En elke bundle zo bouwen dat je er oog voor hebt dat het straks in een ander project nog steeds moet werken. Ik zou er nog 1 bundle bij doen: de UserBundle.

Hoe maak je dan bundles flexibel? Laten we eerst je adminbundle pakken. Hoe kunnen we ervoor zorgen dat elke bundle zelf de klassen bevat voor de admin en dat je die in de adminbundle kunt opvragen en kunt omtoveren naar een admin interface? Dat doen we door van deze klassen een service te maken. Services kun je taggen met tags. In de KoenAdminBundle kun je dan de services opvragen met de koen_admin.admin tag en die kun je dan meegeven aan de service die het admin panel maakt. Voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
services:
    koen_blog.admin.article:
        class: Koen\BlogBundle\Admin\ArticeAdmin
        tags:
            - { name: koen_admin.admin }

Het verkrijgen van services by tag gebeurd in een compiler pass:
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
<?php
// src/Koen/AdminBundle/DependencyInjection/Compiler/AdminClassesPass.php
namespace Koen\AdminBundle\DependencyInjection\Compiler;

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\Reference;

class AdminClassesPass implements CompilerPassInterface
{
    public function process(ContainerBuilder $container)
    {

        $adminClasses = $container->findTaggedServiceIds('koen_admin.admin');
        $adminPool = $container->get('koen_admin.pool'); // de klasse die de admin panel maakt

        foreach ($adminClasses as $id => $attributes) {
            $adminPool->addMethodCall('addAdminSection', new Reference($id)); // roep bij het aanmaken van de service de method addAdminSection aan met de service met de tag (voor elke service)
        }
    }
}

?>

Ik zou je aanraden deze adminbundle niet zelf te maken, maar de SonataAdminBundle te gebruiken.

Een andere mogelijkheid voor static strings is het maken van eigen configuratie. Dat is een beetje te ingewikkeld om hier even uit te leggen. http://symfony.com/doc/current/cookbook/bundles/extension.html




Als je met Doctrine2 ORM werkt definieer je de tabelnaam per entity. Waarom zou je deze globaal willen instellen?
 
Koen Vlaswinkel

Koen Vlaswinkel

25/06/2013 08:04:53
Quote Anchor link
Ik heb al gekeken naar SonataAdminBundle en het werkt prettig inderdaad.

En met de tabelnaam voor Doctrine bedoel ik dat als ik een bundle met entity wil hergebruiken, en ik wil bijvoorbeeld de tabelnaam van articles naar blogposts wijzigen, dan zou ik dus de bundle moeten aanpassen.

En nu wil ik ook nog een API aan mijn website koppelen. Deze bundle zal dan erg afhankelijk worden van mijn andere bundles, is dat erg?
 
Wouter J

Wouter J

25/06/2013 08:34:38
Quote Anchor link
Vaak heb je 1 CoreBundle/MainBundle/CommonBundle die alle bundles aan elkaar koppelt, die is dan erg afhankelijk van de rest van de bundles (zoals de FrameworkBundle ook afhankelijk is van andere bundles).

Als je echter een api bundle gaat maken is het weer verstandig dat die bundle heel flexibel is en dat je in de mainbundle de api voor je website maakt. Kijk anders eens naar de FosUserBundle.

En een tabelnaam wil je niet kunnen veranderen. Wat maakt het uit hoe dat ding heet in de database? Als je maar makkelijk je entities kunt gebruiken. Voor dynamische relaties kun je eens kijken naar de resolve target entity feature van Doctrine2.
 
Koen Vlaswinkel

Koen Vlaswinkel

25/06/2013 08:41:11
Quote Anchor link
Oké, dat begrijp ik, en is ook erg logisch. Dat over Doctrine wilde ik alleen even weten, ik was gewoon nieuwsgierig.

Maar nu zouden sommige bundles maar 1 controller hebben, wat wel erg kleine bundles zijn. Met een NewsBundle heb je alleen maar een indexAction en een showAction, de rest heb je niet nodig. Ik neem aan dat je hier niet 2 controllers gaat maken, dus de NewsBundle is erg klein. Maar je kan dus ook erg kleine bundles in je website hebben?
 
Wouter J

Wouter J

25/06/2013 13:56:28
Quote Anchor link
Ja, dat kan. Nu zou de nieuwsbundle ook al een admin klasse nodig hebben, en misschien support voor comments, ect. Dus al met al is die bundle niet heel klein. Maar ookal was hij klein, het is en blijft een bundle.
 



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.