registry probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Software Ontwikkelaar

Functie omschrijving Gezocht: Software Developer C# .NET voor een dynamische organisatie! Ben je onlangs afgestudeerd of ben je toe aan de volgende stap in je professionele carrière? Lees dan verder! We zijn momenteel op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die onze eindklant in de regio Arnhem kan versterken. In deze functie werk je aan verschillende projecten en bezoek je vaak klanten. Je kunt een rol verwachten met veel uitdaging, diversiteit en verantwoordelijkheid. Bedrijfsprofiel Binnen welke organisatie ga je aan de slag? Je gaat werken bij een organisatie die zich specialiseert in het

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 »

Junior Outsystems developer

Functie Als junior Outsystems developer wordt jij onderdeel van een multidisciplinair team van 23 software engineers. Ons team werkt agile en termen als Continuous Integration en Continuous Delivery zijn bij ons dagelijkse koek. Wij werken aan uitdagende en afwisselende projecten met als doel onze klanten een totaal oplossing aan te bieden. Als junior Outsystems developer krijg jij bij ons de kans om jezelf te ontwikkelen naar een volwaardige ervaren en gecertificeerde Outsystems developer. Jij een team met ervaren mensen (10+ ervaring) om je heen. Zo heb jij niet het gevoel dat jij meteen in het diepe wordt gegooid en uiteraard

Bekijk vacature »

Software developer (PHP) - Utrecht centrum

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Starter/junior PHP developer

Functie Momenteel zijn ze op zoek naar een junior PHP developer om het team te versterken. Als back-end developer bouw je de enterprise software die hun bedrijf helpt bij haar primaire processen. Afhankelijk van de omvang van het project werk je in een klein team aan een project. Ze hebben dagelijkse stand-ups en elke twee weken een scrumsessie, begeleid door de Scrum Master, waar je je ideeën kunt presenteren en samen met de Product Owner kunt werken aan het beste product. Ze vertrouwen enorm op hun eigen bedrijfssoftware. Dit geeft hun een groot voordeel ten opzichte van hun concurrentie. Zo

Bekijk vacature »

Front-end Developer

Front-end Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

REMOTE - Front-end Angular developer

Functie Het IT-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn momenteel op zoek naar een ervaren Front-end developer die autonoom en gedisciplineerd aan de slag gaat, en bij aanvang als enige developer met hun Front-end applicaties bezig is. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Dordrecht zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden 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 regelmatig met

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 »

Junior PHP (Laravel) Developer

Functie omschrijving Wij zijn op zoek naar een PHP Laravel Developer! Sta je aan het begin van je carrière en ben je op zoek naar een leuke baan? Lees dan verder! Voor een softwarebedrijf in omgeving van Schiphol zijn wij op zoek naar een ervaren PHP (Laravel) Developer. Je gaat je bezighouden met het ontwikkelen van innovatieve bedrijfsapplicaties. Samen met het team, bestaande uit designers en developers, maak je mooie oplossingen voor bedrijven in diverse branches. Je zorgt dat de opgeleverde websites perfect werken en de klant meer dan tevreden is. Je kunt rekenen op een afwisselende baan met leuke

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »
- -

- -

02/08/2010 09:43:01
Quote Anchor link
Heej,

Ik ben bezig met een eigen gemaakt MVC framework. Echter loop ik nu tegen een probleem aan met mijn registry class.

Het volgende is er aan de hand:
Ik heb twee database's met identieke tabellen. Alleen de data verschilt.
Nu wordt standaard in mijn code database 1 gebruikt. Deze connectie word opgeslagen in registry item 'mysql'. Nu wil ik de mogelijkheid inbouwen op database 2 te kunnen gebruiken. Dus ik dacht ik laat registry item 'mysql' naar de connectie met database 2 wijzen. Dit lijkt goed te gaan. ( als ik mijn registry print na de wijziging is hij gewijzigd )

In mijn layout heb ik een input veldje waarmee gezocht kan worden. Zodra je begint te typen krijg je onder het input veld een lijstje met mogelijkheden. Deze mogelijkheden moeten uit de database worden gehaald waarnaar 'mysql' verwijst. Echter nadat ik 'mysql' verander heb naar database 2 zoekt hij nog steeds in database 1.

Iemand een idee?

Hieronder mijn registry class:

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
<?php
    class registry
    {
        private static $_instance = null;
        private static $data = array( );

        function
__construct( )
        {
        }


        static function getInstance( )
        {

            if (!isset(self::$_instance))
                self::$_instance = new self();

            return self::$_instance;
        }


        public static function set( $key, $value )
        {

            $instance = self::getInstance();
            
            $instance->data[ $key ] = $value;
        }


        public static function get( $key )
        {

            $instance = self::getInstance();

            return $instance->data[ $key ];
        }
    }

?>


Update:
Ik zie net dat als ik op een link klik hij altijd database 1 selecteert.

De volgende controle werkt niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
    if( $registry->get( 'mysql' ) === false )
    {
        print_r( 'mysql<br/>' );
        $registry->set( 'mysql', $db )
    }


Er word een nieuwe registry aangemaakt als je op een link klikt of refreshed?

Iemand een oplossing?

Update 2:
Tijdelijke oplossing, opslaan in een sessie in welke database word gewerkt.
Gewijzigd op 02/08/2010 11:11:07 door - -
 
PHP hulp

PHP hulp

19/04/2024 09:28:57
 
Sebastiaan Blaas

Sebastiaan Blaas

02/08/2010 14:47:05
Quote Anchor link
ik zie even niet waarom je de klasse zo omslachtig heb geschreven ?

ik zou zelf 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
14
class registry {
private $m_aData = array ();
public function __construct() {
}

public function __set ( $p_sKey, $p_sValue = FALSE ) {
$this->m_aData[$p_sKey] = $p_sValue;
}


public function __get ( $p_sKey ) {
return isset ( $this->m_aData[$p_sKey] ) ? $this->m_aData[$p_sKey] : FALSE;
}
}


Werking is vervolgens nagenoeg hetzelfde;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
if ( $registry->mysql == false ) {
// doe iets
}


overigens check jij of je key bestaat met === wat inhoud of de daadwerkelijke waarde false is. ipv ( zoals ik vermoed dat je wilt ) checken of die bestaat...
Gewijzigd op 02/08/2010 14:47:32 door Sebastiaan Blaas
 
- -

- -

02/08/2010 15:05:05
Quote Anchor link
@Sebas
Mijn class is een singleton class ( klikje )

Je hebt gelijk over de set en get. Dit had ik eerst ook zo gedaan, maar was bang dat ik daar een fout had gemaakt dus toen heb ik het gewijzigd. Had dit nog niet terug veranderd.

Wat betreft de ===. Dit is precies het zelfde als de == met als enigste verschil dat de types dan ook gelijk zijn. Dus false == "false" geeft true, maar false === "false" geeft false. Ik heb zie ik een oudere registy class gepost, want in de huidige zit ook een isset check...
 
Sebastiaan Blaas

Sebastiaan Blaas

02/08/2010 15:24:41
Quote Anchor link
Ik begrijp dat het een singleton is...

en wat betreft je uitleg over de === dat is mijn uitleg alleen dan duidelijker :)

Anywayz.. het stuk met de === is het enige wat ik zie als mogelijke fout.
 
- -

- -

02/08/2010 15:31:40
Quote Anchor link
Dat was in jou class niet te zien ^_^ ( singleton )

Maar goed, bij de === zit het probleem niet...

De search lijkt een 'oude' versie van registry te gebruiken, daarnaast word er een nieuwe registry aangemaakt als er op een link geklikt word of gerefreshed word...
 
Sebastiaan Blaas

Sebastiaan Blaas

02/08/2010 15:38:02
Quote Anchor link
mijn versie was ook geen ST :)

Maar ben nu wel ff je probleemstuk kwijt :)

Bij elke request zal die singleton opnieuw aangeroepen worden.. Maar goed wat ik al zei ben hem ff kwijt nu :)
 
- -

- -

02/08/2010 15:47:01
Quote Anchor link
Ik heb even wat tekst in mijn destruct laten printen van de registry.
Aan het einde van de pagina komt dan de tekst te staan, dat is het probleem.
Hij moet niet 'netjes' aan het einde van de pagina destructen ^_^
 
Bart Waarom verplicht

Bart Waarom verplicht

02/08/2010 16:19:14
Quote Anchor link
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
/* ... */
        public static function set( $key, $value )
        {

            $instance = self::getInstance();
            
            $instance->data[ $key ] = $value;
        }


        public static function get( $key )
        {

            $instance = self::getInstance();

            return $instance->data[ $key ];
        }


/* ... */
?>


Waarom roep je de instance telkens opnieuw aan?
Daarnaast is $instance->data declared als een private en gebruik je static functions als normale functions

Fixed code:
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
<?php
class registry
{
    private static $_instance = null;
    private $data = array( );

    private function __construct()
    {
    }


    static public function getInstance( )
    {

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

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


        return self::$_instance;
    }


    public function set( $key, $value )
    {
        
        $this->data[ $key ] = $value;
    }


    public function get( $key )
    {

        return (isset($this->data[ $key ]) ? $this->data[ $key ] : null);
    }
}


/* Voorbeeld */
$reg = registry::getInstance();
$reg->set('key', 'value');

var_dump($reg->get('key'));
?>
Gewijzigd op 02/08/2010 16:21:02 door Bart Waarom verplicht
 
Pim -

Pim -

02/08/2010 19:58:28
Quote Anchor link
Magic methods zijn toch veel mooier?
Dus gewoon __get(), __set() en __isset() implementeren.

Verder is deze global registry net zo fout als het gebruiken van global variabelen of $_GLOBAL.
 
Hipska BE

Hipska BE

02/08/2010 22:33:49
Quote Anchor link
met unset($object); zal hij meteen ge-destruct worden op de plaats dat jij dit uitvoert. Tenzij je natuurlijk zoals in uw geval nog referenties naar het object hebt (de static variable). Dit kan je weer tegenwerken door te kopieren met clone op inhoud ipv kopieren met referentie.
 
- -

- -

03/08/2010 08:29:16
Quote Anchor link
@Pim
Tuurlijk is dat mooier, dit had ik ook eerst maar heb zoveel lopen proberen..

@Bart
Eigenlijk zelfde verhaal :p

@Hipska
Ik weet hoe unset werkt ( gebruik ik hier niet ) en ik heb een static variable die naar mijn object verwijst, maar het object lijkt te destructen aan het eind van een pagina wat ik eigenlijk niet wil..


Ik zit net te denken dat ik, wat ik probeer te bereiken, eigenlijk helemaal niet moet willen. Ik hou het wel bij mijn oplossing met de sessie, later ga ik implementeren dat er per user bijgehouden word welke database hij als laatste heeft gewerkt.
Gewijzigd op 03/08/2010 08:35:10 door - -
 



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.