Symfony2 bundles

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

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 »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Software Developer je verantwoordelijk voor: - Je werkt voortdurend aan oplossingen voor het op afstand bewaken en besturen van oogstmachines; - Het visualiseren van gegevens in rapporten, apps of andere formaten; - Voorspellend machineonderhoud; - Taakplanning; - Je schrijft aangepaste plug-ins om gegevens te importeren of exporteren

Bekijk vacature »

Full Stack Developer

Ben jij een kei van een full-stack developer? Heb je ambitie om te groeien en jezelf te ontwikkelen binnen een ambitieus bedrijf? Gaat jouw hart sneller kloppen van transpilers of frameworks zoals Angular, Vue of React? Dan ben jij de persoon die wij zoeken! Voor onze opdrachtgever zijn wij op zoek naar een full-stack developer om onderdeel te zijn van een team dat bestaat uit gedreven developers. Ieders met hun eigen specialiteiten en kennis van de projecten en behoeften vanuit de product owners. We zoeken iemand die met zijn/haar huidige competenties en domeinen dit team wil begeleiden, stimuleren en tevens

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

.NET developer WO niveau voor predictive software

Bedrijfsomschrijving Dit bedrijf uit Den Bosch is om precies te zijn 15 medewerkers groot en ze ontwikkelen (predicitve) planning software. Dit doen zij voor allerlei mooie en bekende organisaties (bierbrouwerijen, gemeentes, oliemaatschappijen en diverse multinationals). Wegens meer en grotere vraag vanuit de klanten komen er nu posities vrij voor onder andere een .NET developer. Het bedrijf is goed met openbaar vervoer te bereiken. Functieomschrijving Je komt hier te werken in een team van 3 .NET developers en bent betrokken bij het gehele ontwikkelproces. Dus van idee naar ontwerp en van ontwikkeling tot testen en implementatie. Bij voorkeur ben je niet

Bekijk vacature »

Fullstack JavaScript Developer Webapplicaties

Bedrijfsomschrijving Voor deze organisatie ben ik op zoek naar een getalenteerde Fullstack JavaScript Developer. Ze is een snelgroeiend software development agency dat zich richt op het ontwikkelen van moderne webapplicaties en complexe systemen voor haar klanten. Ze is gevestigd onder de rook van Utrecht en heeft als doel om tot de top van de Nederlandse agencies te behoren. Deze organisatie maakt softwareoplossingen voor verschillende soorten bedrijven. Innovatie staat hoog in het vaandel en je zult dus met nieuwe technieken aan de slag gaan. Ze hebben klanten in vele branches zitten, zoals retail, finance, gezondheid en onderwijs. De diverse klanten zorgen

Bekijk vacature »

Laravel developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

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 »

Senior SQR Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 13333 Introductie Are you passionate about contributing to the world's most advanced machines. Do you thrive in a challenging environment working with highly motivated and skilled teams? If so, we have the perfect opportunity for you! We are seeking a Senior Software Design Engineer for Sequence Tooling to play a critical role in creating and maintaining mission-critical software applications. In this role, you will focus on achieving maintainable software architecture that is transparent and easy to extend while maintaining a strong focus on software quality. You will work closely with

Bekijk vacature »

Medior .NET developer

Functie Jij gaat als Medior .NET ontwikkelaar aan de slag in ons scrumteam met 6 developers die gepassioneerd en actief bezig zijn om onze spelers kwalitatieve en mooie spelervaringen aan te bieden. Als medior .NET developer ga jij werken aan een technisch hoogwaardig platform welke bezoekerspieken verwerkt van tienduizenden tot honderdduizenden gebruikers per minuut! Ons scrumteam werkt in drie wekelijkse sprints en wij beginnen iedere ochtend met een stand-up. Jij werkt bij ons met C# .NET, .NET Core, React.JS, Xamarin, Azure, Docker en Kubernetes. Wij hechten enorm veel waarde aan het leveren van hoogwaardige en kwalitatieve code. Zodra jij de

Bekijk vacature »

.NET Developer

Dit ga je doen Binnen het team bouw je aan een applicatie met andere .Net Developers, testers een Product Owner en een Business Analyst. Met het team wordt de backlog besproken. In overleg claim jij jouw deel en zorgt ervoor dat onderhoud en innovatie wordt gerealiseerd. Het project dat momenteel draait is het opgraden van de omgeving. Doorontwikkelen van de huidige applicatie; Overleggen met teamleden om de backlog te verdelen; Onderhouden van de huidige omgeving; Sparren met de business en het ophalen van nieuwe requirements. Hier ga je werken De organisatie is een van de grootste landelijke aanbieder van diverse

Bekijk vacature »

Back-End Web Developer

Als Back-End Web Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als Back-End Web Developer bij Coolblue? Als Back-End Web Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Als backend developer weet je de weg in PHP, kan je in Typescript een microservice op zetten of ben je bereid om dit te leren. Ook Web Backend Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

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

30/11/2024 20:40:55
 
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.