Mijn Framework

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Applicatie Ontwikkelaar

Bedrijfsomschrijving DUO verzorgt als uitvoeringsorganisatie, zijnde onderdeel van het Ministerie van Onderwijs, Cultuur en Wetenschap de uitvoering van complexe wet- en regelgeving en heeft een uitgebreid dienstenpakket. DUO financiert en informeert onderwijsdeelnemers en onderwijsinstellingen. Voor verdere informatie zie www.duo.nl Functieomschrijving Wie zoeken we? Jij bent een enthousiaste, flexibele OPS’er die het leuk vindt om het bestaande examenlandschap te vernieuwen. Je bent leergierig en hebt interesse in cloud- en containertechnieken zoals OpenShift, Docker en Helm. Je gaat een uitdaging niet uit de weg en wil je nieuw opgedane kennis graag delen met de collega’s binnen en buiten het team. Doordat de

Bekijk vacature »

Senior .NET developer

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

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

Bekijk vacature »

Software Developer PHP JavaScript Python HBO SQL

Samengevat: Wij zijn een softwarebedrijf voor Autodealers. Ben jij een Medior of Senior Software Developer? Heb je ervaring met PHP, JavaScript of Python? Vaste baan: Java.Developer Software HBO €3.000 - €5.200 Bij ons op de werkvloer is er een positieve en informele sfeer. Naast een goede begeleiding en een enthousiaste klantenkring biedt deze werkgever een prettige omgeving met zeer afwisselende werkzaamheden. Houd jij van aanpakken en denk je dat je deze uitdaging aankunt? Dan zoeken wij jou! Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

Java Developer bij een jonge groeiende organisatie

Bedrijfsomschrijving Vind jij het als Java developer ook zo belangrijk dat een bedrijf je de ruimte en tijd geeft voor persoonlijke ontwikkeling? Dan zit je hier helemaal goed. Deze jonge organisatie is opgericht in 2018 en is ondertussen uitgegroeid tot een club van ongeveer 30 medewerkers. Het gaat hier om een echte Java club, die vrijheid en verantwoordelijkheid erg belangrijk vinden. Het bedrijf heeft een informele sfeer en de teams zijn erg hecht met elkaar. Ze delen graag de kennis en ervaringen met anderen, maar vinden andermans mening ook zeer belangrijk. De organisatie zet zich in voor ontwikkeling en besteed

Bekijk vacature »

.NET developer

Functie Als .NET developer wordt jij onderdeel van ons ICT team. In dit multidisciplinaire team ben jij samen met onze senior .NET ontwikkelaar en medior .NET ontwikkelaar verantwoordelijk voor ons ERP systeem. In dit systeem (Navision) ga jij leren ontwikkelen. Wij bieden jou dan ook een gedegen opleiding aan, samen met de ondersteuning van onze Senior .NET developer. Daarnaast ga jij aan de slag met ons portaal geschreven in Sharepoint. Verder ben jij verantwoordelijk voor EDI verkeer en het ontwikkelen binnen het ERP systeem en andere toepassingen en rapportages. Van jou wordt verwacht dat jij het proces goed leert kennen

Bekijk vacature »

C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Testen en valideren van de ontwikkelde software. Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je gaat aan de slag met diverse technologieën en frameworks. Denk hierbij aan C#, JS frameworks, HTML, CSS, TypeScript,

Bekijk vacature »

Cobol Developer

Dit ga je doen Als Cobol Ontwikkelaar zal je gaan meebouwen aan een onderdeel van het backend systeem waarbij je het functionele ontwerp vertaald naar een technische oplossing die geïntegreerd kan worden in de huidige omgeving. Je zorgt ervoor dat de bedrijfsprocessen op een efficiënte manier worden uitgevoerd en werkt proactief aan het verbeteren hiervan. Samen met jouw collega’s reviewen jullie elkaars code en test je je eigen code. Je werkt nauw samen met andere ontwikkelaars, testers en functioneel ontwerpers. Taken pakket: Beheren en doorontwikkelen van de bestaande omgeving; Vertalen van een functionele vragen naar een technische oplossing; Doorvoeren van

Bekijk vacature »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. Jij gaat in de functie van Software Developer werken met C# en .NET framework Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Deze organisatie is

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van Software Developer! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van ervaren

Bekijk vacature »

Technical Asset Specialist Substations

TenneT is growing fast to realize its strategic ambitions. We play a leading role in driving the energy transition. We are looking for a passionate Technical Asset Specialist for substations (onshore and offshore) at our location in Arnhem who will contribute to this and that might be you? Your contribution to TenneT We are searching for a motivated and engaged colleague as a technical asset specialist (onshore and offshore) for instrument transformers and surge arresters, with preferably a strong background in the area of insulation coordination. As a specialist for insulation coordination you are responsible for overarching topics regarding insultation

Bekijk vacature »

Outsystems Developer Junior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als junior Outsystems Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van

Bekijk vacature »

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Python developer Consultancy

Functie Als Python developer bij deze organisatie werk je voor verschillende klanten. Doordat de oprichter een groot netwerk heeft kun je zelf voorkeuren uitspreken in het type projecten dat je wilt gaan doen. Zo zijn er bijvoorbeeld langdurige of juist korte projecten, maar is ook het type klant, of project bespreekbaar. Werk jij bijvoorbeeld graag aan een nieuw, state-of-the-art web portaal of ben je liever betrokken bij een migratietraject van een bestaande applicatie? Wij gaan voor jou aan de slag! Eisen • Je bent een gedreven developer met sterke voorkeur voor Python • Je bent meer dan een codeklopper •

Bekijk vacature »
PHP Scripter

PHP Scripter

16/08/2011 22:29:11
Quote Anchor link
Ik ben bezig met het ontwikkelen van een eigen Framework (inclusief CMS) om mijn kennis in het MVC systeem en de bijhorende zaken wat beter te begrijpen. Ik wil mij niet verdiepen in de andere Frameworks omdat ik nooit zal begrijpen hoe het precies in elkaar zit. Misschien ook een stukje eigenwijsheid. Haha!

Ik wil veel tijd besteden aan het systeem en het in de toekomst mijn oude CMS systeem te laten vervangen, omdat dit niet in OOP is geschreven.

Nu heb ik dit topic gestart om wat algemene vragen te stellen. Ik weet dat er meer mensen op dit forum bezig zijn met een Framework, maar ik wil graag verder met mijn eigen.

In de index.php laad ik de Core door middel van de volgende regels:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
require LIBRARY . DS . 'Core' . PHP_SUFFIX;
new
Core();
?>


Ik heb er bewust voor gekozen om zoveel mogelijk te defineren zodat ik duidelijk kan zien welke bestanden er worden opgehaald. Dit is denk ik heel erg persoonlijk.

Vervolgens heb ik in de Core het volgende probleem, overige code heb ik weggehaald:
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
<?php
class Core
{
    private static $CoreStart;
    private static $CoreLoaded;
    
    /**
    * The constructor in this class.
    */

    public function __construct()
    {

        /**
        * Start the session. This is very important!
        */

        session_start();
        
        /**
        * First check if the language class is loaded, else show an error.
        */

        self::LoadFile(LIBRARY . DS . 'Language' . PHP_SUFFIX);
        
        /**
        * Check if the class can be loaded.
        */

        if (!Language::Initalize())
        {

            die('<strong>EN:</strong> The language class can\'t be loaded, please contact the webmaster!<br /><br />
                 <strong>NL:</strong> De taal klasse kan niet geladen worden, neem contact op met de webmaster!'
);
        }

        else
        {
            return true;
        }


        /**
        * To make the autoloader it a little bit easier; load all the files that we have in the libary.
        * Make sure the files exists!
        */
        
        self::LoadFile(LIBRARY . DS . 'MessageHandler' . PHP_SUFFIX);
        self::LoadFile(LIBRARY . DS . 'Config' . PHP_SUFFIX);
        self::LoadFile(LIBRARY . DS . 'Database' . PHP_SUFFIX);

        /**
        * The variables does have the correct values.
        */

        if ($this->CoreLoaded !== false AND $_SESSION["CoreLoaded"] !== false AND !empty($this->CoreStart))
        {

            /**
            * The core is loaded, we can go forwards! We gonna load some classes from the libary.
            */

            Config::Initalize();
            
            //PDO Connectie gebeurd hier.

        /**
        * The variables doesn't have the correct values.
        */

        }
        else
        {
            /**
            * The core is'nt loaded, we can't go forwards and throw a new message and the site will die!
            */

            MessageHandler::NewMessage('1', 'Error', 'true', $Language["CORE_ERROR"]);
            return false;
        }
    }
}

?>


Het documenteren van de documenten moet ik nog eens goed aandacht aan besteden. Dit is even snel opgezet, kun je wel zien aan de Engelse teksten.

Ik ben een beetje het draad kwijt, hoe kan ik nu het beste de Language class inladen en ervoor zorgen dat ik hem in de Core al kan gebruiken zodat ik mooie meldingen kan maken via mijn custom MessageHandler (Exceptions).

Ook moet ik nog eens kijken naar regel 46. Op dit moment wordt er een sessie gezet met de waarde true/false als de functie self::LoadFile is mislukt. Zodra het is mislukt, wordt de waarde overgeschreven.
Gewijzigd op 16/08/2011 22:29:55 door PHP Scripter
 
PHP hulp

PHP hulp

26/04/2024 03:10:59
 
Fabian M

Fabian M

16/08/2011 23:27:13
Quote Anchor link
Ik zelf denk dat je niet de Language class niet door de Core zelf moet geladen worden, maar het is jouw keuze.
 
PHP Scripter

PHP Scripter

18/08/2011 16:27:44
Quote Anchor link
Fabian bedankt voor je reactie. Ik laad liever eigenlijk alles in de Core. Ik ga er toch nog eens even mee stoeien.
 
The Force

The Force

22/08/2011 02:20:29
Quote Anchor link
Denk aan scheiding van taken. Een klasse moet één goed gedefinieerde taak hebben. Meer OO zou zijn om dus een ClassLoader klasse (of hoe je hem ook wilt noemen) aan te maken die het autoloaden voor zijn rekening neemt. Probeer je constructor ook wat kleiner te maken. Je doet te veel in één functie.
 
Pim -

Pim -

22/08/2011 04:05:37
Quote Anchor link
Dit is sowieso meer een functie dan een OO klasse. Heb je al veel tutorials gelezen?
 
PHP Scripter

PHP Scripter

06/09/2011 20:04:18
Quote Anchor link
Inmiddels ben ik opnieuw begonnen met het schrijven van een Framework in PHP. Nu heb ik een vraag over het registreren van 'algemene' variabelen. Ik heb het nu als volgt gedaan:

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
<?php
class Registry
{
    /**
     * Variables in this class
     *
     * @private Instance (static)
     * @private DataArrayArray
     */
    
    private static $Instance = null;
    private $DataArrayArray = array();

    /**
     * @function GetInstance
     * Get the instance of the class
     *
     * @param Instance
     */

    static public function GetInstance( )
    {

        if(self::$Instance === null)
        {

            self::$Instance = new self();
        }


        return self::$Instance;
    }


    /**
     * @function SetValue
     * Set a variable with a value
     *
     * @param DataArray
     */

    public function SetValue($Key, $Value)
    {
        
        $this->DataArray[$Key] = $Value;
    }


    /**
     * @function SetValue
     * Get a variable with a value
     *
     * @param DataArray
     */

    public function GetValue($Key)
    {

        echo (isset($this->DataArray[$Key]) ? $this->DataArray[$Key] : null);
    }
}

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$Registry
= Registry::GetInstance();

$Registry->SetValue('test', 'phphulp');        
$Registry->GetValue('test');
?>


Is dit de juiste manier om één register te gebruiken? Ergens anders las ik weer dat een register net zo fout is als het gebruik van globals. En dus moet ik nu in elke methode een nieuw object van het register maken.
 
Ozzie PHP

Ozzie PHP

06/09/2011 20:05:54
Quote Anchor link
(ik zie toevallig een foutje op regel 11: $DataArrayArray moet zijn $DataArray)
 
PHP Scripter

PHP Scripter

06/09/2011 20:08:27
Quote Anchor link
Oops! Heb het aangepast, dank!
 
Pim -

Pim -

07/09/2011 10:25:31
Quote Anchor link
Het is mooier om van je register geen singleton te maken, maar om het als variabele door te geven.
 
PHP Scripter

PHP Scripter

07/09/2011 21:24:20
Quote Anchor link
Pim, zou je daar een klein voorbeeldje van kunnen geven?
 
Fabian M

Fabian M

08/09/2011 07:44:20
Quote Anchor link
Ik zou camelCase gebruiken voor je variablen en functies;

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$camelCaseVariable = '';
function camelCaseFunction() {



}
 
PHP Scripter

PHP Scripter

08/09/2011 14:03:32
Quote Anchor link
Waarom? Dat is toch puur persoonlijk? Ik heb camelCase nog nooit gebruikt en ik snap ook niet waarom ik dat zou doen? Ik vindt het ook niet mooi staan.

Iemand nog een voorbeeldje voor de tip van Pim? :)
 
PHP Scripter

PHP Scripter

09/09/2011 16:38:26
Quote Anchor link
Schopje.
 
Pim -

Pim -

11/09/2011 21:50:37
Quote Anchor link
Een niet-singleton register:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
// Heel basaal
class Register extends ArrayObject {}

// bootstrap.php
$register['db'] = new Database;
$controller->setRegister($register);

// controller
$this->_register['db']->query();
 
PHP Scripter

PHP Scripter

15/09/2011 17:27:41
Quote Anchor link
Zojuist mijn 'kleine' MVC Framework draaien met Smarty als Template parser, wat werkt dat lekker!

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
class Controller
{
    public $smarty;
    
    public function __construct()
    {
        
        $this->smarty                   = new Smarty();
        $this->smarty->template_dir     = VIEW_PATH;
        $this->smarty->compile_dir      = VIEW_C_PATH;
        $this->smarty->cache_dir        = CACHE_PATH;
        $this->smarty->config_dir       = CONFIG_PATH;
        
        $this->smarty->cache_lifetime   = 3600;
        $this->smarty->caching          = 1;
    }
}

?>


Wat is eigenlijk een goede plek om Smarty te laden en te configureren binnen het MVC? Heb het nu tijdelijk even in de controller gezet.
Gewijzigd op 15/09/2011 17:28:37 door PHP Scripter
 



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.