OOP User classe

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.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 »

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Back-end PHP Developer

Dit ga je doen Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Hier ga je werken Onze klant, gevestigd in de omgeving van Alkmaar, levert wereldwijd oplossingen op het gebied van IT. Dag in dag uit werken zij met veel passie aan hun product waarmee ze streven naar verbeteringen binnen zorg. Voor onze klant zijn we op zoek naar een medior PHP Developer. Je komt te werken

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

SQL Database developer

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

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 »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

Senior Java Developer

Als Senior Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Senior Front end developer Digital Agency

Functie Jij als Front end developer komt te werken in een van de 8 multidisciplinaire teams binnen de organisatie. Deze teams werken op basis van Scrum agile in 2 wekelijkse sprints. De grootte van de teams varieert van 9-14 collega’s en bestaan altijd uit één of meerdere project managers en een project manager. Samen met je team werk je aan verschillende projecten voor uiteenlopende klanten zoals grote multinationals tot het kleine mkb. De stack waarmee gewerkt wordt is voornamelijk Javascript, ES6, Es.next, HTML, CSS, React.js en Node.js. Wat deze organisatie onderscheid is dat ze echt langdurige partnerships aangaan met hun

Bekijk vacature »

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

Fullstack Developer

Functieomschrijving Heb je kort geleden jouw HBO diploma ICT development behaald? Of zit je nog aan het begin van je carrière en heb je affiniteit met C#.NET? Voor een erkende werkgever in de omgeving van Oosterhout zijn wij op zoek naar een fullstack developer. Als C#.NET developer werk je samen met een vooruitstrevend team aan het ontwikkelen van maatwerk software voor klanten. Je hebt affiniteit met SQL, maar nog belangrijker is dat je kennis en ervaring hebt met C#.NET. Jouw werkzaamheden zien er als volgt uit: Het ontwikkelen van onze high-availability en high-performance backend; Je begint de dag rond 8:30

Bekijk vacature »

Front end developer React

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

Pagina: 1 2 3 4 volgende »

The Ultimate

The Ultimate

28/12/2010 12:01:51
Quote Anchor link
Hallo,

Ben sinds kort bezig met OOP. Hieronder tref je het begin van mijn User.class.php aan. Wat ik mij nu afvraag: Is het nu de bedoeling dat ik voor elke eigenschap (lees: elke var) van de class een aparte functie schrijf om het betreffende veld uit de database te plukken (dus: function email(), function username(), function registerDate(), etc.)? Dat lijkt me nogal inefficient.

En is het dan handig dat ik de functies gewoon email, username, etc. noem? Of kan dat dan beter iets zijn in de trant van getEmail, getUsername,etc. Want in dat laatste geval kan je net zo makkelijk een algemene getField() functie maken.

Het kan zijn dat het zo hoort hoor? Graag hoor ik jullie aanwijzingen.

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

/****
*
*    User class
*
****/


class User{
    private $_db;
    private $_id;
    private $_username;
    private $_email;
    private $_registerDate;
    private $_permission;

    public function __construct($id=0, $db)
    {

        $this->_id = $id;
        $this->_db = $db;
    }

    
    public function email()
    {

        $sql = "SELECT email FROM user WHERE id = '".$this->_id."'";
        $res = $this->_db->query($sql);
        while($row = $this->_db(fetchAssoc($res)){
            $this->_email = $row['email'];        
        }
    }
//-> email

}//--> User

?>
 
PHP hulp

PHP hulp

27/05/2026 02:41:08
 
Dindong Veter

Dindong Veter

28/12/2010 12:07:24
Quote Anchor link
je kan wel eenmalig alle gegevens uit de database halen en in een construct zetten. Daarna bijvoorbeeld in een while

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$this->_Username = $row['Username'];


gebruiken

en dan een aparte functie

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
public function getUsername () {

return $this->_Username;
}



maarja, ik ben ook maar 1 weeekje bezig met oop.
Dus weet niet of ik het helemaal goed heb.

doe wel wat met je foutafhandeling


zoiets:


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

/****
*
*    User class
*
****/


class User{
    private $_db;
    private $_id;
    private $_username;
    private $_email;
    private $_registerDate;
    private $_permission;

    public function __construct($id=0, $db)
    {

        $this->_id = $id;
        $this->_db = $db;
        
        $sql = "SELECT id,username,email FROM user WHERE id = '".$this->_id."'";
        $res = $this->_db->query($sql);
        while($row = $this->_db(fetchAssoc($res)){
            
        $this->_email = $row['id'];
        $this->_username = $row['username'];        
        $this->_id = $row['email'];                
        }
    }

    
 
    public function getUsername()
    {
  
      
      return $this->_username;
      
    }

    
    public function getEmail()
    {
  
      
      return $this->_email;
      
    }    
    
    



}


?>
Gewijzigd op 28/12/2010 12:14:38 door Dindong Veter
 
Nicoow Unknown

Nicoow Unknown

28/12/2010 12:20:57
Quote Anchor link
Je zegt net nog tegen mij dat je voor de UserController wou gaan, dat betekent dan dat je GEEN database heb in je User class, anders kan je ook wel $user->save() gaan gebruiken.

Als je PDO gebruikt, en je database goed in mekaar steekt, dan kan je in één keer je data ophalen en naar een User casten, het is inderdaad niet de bedoeling om voor iedere variable opnieuw data op te gaan halen.

En kijk ook even naar het overerven van een standaard Controller class, die al connectie maakt met een database, dan hoef je dat ook niet meer steeds te doen.
 
The Ultimate

The Ultimate

28/12/2010 12:28:48
Quote Anchor link
@Paul:
Ik snap het idee, maar ook dit lijkt me inefficient. Wel tof dat je meedenkt.

@Nicoow:
Ja, je hebt ook helemaal gelijk. Maar als ik het MVC probeer op te zetten loop ik compleet vast. Is het aan te raden om PDO te gebruiken? Ik heb dat een tijd terug uitgeprobeerd, maar toen raadde iedereen het mij af...

Volgens mij maak ik overigens niet steeds opnieuw verbinding met de database. Ik moet alleen wel het object meenemen in de class toch? Anders kan ik er niet bij. Dit is mijn database.class.php:
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
<?php

/*****
*
*    Class - Database
*
*    Deze class handelt de communicatie met de MySQL Database af.
*    De methods kunnen verder worden uitgebreid.
*
*    ------------------------------------------------------------
*
*    Gebruik:
*
*    $result = $db->query("SELECT username FROM users");
*
*    while($row = $db->fetchAssoc($result)) {
*        echo($row['username']);
*    }
*
*****/


class Database {
    private $_link;
    
    public function connect($server='', $username='', $password='', $new_link=true, $client_flags=0) {
        $this->_link = mysql_connect($server, $username, $password, $new_link, $client_flags);
    }

    
    public function selectDatabase($db){
        return mysql_select_db($db, $this->_link);
    }

    
    public function error() {
        return mysql_error($this->_link);
    }

    
    public function errno() {
        return mysql_errno($this->_link);  
    }

    
    public function escape($string) {
        return mysql_real_escape_string($string, $this->_link);  
    }

    
    public function query($query) {
        return mysql_query($query, $this->_link);  
    }

    
    public function fetchArray($result, $array_type = MYSQL_BOTH) {
        return mysql_fetch_array($result, $array_type);  
    }

    
    public function fetchRow($result) {
        return mysql_fetch_row($result);  
    }

    
    public function fetchAssoc($result) {
        return mysql_fetch_assoc($result);
    }

    
    public function fetchObject($result) {
        return mysql_fetch_object($result);  
    }

    
    public function numRows($result) {
        return mysql_num_rows($result);
    }

    
    public function close() {
        return mysql_close($this->_link);
    }
}

?>

Deze komt overigens van Blanche af als ik me niet vergis.
 
Moe BE

Moe BE

28/12/2010 12:46:26
Quote Anchor link
Mij is altijd verteld om query's buiten je objecten te houden.

Bij MVC ga je query's uitvoeren in je model en met het resultaat van deze querys objecten opzetten. Later kunnen deze dan terug gestuurd worden naar je controller.
 
The Ultimate

The Ultimate

28/12/2010 12:55:45
Quote Anchor link
Moe BE op 28/12/2010 12:46:26:
Mij is altijd verteld om query's buiten je objecten te houden.

Bij MVC ga je query's uitvoeren in je model en met het resultaat van deze querys objecten opzetten. Later kunnen deze dan terug gestuurd worden naar je controller.

The Ultimate op 28/12/2010 12:28:48:
... als ik het MVC probeer op te zetten loop ik compleet vast.
Het was dus ook mijn bedoeling om het niet MVC te doen maar wel OOP. ;-)
 
Moe BE

Moe BE

28/12/2010 12:58:53
Quote Anchor link
Je kan OOP toch perfect gebruiken in een MVC omgeving.
 
The Ultimate

The Ultimate

28/12/2010 13:03:05
Quote Anchor link
Moe BE op 28/12/2010 12:58:53:
Je kan OOP toch perfect gebruiken in een MVC omgeving.
Maar dat wil toch niet zeggen dat ik de werking van MVC helemaal begrijp? Geloof me, als ik MVC goed begreep zou ik het MVC doen.

Maar hou je vooral niet in en toon mij de weg...

Heb jij een voorbeeld van een goede MVC UserController.class.php + User.class.php?
Gewijzigd op 28/12/2010 13:05:16 door The Ultimate
 
Niels K

Niels K

28/12/2010 13:44:30
Quote Anchor link
Waarom vinden mensen MVC moeilijk? Het is goed te begrijpen, alleen je moet het even doorhebben. En daarom moet je gewoon proberen.

Maak eerst een duidelijke mappen structuur die verschil brengt in de verschillende lagen van het MVC.

bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
controllers
    - BaseController.php // Alle standaard functionaliteit welke elke controller erft die hem extend
models
    - user
    - enz
    - enz
views
    - scripts
        - index ( controller naam )
            - index.phtml ( action naam, methode naam o.i.d )
    - partials
    - helpers


Ik leg het MVC model altijd zo uit.

Wat is MVC en wat doet het:
MVC Pattern staat voor het Model View Controller patroon. Het model zorgt voor alle informatie uit een data bron bijvoorbeeld een database. Het model geeft deze informatie door aan de controller die deze verwerkt of bewerkt en deze doorgeeft aan de view ( de output). De controller is dus eigenlijk een knooppunt van alle ‘bronnen’.
- Het Model representeert de applicatie data
- De View maakt een presentatie van de model gegevens
- De Controller is verantwoordelijk voor het verwerken van de data

Hieronder een standaard MVC Request.

Afbeelding

De bovenstaande figuur geeft een voorbeeld van een simpel MVC request weer. Hieronder is puntsgewijs weergegeven hoe daadwerkelijk het MVC een request correct afhandeld.
1. Client klikt op een link. Zijn browser maakt een request aan naar de webserver
2. De dispatcher ( uitvoerder ) controleert de request URL en geeft de request door aan de juiste controller
3. De controller voert de applicatie specifieke logica uit. Bijvoorbeeld of de client is ingelogd.
4. Daarnaast gebruikt de controller een of meerdere modellen om toegang tot de applicatie data te verkrijgen. Meestal representeert een model een database tabel, maar kan ook een tekst bestand wezen.
5. Zodra het model de data heeft verkregen en deze heeft doorgegeven aan de controller geeft de controller deze data door aan de view. De view pakt deze data op en maakt deze klaar voor presentatie aan de gebruiker. Views zijn normaliter in HTML format, maar dit zou evengoed een PDF, XML document of een JSON object kunnen zijn, afhankelijk van de wensen van de applicatie ontwikkelaar.
6. Als de view de data van de controller heeft gebruikt om een volledige view op te bouwen, wordt de inhoud van die view teruggestuurd naar de browser van de client.
Bij elke request die naar de applicatie wordt verstuurd volgt dit basispatroon.

Waarom MVC:
Waarom gebruik maken van MVC? Omdat het een bewezen software design patroon blijkt te zijn dat van een applicatie, een goed onderhoudbaar, modulair en snel te ontwikkelen pakket maakt. De taken van de toepassingen onderverdelen in aparte modellen, views en controllers maakt de applicatie geheel lichtvoetig.
Gewijzigd op 29/08/2011 20:13:11 door Niels K
 
Ozzie PHP

Ozzie PHP

28/12/2010 14:00:14
Quote Anchor link
Hoi Niels,

Mooie uitleg. Stel nu dat je een user uit de database wil halen hoe zou jij dit dan doen?

Stel je request komt binnen op www.jouwsite.nl/inloggen

Dan heb je bijvoorbeeld een loginAction in de indexcontroller en in die loginaction wil je dan een user ophalen. Hoe zou je dat dan doen?

Zo?

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

  public function loginAction() {
    $user = new User(); // user is een class in een library en haalt informatie op via UserModel
  }

}

?>


Of zo?

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

  public function loginAction() {
    $user = new UserModel();  }

}

?>

Of heel anders?
 
Niels K

Niels K

28/12/2010 14:02:43
Quote Anchor link
Laatste optie.
Eerste optie bouw je een extra laag in het MVC, welke eigenlijk nergens toe dient. Niet doen dus ;)

Verder, maak je gebruik van iets als een BaseController ?
Gewijzigd op 28/12/2010 14:08:24 door Niels K
 
Ozzie PHP

Ozzie PHP

28/12/2010 14:09:24
Quote Anchor link
Oke, maar wanneer / waarvoor gebruik je dan eigenlijk een library? Volgens mij heb ik namelijk zo'n optie als optie 1 ook wel eens gezien. Dus $user = new User() en user spreekt dan met UserModel. En als je dan bijvoorbeeld de naam van de user wil dan zeg je echo $user->getName();

Is bovengenoemde niet goed (of niet gebruikelijk)?

Toevoeging op 28/12/2010 14:09:50:

Niels Kieviet op 28/12/2010 14:02:43:
Verder, maak je gebruik van iets als een BaseController ?

Wie ik?
 
Niels K

Niels K

28/12/2010 14:12:52
Quote Anchor link
Library is voor je framework, en voor bijvoorbeeld een datum of een money converter, of een classe met allemaal constanten met een regex.

Quote:
Volgens mij heb ik namelijk zo'n optie als optie 1 ook wel eens gezien. Dus $user = new User() en user spreekt dan met UserModel. En als je dan bijvoorbeeld de naam van de user wil dan zeg je echo $user->getName();

Waar precies? Want dat is geen goeie vertaling van het MVC pattern

Quote:
Wie ik?

Ja :-)
 
Kees Schepers

kees Schepers

28/12/2010 14:12:54
Quote Anchor link
Om nou elke gebruiker met een vraag het MVC model in te duwen vind ik ook wat overdreven. MVC heeft zich zeker al bewezen en is ook een zeer goed software patroon maar de gebruiker vraagt iets over het ontwerp van zijn user klasse.

Volgens de Java richtlijnen moet je voor elke eigenschap die opvraag moet zijn een get functie maken bijvoorbeeld getUsername(). En ook een set functie voor elke eigenschap die muteerbaar moet zijn.

Je hebt in PHP5 ook magic functions __Set en __Get als iemand van buiten de scope dan $object->eigenschap aanroept dan word __Get aangeroepen in je klasse en word de gevraagde eigenschap als argument meegegeven.

@Topicstarter: Ik zou sowieso proberen niet meer de MySQL extensie te gebruiken, naast dat deze erg oud is zal deze verdwijnen in PHP6. MySQLi is daarentegen wel beschikbaar in PHP6. Ook PDO is een goed alternatief, en kan ik je aanraden om deze te gebruiken!
 
Niels K

Niels K

28/12/2010 14:14:06
Quote Anchor link
@Kees
Waar staat dat de mysql extensie verdwijnt? Hij wordt alleen niet meer standaard ondersteund dacht ik.

En wat noem jij een vraag van de gebruiker? Een request?

@TS
Je kan ook eens kijken naar een bestaand framework?
Gewijzigd op 28/12/2010 14:15:10 door Niels K
 
Kees Schepers

kees Schepers

28/12/2010 14:20:09
Quote Anchor link
Nee met dat hij verdwijnt bedoel ik uit de standaard uitrusting van PHP. Uiteraard kun je, als je dat wilt MySQL zelf compilen in PHP. Maar als je bij een hoster zit ga je hier over een tijd (misschien wel pas over 2/3 jaar) problemen mee krijgen. Het is dus beter om jezelf nu al een andere extensie aan te leren, zo bedoelde ik het meer ;)

Misschien mis ik een stukje uit de context, omdat ik niet zoveel actief ben hier. Maar de gebruiker (en daarmee bedoel ik in dit geval "The Ultimate" mee) vraagt iets over zijn user klasse en hij lijkt mij nog niet zo bekend met frameworks. Voor jou, mij en andere is MVC al vanzelfsprekend geworden wellicht maar ik zelf had er best wat moeite mee om het onder de knie te krijgen in het begin.

Daarom vind ik het onnodig om hem meteen advies te geven over hoe zijn applicatie zou moeten bouwen, maar zou het advies op de user klasse gericht moeten zijn in mijn ogen. Maargoed, zoals ik al zei ik ken de context niet en misschien was hij al eerder bezig met MVC o.i.d.
 
Ozzie PHP

Ozzie PHP

28/12/2010 14:28:33
Quote Anchor link
Niels Kieviet op 28/12/2010 14:12:52:
Library is voor je framework, en voor bijvoorbeeld een datum of een money converter, of een classe met allemaal constanten met een regex.

Quote:
Volgens mij heb ik namelijk zo'n optie als optie 1 ook wel eens gezien. Dus $user = new User() en user spreekt dan met UserModel. En als je dan bijvoorbeeld de naam van de user wil dan zeg je echo $user->getName();

Waar precies? Want dat is geen goeie vertaling van het MVC pattern

Quote:
Wie ik?

Ja :-)

Yep :)

"Waar precies? Want dat is geen goeie vertaling van het MVC pattern"
Volgens mij in mn vorige baan :)

Maar de library gebruik je dus voor algemene / generieke classes? Bijvoorbeeld een File class waarmee je een bestandsnaam kunt ophalen ofzo? $file_name = File::getName($file);

Zoiets bedoel je? Dat het dus eigenlijk een soort tools zijn?

En als je een user ophaalt zeg je dan echt $user = userModel()?
Gewijzigd op 28/12/2010 14:29:23 door Ozzie PHP
 
Niels K

Niels K

28/12/2010 14:44:58
Quote Anchor link
Quote:
Volgens mij in mn vorige baan :)

Ok dan, tja het is natuurlijk een eigen keuze en ze hebben er misschien wel een goede reden voor gehad, maar voor zover ik weet is het geen goede vertaling van het MVC.

Quote:
Maar de library gebruik je dus voor algemene / generieke classes? Bijvoorbeeld een File class waarmee je een bestandsnaam kunt ophalen ofzo? $file_name = File::getName($file);

Precies, of als je bijvoorbeeld mijn dependency injection container gebruikt, of iets van zend kan je die er gewoon ingooien en daar gebruik van maken. Je gooit gewoon je library map in je include path en gaan met die banaan :)

Quote:
En als je een user ophaalt zeg je dan echt $user = userModel()?

Welnee dat hoeft niet. Naamgeving is je eigen keuze. Bij zend framework maken ze gebruik van het table / row princiepe en daar zet je voor je database models Table_NaamVanModel. Dat staat voor 'in de map table' is een bestand wat NaamVanModel.php heet en in dat bestand heet de klasse Table_NaamvanModel

En dan heb je ook nog de Table_Row objecten ;) Google er eens op, leuke database implementatie is dat. Goed over nagedacht door zend :)

@TS
Ik zal vanavond wat extra commentaar plaatsen op jouw klasse heb ik nog wat commentaar op.
Gewijzigd op 28/12/2010 14:47:34 door Niels K
 
Ozzie PHP

Ozzie PHP

28/12/2010 14:49:01
Quote Anchor link
Niels Kieviet op 28/12/2010 14:44:58:
Precies, of als je bijvoorbeeld mijn dependency injection container gebruikt

je WAaaaAT????



Toevoeging op 28/12/2010 14:50:54:

Niels Kieviet op 28/12/2010 14:44:58:
Welnee dat hoeft niet. Naamgeving is je eigen keuze.

Herkent Zend Framework een model niet aan de naamgeving? Dus dat ie automatisch in de model map zoekt als je $user = userModel() aanroept?
 
Niels K

Niels K

28/12/2010 14:51:55
Quote Anchor link
Leg ik vanavond wel even uit :), google eerst even, dan zal ik daarna wat meer info plaatsen
Leuk topic dit overigens.. Gaat wel een beetje offtopic maar goed.

Quote:
Herkent Zend Framework een model niet aan de naamgeving? Dus dat ie automatisch in de model map zoekt als je $user = userModel() aanroept?

Dat zei ik toch? Als je Table_ ervoor zet zoekt hij in de map table/, maar je moet gewoon je model map in je include path zetten, dan zoekt php daar automatisch in, dat heeft niets met Zend te maken.
Gewijzigd op 28/12/2010 14:53:56 door Niels K
 
Ozzie PHP

Ozzie PHP

28/12/2010 14:57:08
Quote Anchor link
Ah oke, ik dacht dat Models ook automatisch door ZF herkend werden. Die table gebruik ik nooit.
 

Pagina: 1 2 3 4 volgende »



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.