[discussie] Orderproces

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior Software Developer

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer!? Sta jij aan het begin van jouw loopbaan of heb jij misschien al enige ervaring? Vind jij het daarnaast belangrijk om jezelf constant te kunnen ontwikkelen en uitdagen? Lees dan snel verder! Voor een vooraanstaand softwarehuis in Nieuwegein ben ik op zoek naar een Junior Software Developer. De eigenaar van het bedrijf is ervan bewust dat je als junior nog een hoop kan leren, waardoor je de eerste maanden veel begeleiding en diverse trainingen krijgt. Daarna ga je samen met je collega's aan zowel kleine als grote projecten werken.

Bekijk vacature »

Senior Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Full Stack Developer

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail; Verantwoordelijk voor de front-end werkzaamheden; Naast de front-end werk je ook aan de backend. Hier ga je werken Als Full Stack Developer komt je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Rotterdam! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

Bekijk vacature »

Ontwikkelaar Centrale Monitoring

Ontwikkelaar centrale Monitoring Functieomschrijving Wil jij een bijdrage leveren aan het onderhoud, opzetten en ontwikkelingen van technologieën van SSC-ICT, een van de grootste ICT-dienstverleners van en voor de Rijksoverheid? Je komt als monitorspecialist te werken bij team Operations Management Services. Dit team werkt aan het stabiliseren en waarborgen van een betrouwbare monitoromgeving voor 7 ministeries. Jij begeleidt het implementatieproces van de te monitoren technologieën, onder andere via management packs, connectoren en API's. Je hebt hiervoor veel contact met interne en externe klanten, die hun wensen op het gebied van monitoring aan jou doorgeven. Je beoordeelt deze wensen en komt met

Bekijk vacature »

.NET Developer

Dit ga je doen Tot jouw takenpakket behoort onder andere: Webapplicaties ontwerpen, bouwen, testen en implementeren in .NET/C#.; Ontwikkelen, implementeren en beheren van maatwerkapplicaties; Onderhouden en beheren van standaardpakketten; Onderzoeken en beoordelen van nieuwe technieken. Hier ga je werken Als .NET ontwikkelaar kom je te werken bij een grote semioverheidsinstelling in Nijmegen. De organisatie staat garant voor het leveren van onderwijs en les- en onderzoeksmateriaal voor duizenden betrokkenen. De organisatie wil bijdragen aan een gezonde, vrije wereld met gelijke kansen voor iedereen. Binnen de teams hangt een open en collegiale cultuur met veel aandacht voor een prettige en sociale werksfeer.

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 »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Remote - Front-end Angular developer

Functie The IT team currently consists of the IT Manager, 2 back-end developers, 1 full-stack developer, 1 designer, and a DevOps engineer. They are currently looking for an experienced Front-end developer who will work autonomously and in a disciplined manner, being the only developer working on their Front-end applications at the start. They do have the ambition to find a second developer soon, who you will then be able to supervise. You will be working on the further development of their existing UI in Angular. But also developing a mobile app. They place great value on User Experience and opt

Bekijk vacature »

C# Developer

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Door middel van ASP.NET, MVC Framework en C# ga je webshops, websites en webapplicaties ontwikkelen. Je zorgt voor de optimalisatie van bestaande software en de automatisering van bedrijfsprocessen. Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Bedrijfsprofiel

Bekijk vacature »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van

Bekijk vacature »

API Developer Red Hat Fuse

Dit ga je doen Als API Developer zal je verantwoordelijk zijn voor het: het maken van API's en het correct laten draaien van de API's op het platform. Hierdoor kom je in aanraking met Red Hat Fuse, Springt Boot, 3Scale, Red Hat SSO, Openshift en Azure DevOps; zorgen voor de kwaliteit van de ontwikkeling, integratie en prestaties van de API's; zorgen voor een stabiel integratieplatform. Hier ga je werken 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

Bekijk vacature »

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

.NET developer

Functie The position we have for you As a .NET developer you will work for one of our customers active in the High Tech Industry. Our customers are mainly located in the Eindhoven area. We are very selective when it comes to the projects we accept and therefore only focus on innovative and complex projects. Because our customers are mainly specialized in machine construction, you often work close to the machines. Our team currently consists of Embedded engineers, IOT developers and Cloud engineers. We mainly work on Microsoft projects where WPF, UWP, .NET Core and Microsoft Azure are used. Eisen

Bekijk vacature »
Niels K

Niels K

03/02/2012 19:25:42
Quote Anchor link
Beste PHPers,

Velen van jullie weten dat ik (als werk) vooral webshops realiseer. Nu weet ik zeker dat diversen mensen hier op het forum wel eens een webshop heeft gerealiseerd of dit misschien net als mij dagelijks doet.

Nu ben ik heel benieuwd hoe mensen zo'n proces in omzetten naar Object Georiënteerd programmeren.

Even geleden heeft onze vriend Bram Boos een topic gestart over het realiseren van een winkelwagentje en daarin heb ik mijn visie uitgelegd.

Ik zei daar dat ik zelf geen 'Winkelwagen' object heb, waarop Karl karl reageerde dat hij het juist wel zou doen.

Wat is jullie mening omtrent de denkwijze van een order proces in een webshop?

Ik ben benieuwd!

Niels Kieviet
Gewijzigd op 09/02/2012 14:54:03 door Niels K
 
PHP hulp

PHP hulp

29/12/2024 03:41:42
 
Niels K

Niels K

09/02/2012 14:30:58
Quote Anchor link
Heeft niemand hier een mening over?
 
Kees Schepers

kees Schepers

09/02/2012 14:33:15
Quote Anchor link
Waarom niet gebruiken van een shoppingcart_item entity/model? Dat lijkt me voldoende?
 
Niels K

Niels K

09/02/2012 14:37:09
Quote Anchor link
Schrijf eens uit? Ik denk zelf in een Order / Order item model. Shoppingcart model heb ik dus niet.
 
Kees Schepers

kees Schepers

09/02/2012 14:41:46
Quote Anchor link
Nee bij mij is order en order_product de daadwerkelijke bestelling.

Ik heb gewoon een shoppingcartitem tabel waar ook een kolom sessionid in zit. Op basis daarvan 'onthoud' ik wat er in de winkelwagen zit. En elke 4 uur draai ik een cronjob die alle winkelwagen items ouder dan 2 dagen weg gooit zodat de tabel niet te groot wordt. En de tabel heeft als engine memory voor performance :)
 
Jaron T

Jaron T

09/02/2012 14:43:03
Quote Anchor link
mijn 'WinkelWagen' object is gewoon een soort van sessiemanager waar ik heel makkelijk producten en aantallen kan beheren.
 
Niels K

Niels K

09/02/2012 14:52:03
Quote Anchor link
Maar ik denk dan, is een winkelwagen object wel nodig? Ik denk als volgt:

Een (potentiële) klant komt op een webshop. Ik doe het dan als volgt:

- Ik maak een nieuw klant object aan wat ik in de sessie gooi.
- Ik maak een nieuw order object aan, en append de klant aan de order.

Wanneer er een artikel in het winkelwagentje wordt gezet append ik een item aan het order object.

Zijn jullie het daar mee eens? Vinden jullie dat een mooie denkwijze?

Quote:
Nee bij mij is order en order_product de daadwerkelijke bestelling.

Dat vind ik ansich een mooie beredenering. Maar append jij dan een winkelwagen object aan een order?
Gewijzigd op 09/02/2012 14:53:30 door Niels K
 
Kees Schepers

kees Schepers

09/02/2012 15:08:24
Quote Anchor link
Jullie denken echt te lastig :p

Met Doctrine zou je bijvoorbeeld voor het winkelwagen deel 2 entities hebben. ShoppingcartItem en Product. Dit zijn dus gewoon op de achtergrond database tabellen en de entities zijn je models. Er is een oneToOne relatie van ShoppingcartItem naar Product.

Je kunt dan producten aan de winkelwagen toevoegen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$product
= $this->_em->getRepository('BestBuy\Entity\Product')->findOneByName('aardbei');

$item = new BestBuy\Entity\ShoppingcartItem();
$item->product = $product;
$item->user = Zend_Auth::getInstance()->getIdentity();

$this->_em->persist($item);
?>


Winkelwagen items opvragen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$shoppingcartItems
= $this->_em->getRepository('BestBuy\Entity\ShoppingcartItem')->findByUser(Zend_Auth::getInstance()->getIdentity());
?>


In je entities gooi je dus logic voor validatie etc. In de ShoppingcartItem repository zet je functies als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$shoppingCartTotal
= $this->_em->getRepository('BestBuy\Entity\ShoppingcartItem')->getTotalAmount(Zend_Auth::getInstance()->getIdentity());
?>


In de repository class doe je een query:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
public function getTotalAmount(BestBuy\Entity\User $user) {
  $query = $this->_em->createQueryBuilder()
    ->
select('SUM(si.amount * p.price)')
    ->
from('BestBuy\Entity\ShoppingcartItem','si')
    ->
join('si.product', 'p')
    ->
where('si.user = :user')
    ->
setParameter('user', $user)
    ->
getQuery();

  return $query->getOneOrNullResult();
}

?>


Etc..

Waarom zou ik een 'winkelwagen' object extenden aan een order?
Gewijzigd op 09/02/2012 15:09:13 door kees Schepers
 
Niels K

Niels K

09/02/2012 15:38:00
Quote Anchor link
Ok duidelijk. Zelf doe ik het als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

class Order extends Zend_Db_Table_Row_Abstract {

    // Toevoegen item
    public function addItem(OrderItem $orderItem) {}
}


?>


Een OrderItem genereer ik dan op basis van een product:

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

class OrderItem extends Zend_Db_Table_Row_Abstract {
    // Genereren op basis van een product
    public function createFromProduct(Product $product) {}
}


?>


In de order class heb ik wat functies voor het berekenen van verzendkosten etc.

Heeft er iemand een andere visie? Zoja, waarom?

Nog even een toevoeging:

Vroeger deed ik het (altijd) zo:

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
<?php

class Shoppingcart {
    
    protected $_cart = array();

    public function addItem() {}
    public function deleteItem() {}
    public function getItems() {}
    public function getTotal() {}
    public function save() {
        // Opslaan in database
    }
}


?>


Nu in dit zo zie, denk ik dat een shoppingcart object eigenlijk wel netjes is. Je kan daar heel gemakkelijk een winkelwagen opslaan zonder dat er een order is voltooid.

Wanneer een klant het order proces binnengaat kan je een order object aanmaken en de items uit de winkelwagen aan de order toevoegen.
Gewijzigd op 09/02/2012 15:45:08 door Niels K
 
Kees Schepers

kees Schepers

09/02/2012 16:01:16
Quote Anchor link
Ik ben het wat dat betreft eens met je. Maar eigenlijk is het object Shoppingcart gewoon een Zend_Db_Table object van de tabel Shoppingcart :)
 
Niels K

Niels K

09/02/2012 16:03:07
Quote Anchor link
Ja dat snap ik. Wat ik me wel nog even afvraag is. Jij hebt op je ShoppingCart class de methode getTotalAmount. Die hoort toch in het Order object thuis? Een totaal bedrag is toch over een Order niet over een Winkelwagen?
Gewijzigd op 09/02/2012 16:05:58 door Niels K
 
Kees Schepers

kees Schepers

09/02/2012 16:09:19
Quote Anchor link
Waarom niet over een winkelwagen? Ik wil in mijn winkelwagen ook wel graag zien hoeveel ik ga spenderen in totaal :p
 
Niels K

Niels K

09/02/2012 16:10:36
Quote Anchor link
Ah, je hebt gelijk. Niet bij nagedacht. Ik vraag dat altijd aan het Order object :-) Ik zal eens kijken of ik iets moois kan fabriceren en wat kan posten.
 



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.