[OOP] Goede aanpak?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Back-End Developer in Laravel / PHP

Functie omschrijving Wij zijn op zoek naar een Medior PHP Laravel Developer voor een gaaf bedrijf in de omgeving van Amsterdam! Voor een enthousiast team die zich graag bezig houdt met softwareontwikkeling zijn wij op zoek naar versterking. Je werkt in een klein ontwikkelteam en bent zeer betrokken bij alle aspecten van de softwareoplossingen. Van het ontwerpen tot de oplevering. Binnen deze functie ga je aan de slag met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je krijgt veel te maken met koppelingen naar systemen en de verzoeken van de klant. Je komt terecht in een team, waarbij

Bekijk vacature »

Front-end Developer Magento 2/Wordpress

Voor het aantrekkelijk houden en steeds vernieuwen van de huidige websites en webshops en het meedenken in de marketing zijn wij per direct op zoek naar een ervaren Front-end developer met gedegen kennis van Magento 2 (webshops) en Wordpress (websites). Wat bieden wij jou Mooi salaris! Meteen op contract bij de opdrachtgever! Gezellig, Kempisch bedrijf! 35 uur per week! Auto van de zaak! Wie ben jij Van een front-end developer verwachten wij: Een afgeronde Bachelor ICT opleiding met profiel ICT & Media Design. Dat je in het bezit bent van een Magento 2 professional front-end developer certificaat; Je hebt ruime

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 »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Senior developer (PHP en VB.NET)

Functie De development afdeling bestaat uit 2 teams. Het productteam (10 developers) is verantwoordelijk voor verschillende applicaties met als doel om zoveel mogelijk te automatiseren en uit te werken tot standaard software. Met diverse Solutions Architecten en ervaren developers denken ze voortdurend mee met hun klanten en bouwen ze de basis van het uiteindelijke maatwerk dat wordt geleverd. Hiernaast hebben ze een maatwerk/projectteam. Dit team bestaat momenteel uit 8 developers (junior tot senior) en is verantwoordelijk voor het maatwerk in hun klantprojecten. Momenteel zijn ze op zoek naar een senior developer die aan de slag gaat in het productteam. Hierin

Bekijk vacature »

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

SQL database ontwikkelaar

Functie omschrijving Ben jij niet bang voor complexe algoritmes? Schikt het schrijven van procedures in T-SQL jouw niet af en heb jij al de nodige informatie in SQL, dan is functie precies wat voor jou! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat werken aan de complexere projecten waar jij van A tot Z bij betrokken bent. Je gaat zorg dragen voor het ontwerp, de ontwikkeling en het updaten van SQL databases. Dit doe je op basis van T-SQL. Jij bent van start tot finish betrokken bij de projecten die jij leidt. Je houdt contact met klanten en

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 13382 Introductie We is looking for a HANA Developer to work for our client. The candidate has to have an experience in building Data Intensive Applications (DIA’s). The role of a HANA Developer at ASML involves working on building Data Intensive Applications in an industrial/enterprise environment. The primary responsibility is to handle data from various sources and determine the best way to structure it for use by data analysts, who will run queries and algorithms against it for predictive and prescriptive analytics through machine learning. Wat verwachten we van jou?

Bekijk vacature »

Software Developer .NET

Functie omschrijving .NET developer gezocht! Wij zoek op zoek naar een .NET Developer die zich niet uit het veld laat slaan voor een software bedrijf in de regio Veenendaal. Je gaat in deze functie aan de slag met het door ontwikkelen van bestaande producten en het ontwikkelen van nieuwe producten. Dit bedrijf ontwikkeld SaaS applicaties die zowel intern als extern gebruikt worden. Verder bestaat je functie uit: Het ontwikkelen en bouwen van webapplicatie, mobiele applicaties en websites vallen onder jouw verantwoordelijkheden; Werken met onder andere .NET, C#, HTML/CSS, Javascript en MSSQL/Oracle Databases; Hierin werk je samen met andere developers en

Bekijk vacature »

Laravel / PHP developer gezocht!

Functie omschrijving Wij zijn op zoek naar een Laravel PHP Developer voor een leuk bedrijf in de omgeving van Amsterdam! Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken; van A tot Z; Je hebt na de oplevering contact met de klant wanneer zij problemen ervaren; Je denkt mee over het verbeteren van de werkprocessen; Je denkt mee over softwareoplossingen; Je speelt in op de behoefte van de klant; Je houdt je bezig met het verbeteren, aanpassen en vernieuwen van de

Bekijk vacature »

Dynamische Oracle/APEX Ontwikkelaar in de logistie

Bedrijfsomschrijving De organisatie in de regio Rotterdam is gespecialiseerd in het ontwikkelen van moderne webbased software voor de ERP branche. In totaal is er 20FTE aan specialisten actief binnen de organisatie. De ICT afdeling bestaat momenteel uit 15FTE. Ze groeien ontzettend hard en daarom zoeken zij een Oracle/APEX Developer die het reeds sterke team nog sterker komt maken. Hier werken ze op projectbasis voor verschillende grote organisaties in de logistieke sector. Het is een informele organisatie waarbinnen een fijne werksfeer heerst. Zoals aangegeven willen ze het team nog sterker maken en daarvoor zoeken ze bij voorkeur medior of senior Oracle/APEX

Bekijk vacature »

Medior Java developer (fullstack)

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 »

Ervaren PHP Developer

Functie omschrijving Jelling IT zoekt ervaren PHP developer! Voor een organisatie in de regio Rhenen zijn wij op zoek naar een ervaren PHP developer die gaat functioneren als een verlengstuk van de klant. Jij bent iemand die technisch complexe zaken met enthousiasme aanvliegt. Je bent in staat om aan meerdere projecten te werken en werkt graag met de nieuwste technieken. In deze functie werk je veel samen met front-end developers en stel je alles in het werk om grote verschillen voor de klanten teweeg te brengen. Verder ben jij iemand die graag zichzelf uitdaagt en die altijd de beste wilt

Bekijk vacature »

Pagina: « vorige 1 2

30/03/2011 20:58:17
Quote Anchor link
Niels Kieviet op 30/03/2011 18:46:28:
Winkelwagen als object? Wil je dat wel?
(...)


Waarom niet? Je kunt best een winkelwagen hebben, de meest elementaire vorm ervan is dat het een soort van stack is. Dan heb je wel weer iets nodig die die stack afhandelt (iterator).
Bij een database is het inderdaad wel gebruikelijk om een tabel order en een tabel order regel te hebben. De tabel order houd alle orders bij, order regel de items van deze orders.
Gewijzigd op 30/03/2011 21:00:13 door
 
PHP hulp

PHP hulp

25/04/2024 14:34:28
 
Niels K

Niels K

30/03/2011 21:10:44
Quote Anchor link
Quote:
Nee, dat wil ik eigenlijk niet maar je moet wat...

Je kan het nu toch dan snel aanpassen?

Hieronder een 'klein' opzetje gegeven.. Meer tijd heb ik niet, alles berust op hersenspinsel dus er kunnen fouten in zitten :) Succes..

Order item, klant, adres moet je zelf even maken.. (verzinnen)

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php

/**
 * @author Niels Kieviet <[email protected]>
 */

class GsOrder
{
    
    /**
     * (evt) opgetreden foutmeldingen
     */

    protected $errors = array( );
    
    /**
     * Array met order items
     */

    protected $items = array( );
    
    /**
     * Factuuradres
     */

    protected $factuuradres;
    
    /**
     * Afleveradres
     */

    protected $afleveradres;
    
    /**
     * Overige (database) velden, even geen zin om die hier te noteren, dat kan je zelf wel (
     * bij mij doet Zend_Db dat :)
     */
    
    /**
     * Je kan hier nog meer definieren zoals:
     *
     * - Betaalmethode
     * - Verzendmethode
     * - Order kortingen
     * - Factuur
     *
     * noem maar op
     */
    
    
    /**
     * Constructor
     */

    public function __construct( )
    {

        // herberekenen van order
        $this->recalculate( );
    }

    
    /**
     * Order zetten vanuit klant?
     */

    public function setFromCustomer( $customer )
    {

        $this->setFromArray( $customer->get() ); // Of ->getArray / toArray ofzo.
        // Factuur, aflever adres zetten?

        $this->setFactuuradres( $customer->getFactuuradres( ) );
        $this->setAfleveradres( $customer->getAfleveradres( ) );
    }

    
    public function addItem( Orderitem $orderitem )
    {

        if( !isset( $this->items[$orderitem->articlenr] ) ) {
            $this->items[$orderitem->articlenr] = $orderitem;
        }

        else {
            // Ophogen aantal? Of wil je een nieuwe regel?
            $this->items[$orderitem->articlenr]->addCount( 1 ); // Of countPlus, verzin iets :)
        }
    }

    
    public function getItem( $articlenr ) // Aan de hand van articlenr
    {
        return $this->items[$articlenr];
    }

    
    /**
     * Ook nog methodes als getItems, clearItems en noem maar op
     */
    
    /**
     * Methode voor het zetten van variableen vanuit een array
     */

    public function setFromArray( $data )
    {

        foreach( $data as $key => $value ) {
            if( property_exists( $this, $key ) && !is_object( $this->$key ) ) {
                $this->$key = $value;
            }
        }
    }

    
    /**
     * Herbereken van de order
     *
     * - totalen
     * - aantallen (items)
     * - kortingen
     *
     * noem maar op
     */

    public function recalculate( )
    {

        // Succes!
    }
    
    /**
     * Methode voor het opslaan van de order
     */

    public function save( )
    {

        // succes ;)
    }
    
    /**
     * Totaal shizzle
     */

    public function getTotalAmount( )
    {

        $total = 0;
        foreach( $this->getItems as $item ) {
            $total += $item->getAmount( );
        }

        return $total;
    }

    
    // Enzo kan je nog wel wat methoden verzinnen
}

?>


@Karl

Nu gewoon, omdat dit eigenlijk gewoon je order is.. ? Je kan in je controller je order naar de view gooien en in de view gewoon de order items ophalen? Anders is dat toch dubbel?
Gewijzigd op 30/03/2011 21:14:04 door Niels K
 
Bram Boos

Bram Boos

30/03/2011 21:35:25
Quote Anchor link
Dankje Niels, maar.... hoe doe jij het met de query's enzo? Gewoon in de class zelf of een aparte class of hoe..?
 
Niels K

Niels K

30/03/2011 21:38:30
Quote Anchor link
Zoals ik al zei in het commentaar in de klasse maak ik gebruik van Zend_Db_Table_Row. Een row klasse kan worden opgeslagen (denk aan de save functie) en dan wordt door de abstracte Zend_Db_Table_Row klasse een query uitgevoerd die netjes alle waarden opslaat.

google anders even. :)
 

30/03/2011 22:04:34
Quote Anchor link
Niels Kieviet op 30/03/2011 21:10:44:
(...)
@Karl

Nu gewoon, omdat dit eigenlijk gewoon je order is.. ? Je kan in je controller je order naar de view gooien en in de view gewoon de order items ophalen? Anders is dat toch dubbel?


Ik zou daar pas in een later stadium aan toe komen. Mijn winkelwagentje is zoals het fysiek is een ding waarin ik mijn objecten (items / artikelen) kan opslaan.
Als er afgerekend moet worden, dan pas kom je bij een kassa uit o.i.d. Het voorbeeld wat jij hebt gemaakt vind ik eigenlijk niet zo mooi. Ik heb het idee dat je een aantal dingen in elkaar hebt geschoven, die ik persoonlijk uit elkaar zou houden (maar ik ga er niet dieper op in, want daar heb ik geen tijd / zin / fut voor, daarom reageer ik ook steeds met korte dingen).
Bram Boos op 30/03/2011 21:35:25:
Dankje Niels, maar.... hoe doe jij het met de query's enzo? Gewoon in de class zelf of een aparte class of hoe..?

Het netste is natuurlijk dat je gewoon ergens (moet je zelf maar verzinnen) een object in kan douwen. Echt je object. Hopla weg. En dat je het later weer kan opvragen. Hopla daar is het weer. Daarvoor kan je een object database gebruiken, maar die worden niet echt ondersteund, dus dan pak je een orm zoals doctrine die van je mysql database een virtuele object georiënteerde database maakt.
 
Niels K

Niels K

01/04/2011 18:58:37
Quote Anchor link
Waarom vind je mijn voorbeeld niet mooi? Dat zijn toch dingen die specifiek met een order te maken hebben?

En waarom pas in een later stadium?

Wat ik gewoon doe is het volgende: (kort en summier)
In de BaseController maak ik alvast een 'row' aan voor Order en gooi ik hem in de sessie. Zie onderstaand voorbeeld.

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

class BaseController extends Zend_Controller_Action
{
    public function preDispatch( )
    {

        if(!$this->session->geladen) {
            $this->session->order = new Table_Order()->createRow(); // Create row heeft met Zend Framework DB Table te maken.
            $this->session->geladen = true;
        }
    }


    // Waarden naar de view schrijven
    public function postDispatch( )
    {

        $this->view->order = $this->session->order;
    }
}

?>


En in de view doe ik gewoon

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

foreach($this->order->getItems as $orderitem) {
    // etc
}

?>


Wat is daar fout aan dan?
 

03/04/2011 10:53:00
Quote Anchor link
Niels Kieviet op 01/04/2011 18:58:37:
Waarom vind je mijn voorbeeld niet mooi? Dat zijn toch dingen die specifiek met een order te maken hebben?(...)


In principe moet jij het factuur- en afleveradres al opslaan in je object (in ieder geval dat doe je). Daarnaast sla je ook nog eens een aantal op in het product, dat vind ik ook niet goed. Verder is het zo dat je niet aan een product verschillende eigenschappen kan hangen. Dan zou het bij jou weer een andere instantie moeten worden.
Zoals ik al uitlegde zou ik het veel meer gelijkend doe aan de echte wereld. Het winkelwagentje weet ook niets van de klant af, het weet alleen welke producten het heeft. Maar de aantallen e.d. dat weet het ook niet, want het slaat alleen de producten op. Bij de kassa wordt pas de aantallen en de prijs uitgerekend.
 
Mark Kazemier

Mark Kazemier

03/04/2011 14:11:44
Quote Anchor link
Karl Karl op 03/04/2011 10:53:00:
Niels Kieviet op 01/04/2011 18:58:37:
Waarom vind je mijn voorbeeld niet mooi? Dat zijn toch dingen die specifiek met een order te maken hebben?(...)


In principe moet jij het factuur- en afleveradres al opslaan in je object (in ieder geval dat doe je). Daarnaast sla je ook nog eens een aantal op in het product, dat vind ik ook niet goed. Verder is het zo dat je niet aan een product verschillende eigenschappen kan hangen. Dan zou het bij jou weer een andere instantie moeten worden.
Zoals ik al uitlegde zou ik het veel meer gelijkend doe aan de echte wereld. Het winkelwagentje weet ook niets van de klant af, het weet alleen welke producten het heeft. Maar de aantallen e.d. dat weet het ook niet, want het slaat alleen de producten op. Bij de kassa wordt pas de aantallen en de prijs uitgerekend.


Handige webshop dan, als ik pas bij het afrekenen zie hoe duur het is en kan bepalen hoeveel producten ik wil hebben. En dan wil je afrekenen, weet je niet bij welke klant het winkelwagentje hoort. Ook niet erg handig.

Ik zou het zelf opdelen in product en orderregel. Een orderregel geeft het product en aantal aan. Een winkelwagentje heeft meerdere oderregels en een klant van wie het winkelwagentje is.
 

Pagina: « vorige 1 2



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.