registry probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Programmeur

Functie omschrijving Voor onze opdrachtgever in omgeving Rotterdam zijn wij opzoek naar een software programmeur die goed kan schrijven in de talen C of C++ en die het leuk vind om te werken met Linux! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Bedrijfsprofiel Dit bedrijf wil de klanten een volledige oplossing kunnen bieden, waarbij ze een

Bekijk vacature »

Medior/senior Front-end developer

Functie Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden gebouwd, of grote complexe wijzigingen worden doorgevoerd op bestaande omgevingen. Je kunt (afhankelijk van jouw wensen en doelen) dus afwisselend werken in beide teams. Hiernaast participeer je in het Chapter Front-end development waar gezamenlijk kennis en ervaring wordt gedeeld. Als Front-end developer is het jouw doel

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een ontwikkelteam met 15 developers en twee testers. Samen zijn jullie verantwoordelijk voor financiële applicaties met meer dan 50.000 gebruikers. Een deel van het team is verantwoordelijk voor de webapplicaties van deze organisatie. Ook zijn er twee app ontwikkelaars werkzaam in het team die zich focussen op de mobiele applicatie. Als .NET ontwikkelaar ga jij aan de slag met de webapplicaties van deze organisatie. Hierbij maak jij o.a. gebruik van C# .NET, ASP.NET, T-SQL, Angular en TypeScript. De nadruk van jouw functie ligt wel op de backend van de applicatie. Wat jouw functie

Bekijk vacature »

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

Senior PHP Developer

Als Senior PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn en coach je andere developers op de hard en soft skills. Wat doe je als Senior PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om

Bekijk vacature »

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Software developer - senior

Functie omschrijving Voor een echt softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking voor de afdeling Software Development! Ben jij op zoek naar een werkgever waar meerdere software developers werken aan interessante projecten? Ben jij op zoek naar een werkgever waar je onderdeel wordt van een team dat echt passie heeft voor het ontwikkelen van software? Dan ben je hier aan het juiste adres! Als softwareontwikkelaar kom je terecht bij een onafhankelijk, door kwaliteit gedreven, doortastend en daarbij op een Agile wijze werkend bedrijf. Ben jij een expert in het vertalen van Componenten van Functionaliteit naar Business lagen?

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een software bedrijf in omgeving Breda zijn wij op zoek naar een SQL database ontwikkelaar. Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het huidige team developers zijn wij op zoek naar een SQL database ontwikkelaar. De klanten van dit groeiende bedrijf zitten door heel Europa en jouw werkzaamheden zullen er als volgt uitzien: Het samenstellen van de software op basis van de input vanuit de klant (T-SQL & C#.NET). Het bezoeken van klanten om de processen en mogelijkheden in kaart te brengen. Het ontwerpen van databases met T-SQL als programmeer laag.

Bekijk vacature »

C# Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Wil jij graag aan de slag als C# ontwikkelaar en jouw skills verder ontwikkelen? Zoek niet verder! Als C# ontwikkelaar ga je aan de slag met de volgende taken: (verdere) ontwikkeling van de software voor de interne processen binnen een .net omgeving; optimaliseren van de dataprocessing; ontwerpen en implementeren van zowel desktop- als web-programmatuur; ontwikkeling van tools ten behoeve van consultants en klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Den Bosch. Zij ontwikkelen business intelligence software voor een specifieke branche. Dit houdt in dat zij dashboards ontwikkelen

Bekijk vacature »

JAVA Programmeur

Bedrijfsomschrijving Functieomschrijving We zoeken per direct enthousiaste software engineers die ons team komen versterken.We werken in DevOps teams met een sterk gevoel voor verantwoordelijkheid. Er wordt nauw samengewerkt met ons Business analyse team (BAT), met onze uitvoerende medewerkers en met de DevOps teams onderling binnen het domein. Het liefst hebben we veel en vaak interactie met onze interne en externe eindgebruikers om zo de juiste dingen te maken. We werken multidisciplinair in een dynamische omgeving. Achtergrond opdracht De Businesseenheid Examens is verantwoordelijk voor de logistiek van de staatsexamens Voortgezet (speciaal) onderwijs, Nederlands als 2e taal en schoolexamens. In het kader

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving Startende Software Ontwikkelaar gezocht met kennis van C# .NET! Ben jij net klaar met je opleiding en ben je op zoek naar je eerste echte werkervaring? Of heb jij al enige werkervaring maar ben toe aan iets nieuws? Dan is dit de perfecte kans voor jou! Wij zoeken namelijk een Junior Software Ontwikkelaar die klaar is voor een nieuwe uitdaging bij een leuke werkgeven in de regio Zeist. In deze functie werk jij vaak aan verschillende projecten en ga je bij klanten op bezoek. Ben jij op zoek naar een functie met uitdaging, diversiteit en verantwoordelijkheid? Dan is

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

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 15:09:16
 
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.