registry probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Database developer - SQL

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je sluit aan bij meetings en brengt het gehele logistieke proces in kaart. Vervolgens ga je als lead developer aan de slag om de klus te klaren. Je stuurt het junior developer team en helpt, zo nodig,

Bekijk vacature »

Ervaren PHP Software Developer

Functieomschrijving Voor een toffe opdrachtgever in regio Breda zijn wij op zoek naar een medior PHP Developer met affiniteit met Laravel. Je komt te werken bij een uitdagende opdrachtgever met supergave klanten in een specifieke branche. Als PHP ontwikkelaar ben je samen met een vooruitstrevende team van 6 collega’s verantwoordelijk voor de ontwikkeling, beheer en het vernieuwen van informatiesystemen voor een specifieke branche. Je ondersteunt complexe uitdagingen van klanten. Vervolgens breng je hun wensen in kaart en vertaalt deze door naar maatwerk software. Affiniteit met Laravel is een pré. Om de klanten zo goed mogelijk te ondersteunen en snel in

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

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 »

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 »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »

Java Developer (Training And Simulation)

Wat jij doet Je zou onze Java Developer zijn en nauw samenwerken met je Product Owner, Software System Engineer, Scrum Master en andere Developers. Samen draag je bij aan een multidisciplinair en zelf organiserend Agile team. De rol is zeer afwisselend en bestaat uit, maar is zeker niet beperkt tot: de-risk en prototype onbewezen simulatietechnologieën; simulatiekaders ontwikkelen voor gebruik door andere teams; je bent goed in het begrijpen van ingewikkelde ideeën; heeft de mogelijkheid om nauw samen te werken met grote internationale klanten, leveranciers en overheden om onze oplossingen, vastleggingsvereisten, enz. te definiëren en te presenteren. Ben jij het? Wij

Bekijk vacature »

Senior .NET Developer I goed salaris en deels thui

Bedrijfsomschrijving Mijn opdrachtgever is al ruim 20 jaar een gevestigde naam in de wereld van software ontwikkeling, met drie kantoren in de Randstad, waaronder Alphen aan den Rijn. Zij richten zich op het bouwen van IT-oplossingen die ervoor zorgen dat de productiviteit van klanten te allen tijden optimaal is. Hiervoor neemt jouw nieuwe werkgever het volledige ontwikkelproces tot haar rekening; van het eerste gesprek om de klantwensen in kaart te brengen, tot aan het uiteindelijke onderhoud van de opgeleverde oplossing. In totaal werken er inmiddels bijna 200 gemotiveerde IT-ers binnen deze organisatie. De gemiddelde leeftijd ligt rond de 35. Het

Bekijk vacature »

.NET developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Ervaren Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als ervaren developer zul je hiernaast ook andere developers assisteren en waar nodig de leiding nemen in het project.

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Ervaren PHP developer gezocht!

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

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 »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

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

04/12/2024 09:55:11
 
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.