OOP User classe

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar een Embedded Software developer. Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij enthousiast en een echte team player? Lees dan snel verder en laat wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot aantal creatieve en ambitieuze ontwikkelaars. Ze

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Zoek jij een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf? Wij zijn voor deze functie op zoek naar een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! Verder ga jij je bezighouden met: Het verbeteren van functionaliteiten binnen het dataplatform; Meedenken in oplossingsrichtingen; Werken aan de architectuur; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je werken? De organisatie waar je voor gaat werken heeft een onafhankelijk

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. Je gaat als Full stack developer aan de slag en gaat

Bekijk vacature »

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

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 »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe stap? Voor een softwarebedrijf in regio Oosterhout zijn wij op zoek naar een back-end developer met kennis of ervaring met C# en SQL. Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Onderdelen van jouw functie: Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

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 »

Ambitieuze Junior/Medior Low-code Developers gezoc

Bedrijfsomschrijving Transformeer bedrijven met jouw expertise in innovatieve technologie Ben je een bedreven softwareontwikkelaar met ervaring in Low-code platformen, of sta je te popelen om je in deze baanbrekende oplossing te verdiepen? Wij zijn op zoek naar jou! Ons klantenbestand groeit en we willen ons team uitbreiden met deskundige en leergierige Low-code specialisten. Is het jouw passie om organisaties te ondersteunen in hun digitale transformatie en maatwerkoplossingen te bieden met behulp van geavanceerde software? Wij zijn een vooruitstrevend bedrijf dat dagelijks werkt aan het oplossen van complexe vraagstukken om de digitale ambities van onze klanten te realiseren. Functieomschrijving Ontwikkel op

Bekijk vacature »

Front-End React Developer

As a Front-End React Developer you improve the user-experience of our web applications for your colleagues in Coolblue. How do I become a Front-End React Developer at Coolblue? As a Front-End React Developer you are responsible for developing user interface components and implementing them using React.js concepts and workflows. You work with the UX Designer and get energy from coming up with creative solutions and present these within the team. During the day you gather and welcome feedback on your technical and soft skills. Would you like to become a Front-End React Developer at Coolblue? Read below if the job

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

23/04/2024 20:09:41
 
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.