MVC Database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Integratiespecialist

Ben jij een ontwikkelaar of ICT-er die energie krijgt van complexe uitdagingen? Lijkt het jou gaaf om te werken aan slimme oplossingen, die veilige en betrouwbare gegevensuitwisseling tussen applicaties mogelijk maken? Wil jij maatschappelijk je steentje bijdragen en de Bredase burgers en bedrijven op het juiste moment van de juiste informatie voorzien? Dan is Integratiespecialist bij de gemeente Breda écht iets voor jou! Wat ga je doen? Als Integratie Specialist kun je business wensen van interne- en externe klanten verwezenlijken met slimme integraties. Je bent verantwoordelijk voor het ontwerpen, implementeren, onderhouden, optimaliseren en realiseren van koppelingen tussen interne en externe

Bekijk vacature »

Python Developer / Data Engineer / data pipelines

2021-04-26 iSense Python Developer / Data Engineer / data pipelines Ben jij een junior / medior Python Developer die enthousiast wordt van Big Data en Microservices? Werk jij graag met grote hoeveelheden data vanuit verschillende bronnen? Dan is dit de vacature voor jou! ISMO49727 Organisatie Bij dit grote, innovatieve technische bedrijf wil men graag flink groeien dit jaar, namelijk van zo'n 100 naar 120 mensen. In de afgelopen jaren is er hard gewerkt om een nieuw software product op de markt te zetten ter ondersteuning van hun fysieke producten en omdat dit een groot succes is, wordt het nu uitgerold

Bekijk vacature »

Dynamics Ontwikkelaar @ Regio Eindhoven

2021-06-03 iSense Dynamics Ontwikkelaar Ben jij een ervaren Dynamics Ontwikkelaar? Wil je meedenken over de toekomst van de organisatie op het gebied van Dynamics en dit zelfde verschil gaan maken op grote schaal bij andere bedrijven? Lees dan snel verder! ISTA50095 Organisatie Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Dynamics Ontwikkelaar word jij de specialist binnen

Bekijk vacature »

Advanced Mendix Developer Order Management Systeme

Advanced Mendix Developer Order Management Systemen (NL) Den Haag HBO/WO IT Professional "Als Advanced Mendix Developer impact maken op de groeiende e-commerce markt? Je doet dit bij PostNL door met je DevOps team onze Mendix applicaties verder te ontwikkelen, waarbij je complexe logistieke business processen vertaalt naar applicaties die ons primaire proces ondersteunen". Wat ga je doen? PostNL wordt een postal tech company We nemen de ontwikkeling van onze IT applicaties in eigen hand door onze eigen software-ontwikkel-capability op te zetten. Als Advanced Mendix Developer ben je onderdeel van een multidisciplinair, agile werkend Business-IT-team. Samen met dit team bouw je onze logistieke IT-applicaties verder

Bekijk vacature »

Medior PHP Developer gezocht voor een snel groeien

Bedrijfsomschrijving De Organisatie waar jij komt te werken is constant bezig met het vernieuwen en ontwikkelen van innovatieve webapplicaties. Met +/- 5 mede Developers ben jij verantwoordelijk voor het onderhouden en doorontwikkelen van deze applicaties. Verder heeft deze organisatie een groot maatschappelijk belang en heb je als Developer veel ruimte voor eigen inbreng. Wekelijks groeit het aantal klanten en daarom ben ik ter versterking van het Development team op zoek naar een Medior en/of Senior Developer. Functieomschrijving Als PHP Developer ben je verantwoordelijk voor zowel de backend als de frontend. Je werkt met 4 collega's aan de doorontwikkeling van 3

Bekijk vacature »

Typescript Developer / Cloud platform @ Regio Eind

2021-08-20 iSense Typescript Developer / Cloud platform Ben jij een Typescript Developer en werk je graag aan innovatieve producten? Lees dan snel verder! ISTA47805 Organisatie Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt gebruikt door verschillende klanten. Hierbij

Bekijk vacature »

Email Front-End Developer

Creatieve HTML-er die de mooiste mails binnen no time kan bouwen. Wat doe je als Email Front-End Developer bij Coolblue? Droom jij in HTML en CSS? Weet jij als geen ander een ambitieus email design om te bouwen naar de werkelijke email? Zwem jij graag in je code om bestaande templates net weer een beetje beter te maken? Dan zoeken wij jou. Ook Email Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen De beste campagnes opbouwen voor de belangrijkste doelen Nieuwe mail templates ontwikkelen vanuit HTML en CSS of oude

Bekijk vacature »

Java Software Developer / SaaS platform / greenfie

2021-06-01 iSense Java Software Developer / SaaS platform / greenfield Ben jij een junior / medior Java Developer die klaar is voor een nieuwe uitdaging? Lijkt het jou tof om een volledig greenfield SaaS platform op te gaan zetten bij een gevestigd bedrijf? Dan is dit dé vacature voor jou! ISMO49027 Organisatie Onze klant, een innovatief bedrijf met een gevestigde naam op het gebied van industriële automatisering, wil een nieuw product gaan lanceren. Dit wordt een SaaS oplossing waarbij klanten hun hele bedrijf kunnen monitoren en dat goed samenwerkt met de automatiseringsoplossingen die geboden worden. Het is dus een volledig

Bekijk vacature »

PHP en klant contact - unieke functie met goede vo

Bedrijfsomschrijving Mijn klant is een gezonde en sterk groeiende partij die actief is in de wereld van online-marketing. Ze behoren tot één van de sterkst groeiende partijen op dit vlak van dit moment met hele bekende klanten. Ze zijn met hun campagnes zeer succesvol. Ze doen technisch erg slimme en complexe dingen die te maken hebben met hele grote hoeveelheden data. Ze werken voornamelijk voor bekende A merken en daar verzorgen ze een groot deel van de online communicatie voor. Functieomschrijving Er is bij deze klant een rol vrijgekomen voor iemand met zowel PHP als front-end ervaring die aan de

Bekijk vacature »

C# .NET Developer @ Amsterdam

2021-08-04 iSense C# .NET Developer Ben jij een senior C# .NET Developer en wil jij een bijdrage leveren aan een grote Noord-Europese financiële organisatie door innovatieve features te implementeren? Wil jij werken met C# en krijg jij energie van requirements uit de business vertalen naar concrete mogelijkheden? Lees dan nu verder! ISDR46635-2 Organisatie In een klein team van professionals ben je als C# .NET Developer verantwoordelijk voor het ontwikkelen van applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Wil je van meerwaarde zijn voor de business? Ben jij

Bekijk vacature »

Azure developer / Big Data @ Amersfoort

2021-09-17 iSense Azure developer / Big Data Ben jij een Azure Developer en wil jij je inzetten bij een internationale organisatie die zich met de meest innovatieve technologieën bezighoudt om mensen met elkaar te verbinden? Wil jij mee ontwikkelen op top niveau aan features die gebruikers en/of machines in staat stelt om stromen en processen te beïnvloeden? Lees snel verder! ISHU49233 Organisatie Als Azure Developer ga je in een team van experts aan de nieuwste digitale technologieën werken om klanten over de hele wereld te ondersteunen met het ontwerpen van slimme processen voor havens, steden, luchthavens en gebouwen! Door middel

Bekijk vacature »

App ontwikkelaar / IoT / iOS en Android @ Arnhem

2021-09-16 iSense App ontwikkelaar IoT iOS en Android Wil jij als App ontwikkelaar aan de slag bij een organisatie die werkt met toonaangevende klanten? Wil jij helpen met het smart maken van hardware producten? Lees dan snel verder! ISVI50120 Organisatie De organisatie in de regio Arnhem is een specialist als het gaat om het ontwikkelen van intelligente apparaten of machines. Binnen de organisatie zijn zo'n 50 medewerkers werkzaam waarvan 97% een technische functie bekleedt. Voor verschillende klanten door heel Nederland ontwikkelen zij innovatieve producten. Hierin verzorgen zij zowel de elektronica als de embedded software en zijn ze ook in opbouw

Bekijk vacature »

Senior Developer Micro Services Expert

As a Senior Developer you will work closely together with multiple teams within the factory Drachten. You will work with local teams to develop, implement, and migrate manufacturing IT functionality from not only technical perspective but also from a functional perspective. As part of your job you will cooperate in a European project with 13 other partners, with the objective to develop cutting edge OT security solutions based on micro services. As a Senior Developer you will work closely together with multiple teams within the factory Drachten. You will work with local teams to develop, implement, and migrate manufacturing IT

Bekijk vacature »

Senior Java 8 Developer in High-Tech Industry

Is your interest triggered by software and in particularly Java? Do you have at least 8 years of experience with Java in a High-Tech Industry? Then you could be the perfect candidate. Our client is looking for an senior Java Developer, in Eindhoven, The Netherlands. Functie You will be end-to-end responsible for creating software in Java and Java EE, contributing to the development of several diagnostic applications in a scrum/Agile way of working. Diagnostic & Sequencing applications is done in several teams working together to deliver and integrate solutions to complex problems to enhance the diagnostic capabilities for our customers.

Bekijk vacature »

Oracle APEX Developer / PL/SQL @ Hilversum

2021-09-13 iSense Oracle APEX Developer PL/SQL Heb jij je altijd al willen verdiepen in Oracle APEX? En vind jij het leuk om naast het Oracle ontwikkelwerk veel met de business te schakelen? Lees dan snel verder! ISVR47872 Organisatie Als je altijd al in een Europees georiënteerde organisatie hebt willen werken, ben je hier aan het juiste adres! De organisatie biedt IT- en communicatieoplossingen aan kleine, middelgrote en grote ondernemingen in zowel de private als de publieke sector. De innovatieve oplossingen, ontworpen voor open connectiviteit, hoge beschikbaarheid en flexibele groei, bevatten de nieuwste spraak-, data- en videotechnologieën en maken real-time, samenwerking,

Bekijk vacature »
PHP Scripter

PHP Scripter

09/09/2011 20:47:37
Quote Anchor link
Ik probeer in mijn Framework via één model, de index, de database in te laden. Ik loop alleen een beetje vast op de logica hiervan. Dit is wat ik nu heb staan:

IndexModel
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 IndexModel
{
    private $Database;
    
    public function __construct()
    {

        $this->Database = new Database();
    }

    
    public function TestFunction()
    {

        /** **/
    }
}

?>


Database
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
class Database
{
    public $Database;
    
    public function __construct()
    {

        $this->Database = '';
        
        // new PDO('mysql:host=' . DB_HOSTNAME . ';dbname=' . DB_DATABASE . '', DB_USERNAME, DB_PASSWORD);
    }
}

?>


Hoe kan ik dit het beste aanpakken? Op internet lees ik veel over de gegevens opslaan in een Registry, maar dat doe ik nu alleen met variablen.

Graag ontvang ik wat info over een PDO connectie i.c.m. het MVC ;)
Gewijzigd op 09/09/2011 20:47:59 door PHP Scripter
 
PHP hulp

PHP hulp

27/10/2021 03:23:21
 
Robert  dat ben ik

Robert dat ben ik

10/09/2011 12:12:29
Quote Anchor link
om simpel weg verbinding met pdo te maken kun je de volgende code gebruiken
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
<?php
//database config
define("ENERGY"  ,"mysql");
define("HOST"    ,"localhost");
define("DB_USER" ,"**********");
define("DB_PASS" ,"**********");
define("DB_NAME" ,"**********");
define("DNS"     ,ENERGY.":host=".HOST.";dbname=".DB_NAME);

class Database extends PDO {
    
    public function __construct(){
        parent::__construct( DNS, DB_USER, DB_PASS );
    }

    
    private function __clone(){}
}

?>




in mvc is het ook gebruikelijk dat je met registry werkt
als je een registry class aanmaakt kun je dat op deze manier doen:

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
Class Registry {
    
    private $var = array();
    
    public function __set($index, $value) {
        $this->var[$index] = $value;
    }

    public function __get($index) {
        return $this->var[$index];
    }
}

?>


in je index.php doe je dit:
$registry = new Registry();
$registry->database = new Database;

als je nu ergens een verbinding wilt hebben, het enigste wat je dan doet is:



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 IndexModel
{
    private $registry;
    
    public function __construct($registry)
    {

        $this->registry = $registry;
    }

    
    public function TestFunction()
    {

        $sql= 'SELECT username FROM members';
        $this->registry->database->prepare($sql);
        
        /**enz enz... **/
    }
}

?>


hoppelijk heb je er iets aan

greetz rob
Gewijzigd op 10/09/2011 12:15:28 door Robert dat ben ik
 
Pim -

Pim -

12/09/2011 11:00:57
Quote Anchor link
Energy? ;-)
 
PHP Scripter

PHP Scripter

12/09/2011 19:56:03
Quote Anchor link
Robert, ik kom er nog niet helemaal uit op jouw manier. Maar ik probeer het straks nog eens ;)
 
Aad B

Aad B

12/09/2011 21:21:02
Quote Anchor link
Pim - op 12/09/2011 11:00:57:
Energy? ;-)

Klok horen luiden maar weet niet waar het engine draait
;-)
 
Robert  dat ben ik

Robert dat ben ik

12/09/2011 23:23:42
Quote Anchor link
PHP Scripter op 12/09/2011 19:56:03:
Robert, ik kom er nog niet helemaal uit op jouw manier. Maar ik probeer het straks nog eens ;)


kijk hier is: MVC Model

een klein voorbeeld hoe je het zou kunnen doen
Gewijzigd op 12/09/2011 23:28:49 door Robert dat ben ik
 
PHP Scripter

PHP Scripter

13/09/2011 16:12:48
Quote Anchor link
Ik weet niet of het aan mij ligt maar de tutorial op phPro werkt niet?
 
- -

- -

13/09/2011 16:20:55
Quote Anchor link
phPro werkt bij mij ook niet, gelukkig hebben we altijd google cache nog.
 
Pim -

Pim -

13/09/2011 18:51:28
Quote Anchor link
Ja. Die tut is goed, de site vaak down.
 
Robert  dat ben ik

Robert dat ben ik

14/09/2011 13:01:07
Quote Anchor link
Die Phpro tutorial is wel okee,

alleen 1 ding die totaal niet ok is in deze tutorial, dat is de
class router
functie getController()

er word geen controlle uitgevoerd op de $_GET['rt'], het enigste wat het doet is kijken of ie leeg is of niet.

Dit is niet voldoende aangezien het een user input kan bevatten en dus een validate nodig is om deze input te controlleren op injections.

inplaats van die router kun je deze router nemen:

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
/*
 * Router Class
 */


class Router {

    private $registry;
    private $path;
    private $file;
    private $controller;
    private $action;


    function
__construct($registry) {
        $this->registry = $registry;
    }

    function
setPath($path) {
        if (is_dir($path) === false) {
            throw new Exception ('Invalid controller path: `' . $path . '`');
        }

        $this->path = $path;
    }


    public function loader() {
        $this->getController();
        if (is_readable($this->file) === false) {
            $this->file = $this->path.'/error404.php';
            $this->controller = 'error404';
        }
else {

            include_once $this->file;
            $class = $this->controller.'Controller';
            $controller = new $class($this->registry);

            if (is_callable(array($controller, $this->action)) === false) {
                $action = 'index';
            }
else {
                $action = $this->action;
            }

            $controller->$action();
        }
    }


    private function getController() {
        
        if(isset($_GET['rt'])) {
            if (!preg_match('/[a-zA-Z0-9]$/i', $_GET['rt'])) {
                $this->file = $this->path.'/error404.php';
                $this->controller = 'error404';
            }
else {
                $router = (empty($_GET['rt'])) ? '' : $_GET['rt'];
                if (empty($router)) {
                    $router = 'index';
                }

                if (empty($this->controller)) {
                    $this->controller = $router;
                }

                if (empty($this->action)) {
                    $this->action = $router;
                }

                $this->file = $this->path.'/'.$this->controller.'Controller.php';
            }
        }
else {
            if (empty($this->controller)) {
                $this->controller = 'index';
            }

            $this->file = $this->path.'/'.$this->controller.'Controller.php';
        }
    }
}

?>



Edit: Aangepast


Rob
Gewijzigd op 16/09/2011 08:20:23 door Robert dat ben ik
 
Pim -

Pim -

15/09/2011 09:23:58
Quote Anchor link
Oeh, wat een lelijke oplossing. Als je nu een nieuwe controller wil toevoegen, moet je de router aanpassen.
 
Robert  dat ben ik

Robert dat ben ik

15/09/2011 09:32:16
Quote Anchor link
Pim - op 15/09/2011 09:23:58:
Oeh, wat een lelijke oplossing. Als je nu een nieuwe controller wil toevoegen, moet je de router aanpassen.


Daar zit wat in :) niet over na gedacht mijn fout, maar opzich werkt het wel ;)

je zou gewoon een preg_match() er voor kunnen gebruiken hoef je het niet meer aan te passen (voorbeeld is aangepast)
Gewijzigd op 16/09/2011 08:20:04 door Robert dat ben ik
 



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.