Variabele classname werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Backend Developer Scrummaster .NET

Samengevat: Deze werkgever is een ambitieus internetbedrijf met een passie voor digitale communicatie. Ben jij geschikt als Backend Developer? Heb je ervaring met .NET platform? Vaste baan: Backend Developer / SCRUM Master Scrum HBO WO €3.800 - €6.000 Deze werkgever is een innovatief bedrijf met enthousiaste mensen die jarenlang ervaring hebben met het ontwikkelen internet- en intranetoplossingen. Wij houden van korte lijnen en open en eerlijke communicatie. Wij zetten graag onze jarenlange ervaring in om perfect werkende oplossingen te ontwikkelen. Wij ondersteunen dienstverlenende organisaties bij het ontwikkelen en realiseren van een effectief, adaptief communicatieplatform. Je ontwikkelt met ons de meest

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 »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Arnhem gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Als C# .NET Developer binnen dit bedrijf houd je je niet alleen bezig met het verbeteren van

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

Als Front-end developer werken aan apps voor het o

Functie Als Front-end developer werk je intensief samen met 1 van de UX-designers en denk je mee over de gebruiksvriendelijkheid en design van onze web- en mobile apps. Je bent betrokken bij sessies met gebruikers om designs te valideren en usability van de app-in-wording te testen. Vervolgens gebruik je dit om samen met je team waarin ook back-end (.NET) developers zitten, te zorgen voor de realisatie van de best mogelijke apps voor studenten en docenten. Eisen • Je hebt een hands-on development en coding mind-set en werkt graag aan een high quality code base welke je consequent onderhouden kan worden

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Software Ontwikkelaar

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Gezocht: Ervaren VB6 developer met C# ambitie!

Bedrijfsomschrijving Dit bedrijf is een vooraanstaande softwareleverancier die gespecialiseerd is in het ontwikkelen van software pakketten voor autoschade herstel bedrijven. De software wordt gebruikt door meer dan de helft van alle autoschade herstel bedrijven in Nederland. Het team van professionals is op zoek naar getalenteerde collega developers die hun vaardigheden willen inzetten om het bedrijf te laten groeien. Functieomschrijving Voor dit bedrijf zoek ik een ervaren VB6 / VB.NET developer met interesse om op termijn verder te gaan in C#. In deze functie ben je verantwoordelijk voor het onderhouden van de bestaande softwarepakketten. Een deel van de code is nog

Bekijk vacature »

Back-end Developer Java

Dit ga je doen Het (door)ontwikkelen van een zelfgebouwde applicatie in Java, Spring Framework, SQL, HTML, CSS en Javascript; End-to-end beheer m.b.t. de applicatie en koppelen van applicaties binnen het landschap; Ontwikkelen van rapportages voor de interne organisatie; Ontwikkelen van aanvullende functionaliteiten m.b.t. de applicatie; Uitvoeren van testen en code reviews. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die medische gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen en verbeteren van de kwaliteit van de zorg in heel Nederland.

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 »

Senior Front-end developer

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Senior Developer ERP Dynamics 365

Samengevat: Deze werkgever is een softwarebedrijf. Ben jij een enthousiaste developer? Heb je ervaring met ERP of Dynamic 365 bussines central? Vaste baan: ERP Applicatie Specialist ERP MBO €3.600 - €5.200 Wij houden ons als bedrijf bezig met het leveren en implementeren van het Microsoft Dynamics pakket binnen verschillende industriële sectoren. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Binnen ons open team is er een no-nonsense cultuur. Daarnaast is er veel onderling contact door de korte communicatielijnen. Het team werkt enthousiast samen om een

Bekijk vacature »

Teamlead PHP Developer

Functieomschrijving Voor een gewaardeerde werkgever in de buurt van Middelburg zijn wij op zoek naar een gemotiveerde teamlead PHP developer met affiniteit met Symfony/Laravel. Een enthousiast persoon die het ontwikkelteam komt versterken met het aanpakken van uitdagende projecten. Ben jij op zoek naar een uitdaging waar je de tijd en ruimte krijgt jezelf te ontwikkelen en je eigen IT-team aan te sturen? Lees dan snel verder! Die ga je doen: Bijdragen aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de PHP based applicaties; Ontwikkeling en beheer van de serviceportal in Symfony en de webshops in de tweede versie van

Bekijk vacature »
Joakim Broden

Joakim Broden

20/08/2012 15:48:39
Quote Anchor link
Dit werkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    namespace Library\Framework\Config;

    $this->adapter = new Adapter\Ini($options);
?>

En dit werkt niet (hier neemt hij de namespace niet over, dus ipv Library\Framework\Config\Adapter\Ini word het Adapter\Ini:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    namespace Library\Framework\Config;

    $adapter = 'Adapter\Ini';
    $this->adapter = new $adapter($options);
?>


Waarom werkt de tweede manier niet? Want ik wil met adapters werken zodat ik mijn config kan inlezen via bv csv, xml, ini zonder dat ik het complete script hoef te veranderen..
Gewijzigd op 20/08/2012 15:49:23 door Joakim Broden
 
PHP hulp

PHP hulp

28/11/2024 17:55:50
 
John Berg

John Berg

20/08/2012 15:56:14
Quote Anchor link
Probeer dit eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    namespace Library\Framework\Config;

    $adapter = 'Adapter\\Ini';
    $this->adapter = new $adapter($options);
?>
Gewijzigd op 20/08/2012 15:56:39 door John Berg
 
Joakim Broden

Joakim Broden

20/08/2012 17:02:16
Quote Anchor link
Nee dat werkt ook niet
 
John Berg

John Berg

20/08/2012 17:12:59
Quote Anchor link
Vreemd. Als je de '\' escaped is het eerste voorbeeld gelijk aan het tweede.

Het enige wat ik nog kan bedenken is dat de namespace Adapter relatief in de namespace Library\Framework\Config niet bestaat, maar dan zou het eerste voorbeeld ook niet werken.

Ik doe in mijn code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$modelclass = '\\Ganymedes\\MVC\Models\\' . $this->router->controller;

if( class_exists( $modelclass ))
   $model = new $modelclass();


Werkt als een zonnetje. Het enige verschil met jouw code is dat ik een absolute namespace opgeef.
 
Joakim Broden

Joakim Broden

20/08/2012 17:23:56
Quote Anchor link
Ja maar het gekke is als 'Adapter\Ini' doe doet hij het wel, maar als ik 'Adapter\Ini' eerst opsla in een variable dan doet hij het weer niet...
 
Joakim Broden

Joakim Broden

21/08/2012 17:53:01
Quote Anchor link
Bump??

Dit werkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    namespace Library\Framework\Config;

    $this->adapter = new Adapter\Ini($options);
?>

Dit werkt ook:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    namespace Library\Framework\Config;

    $adapter = __NAMESPACE__.'Adapter\Ini';
    $this->adapter = new $adapter($options);
?>

Dit werkt niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    namespace Library\Framework\Config;

    $adapter = 'Adapter\Ini';
    $this->adapter = new $adapter($options);
?>

Waarom neemt hij bij de laatste de namespace 'Library\Framework\Config' niet over?
Gewijzigd op 21/08/2012 17:55:06 door Joakim Broden
 
John Berg

John Berg

21/08/2012 18:20:39
Quote Anchor link
Wat is de foutmelding?

Op 20-8 om 17:12 schreef ik al dat namespaces ook relatief t.o.v. elkaar of absoluut kunnen worden aangegeven. Ik gebruik uitsluitend absolute namespaces dus met een ' \' aan het begin, om net als bij includes niet te hoeven bijhouden waar ik sta.

Overigens moet je een '\' in een string escapen, dus als je een string met waarde '\' wil hebben dan doe je '\\'
 
Joakim Broden

Joakim Broden

21/08/2012 19:49:07
Quote Anchor link
Foutmelding is dat mijn autoloader de class niet kan vinden aangezien hij de namespace niet overneemt. Het klopt dat je absolute paden kan geven en dat doe ik momenteel nu ook alleen ik wil weten WAAROM php de namespace niet overneemt bij een variabele class naam.
 
John Berg

John Berg

21/08/2012 20:15:33
Quote Anchor link
Laat eens zien hoe je de adapter class files include, en hoe de definitie van die namespace eruit ziet.

n.b. zoals ik al eerder zei: namespaces hebben niets van doen met het onderliggende file systeem!!

En dit komt regelrecht uit mijn code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$modelclass = '\\Ganymedes\\MVC\Models\\' . $this->router->controller;

if( class_exists( $modelclass ))
   $model = new $modelclass();
 
Joakim Broden

Joakim Broden

22/08/2012 10:07:41
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
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
<?php
    namespace Library\Framework\Config;
    
    class ConfigFactory {
        /**
         * Avaible config file extentions.
         *
         * @acces protected.
         * @var array.
         */

        protected static $extensions = array(
            'ini'     => 'Ini',
            'csv'     => 'Csv',
            'xml'     => 'Xml',
            'json'     => 'Json'
        );
        
        /**
         * Load a config file.
         *
         * @acces public.
         * @param string $filename. The config file.
         * @param boolean $return. Return as config object.
         * @return array|object. If $return is true return config object, return array if false.
         */

        public static function loadConfigFromFile($filename, $return = false) {
            $pathinfo = pathinfo($filename);
            
            if (!isset($pathinfo['extension'])) {
                throw new Exception\RuntimeException(sprintf('Failed to initialize %s, filename "%s" is missing an extension and cannot be auto-detected.', __CLASS__, $filename));
            }

            
            $extension = strtolower($pathinfo['extension']);
            
            if ($extension === 'php') {
                if (!is_file($filename) || !is_readable($filename)) {
                    throw new Exception\RuntimeException(sprintf('Failed to initialize %s, file "%s" does not exist or is not readable.', __CLASS__, $filename));
                }

                
                $config = include $filename;
            }
elseif (isset(self::$extensions[$extension])) {
                $reader = 'Reader\\'.self::$extensions[$extension];
                $reader = new $reader(); // Werkt niet...

                //$reader = __NAMESPACE__.'\\Reader\\'.self::$extensions[$extension];
                //$reader = new $reader(); //Werkt wel

                //$reader = new Reader\Ini(); \\ Werkt wel


                
                
                $config = array();
            }
else {
                throw new Exception\RuntimeException(sprintf('Failed to initialize %s, unsupported config file extension: .%s.', __CLASS__, $pathinfo['extension']));
            }

            
            return ($return) ? new Config($config) : $config;
        }
    }

?>

en roep het zo aan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    $config
= ConfigFactory::loadConfigFromFile(ROOT.'\config.ini');
?>

Foutmelding is dat hij de 'Adapter\Ini.php' met de ini class niet kan vinden. In mijn autoloader kan ik zien dat hij de namespace niet overneemt terwijl dat normaal wel is. Normaal krijgt mijn autoloader de classes zo binnen 'Library\Framework\Config\Adapter\Ini' alleen nu krijg ik hem als 'Adapter\Ini' binnen met gevolg dat de class niet bestaat.
Gewijzigd op 22/08/2012 10:40:24 door Joakim Broden
 
John Berg

John Berg

22/08/2012 10:29:37
Quote Anchor link
zou je voor regel 43 eens dit willen invoegen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    echo '<pre> . '$reader . </pre>;
?>


Wat zie je dan?

Ik begrijp dus dat de namespace van je reader Library\Framework\Config\Adapter is, m.a.w. een sub van de namespace van je loader. In dat geval zou ik ervoor gaan om de absolute namespace naam te gebruiken, m.a.v. de code zoals die in regel 45 staat.
 
Joakim Broden

Joakim Broden

22/08/2012 10:40:04
Quote Anchor link
Als ik dat doe krijg ik 'Reader\Ini' terug. En zoals je zegt gebruik ik nu absolute namespace. Dit vind ik niet mooi maar is nu wel even een oplossing zodat ik verder kan.

Maar kan iemand mij misschien de logica/nut uitleggen van waarom hij de namespace niet overneemt?
 
John Berg

John Berg

22/08/2012 11:10:46
Quote Anchor link
Hertog Jan op 22/08/2012 10:40:04:

Maar kan iemand mij misschien de logica/nut uitleggen van waarom hij de namespace niet overneemt?


De korte versie komt er op neer dat als je een namespace gebruikt, je die altjd in een bepaalde context moet zien.

Als ik namespace Lib\Test declareer en vervolgens code runt dan gebeurt dat in de context van de huidge namespace.
Zou ik de constante PDO::FETCH_ASSOC willen gebruiken dan zal dat een foutmelding geven omdat Lib\Test\PDO::FETCH_ASSOC niet bestaat. De class constant bestaat namelijk binnen de root namespace en moet dus aangeroepen worden als \PDO::FETCH_ASSOC

Helemaal erg wordt het als ik dit ga doen:

namespace Lib\Test

..
include 'proefje.php' (binnen proefje staat namespace Proef;)

mijn context is nu Lib\Test\Proef

maar als ik dit doe:

namespace Lib\Test

..
include 'proefje.php' (binnen proefje staat namespace \Proef;)

dan is mijn context \Proef

Op deze manier werken is foutgevoelig, als je proef.php veranderd, veranderd ook de context binnen het bestand waarin proef.php geinclude wordr.

Om dat te voorkomen werk ik altijd met absolute namespaces. (net als ik altijd met absolute file paden werk)
 



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.