syntax error unexpected T_PUBLIC

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Lead Front End Developer

Functieomschrijving Voor Stichting Waternet zijn wij op zoek naar een senior Lead Front End Developer. Binnen het DevOps team Online zijn we op zoek naar een Senior Lead Front End developer met kennis van toegankelijkheid. Deze developer zal zich bezighouden met development van webpaginas die in verbinding staan met systemen uit het back office. Taken Ontwerpen, ontwikkelen, implementeren, documenteren en beheren van webapplicaties in een Azure-omgeving Debuggen, analyseren en oplossen van problemen in de OTAPomgevingen Je participeert in het DevOpsTeam Online voor het verder uitwerken en implementeren van gebruikerswensen Je bent betrokken bij toegankelijkheid audits en het implementeren van WCAG

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 »

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 »

Low Code Developer voor o.a. overheidsprojecten!

Bedrijfsomschrijving Wil jij ook behoren tot de specialist in Low Code? Dan zou ik zeker aanraden om verder te lezen. Deze organisatie is ooit opgericht door twee studenten en is inmiddels uitgegroeid tot een serieuze werkgever met een groot aanzien op Low Code projecten. De sfeer is echter niet veranderd, er heerst een informele sfeer met een open deuren beleid, en hierin mag de eigen bar natuurlijk niet ontbreken. Momenteel maakt deze organisatie een flinke groei door en hier kan jij natuurlijk niet bij ontbreken. Daarom ben ik op zoek naar Low Code Developers met een degelijke technische achtergrond. Kennis

Bekijk vacature »

Back-end Developer

Functieomschrijving Voor een erkende werkgever in de regio van Middelburg zijn wij op zoek naar een enthousiaste PHP / Symfony Developer. Een ambitieus persoon die het gemotiveerde development team komt versterken met het realiseren van nieuwe en complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor professionele groei? Dit ga je doen: Je bent verantwoordelijk voor de beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Account Developer

Voor Bol.com zijn wij per direct op zoek naar een Account Developer voor 32-40 uur per week op het kantoor in Utrecht. Wil jij een directe bijdrage leveren door partners van de juiste data-inzichten te voorzien en via campagnes op nieuwe platformkansen en features te wijzen? Ben jij analytisch sterk en kun jij dit vertalen naar plannen en inspirerende gesprekken? Lees dan snel verder! wat bieden wij jou Salaris van €2400 - €2600 obv 40 uur Minimaal 6 maanden Werklocatie is Utrecht Werken bij bol.com wie ben jij Jij bent commercieel gedreven en weet altijd aan de juiste knoppen te

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

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 »

.NET Developer

Functie omschrijving 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 Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Software Developer C# - Deventer

Software Developer C# – Deventer Bijdragen aan de toekomst van het onderwijs! Ben jij op zoek naar een dynamische omgeving waar vol enthousiasme wordt gewerkt aan software voor interactieve dashboard- en analysetoepassingen ter verbetering van het onderwijs? Dan zijn wij het bedrijf voor jou! TIG is een bedrijf met een informele en ondernemende werksfeer, waarbij goede ideeën snel leiden tot concrete acties. Wij zijn een software ontwikkelorganisatie en focussen ons op het ontwikkelen en implementeren van oplossingen voor het leveren van managementinformatie, datavisualisatie en analyses voor het onderwijs. Met onze dashboard- en analyseoplossingen zetten scholen gegevens om naar betekenisvolle informatie.

Bekijk vacature »

Java Developer

Functieomschrijving Are you an experienced Java Developer who wants to be challenged? Then this is your job! As a Java Developer, you are co-responsible for building custom applications within our extensive IT landscape. Development takes place on both the back-end side (Spring/JEE). Together with the IT department, you are responsible for the daily adjustments and expansions of our IT systems. In addition, you will work in small scrum teams using the Agile methodologies. Besides the realization of our in-house systems, you are responsible for the roll-out of the application (version) as well as the operational support after going live. Team

Bekijk vacature »

Medior/Senior Python developer

Functie Jij als Senior Python developer hebt al ruime ervaring opgedaan. Bedrijven komen bij de organisatie om technische vraagstukken op te lossen. Jij als specialist bent dus de representatie van deze kwaliteit. Je zult de keuze krijgen tussen lange of korte projecten waarin je komt te werken in multidisciplinaire teams. Projecten die je gaat uitvoeren zijn zeer uitlopend. Zodoende kun je aan de ene kant kiezen voor een greenfield project en stroom je bij een ander project midden in een migratietraject in. Voor de ene klant ontwikkel je ene nieuwe portal en voor het andere project duik je veel meer

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

Pagina: 1 2 3 volgende »

Reshad F

Reshad F

08/06/2012 21:58:12
Quote Anchor link
hallo ik heb een functie om connectie tot stand te brengen gemaakt. alleen krijg ik de fout:
syntax error unexpected T_PUBLIC on line .. dat is dit stukje maar ik zie niet wat er fout is, zou er even iemand mee willen kijken :)

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
<?php

    public function openConnection()
    {

        # code...
        try
        {

            if($this->config->connector == "mysql")
            {

                $this->connection = mysql_connect($this->config->hostname, $this->config->username, $this->config->password);
                $this->selectdb = mysql_select_db($this->config->database);
            }

            elseif($this->config->connector == "mysqli")
            {

                $this->connection = mysql_connect($this->config->hostname, $this->config->username, $this->config->password);
                $this->selectdb = mysql_select_db($this->config->database);    
            }
            
        }

        catch (Exception $e)
        {

            return $e;
        }
    }


?>
 
PHP hulp

PHP hulp

10/01/2025 21:52:44
 
Erwin H

Erwin H

08/06/2012 22:22:26
Quote Anchor link
Bij dit soort meldingen zit de echte fout er altijd voor. Php verwacht namelijk geen public keyword, maar nog iets anders. Je mist dus een haakje, puntkomma oid ervoor.
 
Reshad F

Reshad F

08/06/2012 22:26:13
Quote Anchor link
hmm raar want ervoor heb ik alleen staan...maar zie niets fout daarin?

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
<?php
class config
{
    public $hostname;
    public $username;
    public $password;
    public $database;
    public $prefix;
    public $connector;

    function
__construct($hostname = NULL, $username = NULL, $password = NULL, $database = NULL, $prefix = NULL, $connector = NULL)
    {

        $this->hostname = !empty($hostname) ? $hostname : "";
        $this->username = !empty($username) ? $username : "";
        $this->password = !empty($password) ? $password : "";
        $this->database = !empty($database) ? $database : "";
        $this->prefix = !empty($prefix) ? $prefix : "";
        $this->connector = !empty($connector) ? $connector : "mysql";  //mysql of mysqli waarde opgeven (database)
    }

    function
__destruct()
    {

        #destruction!
    }
}



class db
{
    private $connection;
    private $selectdb;
    private $lastQuery;
    private $config;

    function
__construct($config)
    {

        # code...
        $this->config = $config;
    }

    function
__destruct()
    {

        #destruction!
    }
}

?>
 
- Ariën  -
Beheerder

- Ariën -

08/06/2012 22:28:42
Quote Anchor link
Welke PHP-versie heb je?
 
Reshad F

Reshad F

08/06/2012 22:31:00
Quote Anchor link
versie 5.3.6 ( draai dit lokaal op MAMP )
 
Erwin H

Erwin H

08/06/2012 22:32:10
Quote Anchor link
In welke class zit die functie? Beide classes zijn namelijk afgesloten, dus als dit erna komt dan kan die public niet. Een functie buiten een class kan je niet public maken.
 
Reshad F

Reshad F

08/06/2012 22:42:54
Quote Anchor link
hoe bedoel je als dit erna komt?

ik heb er private van gemaakt en dit werkte ook niet. ik ben niet zo lang met OOP bezigg dit is pas mijn 3e class ofzo dus ik zie ook niet zo snel wat er fout is. even voor de zekerheid hier hoe de hele code in elkaar zit..

http://pastebin.com/FArdQEqh
 
Erwin H

Erwin H

08/06/2012 22:45:14
Quote Anchor link
Dat is dus precies wat ik bedoelde :-)
De class db wordt afgesloten op regel 23, daarna definieer je echter nog functies die in die class horen. Omdat die nu buiten een class vallen, verwacht php geen public keyword. Het haakje van regel 23 moet dus ergens anders, ik gok regel 257.
 
Reshad F

Reshad F

08/06/2012 22:50:59
Quote Anchor link
ah dankjewel erwin! die melding krijg ik niet meer in mijn php log maar heb nog altijd een internal 500 error.
in mijn log zie ik het volgende

[08-Jun-2012 22:48:26] PHP Parse error: syntax error, unexpected T_ELSEIF, expecting T_CATCH in /Applications/MAMP/htdocs/library/class.db.php on line 227

dat is de function van countRows waarin ik mysql_num_rows uitvoer. waarom is dit fout?

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
<?php
public function countRows($result)
    {

        try
        {
            if($this->config->connector == "mysql")
                return mysql_num_rows($result);
        }

        elseif ($this->config->connector == "mysqli")
        {

            # code...
            return mysqli_num_rows($result);
        }

        catch(Exception $e)
        {

            return $e;
        }
    }

?>
 
Erwin H

Erwin H

08/06/2012 22:52:36
Quote Anchor link
Kijk goed naar de haakjes. De elseif staat nu achter het haakje sluiten van de try, dat klopt niet. Die elseif moet achter de if komen. Je if heeft nu helemaal geen haakjes.
 
Reshad F

Reshad F

08/06/2012 22:59:04
Quote Anchor link
ah helemaal overheen gekeken.. maar nu werkt alles :) dankjewel!

als je even naar het geheel kijkt. is dit een beetje goed OOP of zijn er dingen die ik echt anders moet doen?
 
Erwin H

Erwin H

08/06/2012 23:06:09
Quote Anchor link
Zonder echt alles door te kijken zijn er twee dingen die me opvallen.
Het eerste was het returnen van het exception object (return $e). Op zich kan dat uiteraard, alleen is het niet gebruikelijk. Meestal handel je de fout daar helemaal af, of gooi je opnieuw een exception, die je dan ergens anders dan weer kan afhandelen.
Het tweede is dat je door je hele object heen de mysql en mysqli functies gebruikt. In elke functie weer heb je een if en else staan zodat je beide functies kan gebruiken. Wat als je nu ook pdo wil gaan gebruiken, ga je dan al die functies af om een volgende optie erbij te bouwen? Wat ik zou proberen is de mysql/mysqli/pdo functies er compleet uit te halen en dat in aparte classes te plaatsen. Een class voor mysql, een class voor mysqli, een class voor pdo, een class voor.... wat er dan ook nog later kan komen. De class die je nu hebt krijgt gewoon een object van een van die classes meegegeven (maakt niet uit welke) en gebruikt dat object om echt de functie uit te voeren. Deze class die je nu hebt kan dus naar de rest van je applicatie als 'het' database object gezien worden, maar eronder kan je verschillende methodes toepassen.
 
Reshad F

Reshad F

08/06/2012 23:12:48
Quote Anchor link
oke dan heb ik nu 2 vraagjes en ik hoop dat je me daar ook antwoord/uitleg op kan geven :)

- kan je me een voorbeeld geven van zown foutafhandeling?
- bedoel je met dat apart maken van die classes en een aparte db classe en dan welke db class ik gebruik hierop extenden?
 
Erwin H

Erwin H

08/06/2012 23:19:19
Quote Anchor link
Die eerste is lastig om zo even te doen. Dat ligt compleet aan hoe jij verder met onverwachte fouten om gaat. Wat ik elke keer mezelf afvraag is: 'Kan de class de fout zelf oplossen, of moet een hogere class het doen'.
Kan de class het zelf, dan moet je dat doen. Bijvoorbeeld als er foute input is gegeven, dan kan je dat vervangen door een default waarde. Doe dat en geef weer een normale return waarde terug.
Kan de class het niet zelf, als er bijvoorbeeld echt helemaal geen database connectie mogelijk is, dan zal er een fout pagina getoond moeten worden. Dat kan deze class niet, dus gooi je een nieuwe exception, zodat dat later weer kan worden opgevangen.

Op het tweede punt wil ik morgen wel een voorbeeld geven. Het is me nu even te laat :-)
 
Reshad F

Reshad F

08/06/2012 23:24:42
Quote Anchor link
ah ik snap de logica van het eerste! zal het proberen uit te werken.

en de tweede zie ik morgen graag tegenmoet :)
Gewijzigd op 08/06/2012 23:51:10 door Reshad F
 
Wouter J

Wouter J

08/06/2012 23:49:41
Quote Anchor link
Van het tweede punt, het Adapter pattern, heb ik nog wel een paar voorbeelden:
deze van Niels en deze van mijzelf.

Over het eerste:
- een goed artikel
- dit topic (vanaf de gelinkte reactie, daarvoor zeg ik allemaal onwetende domme dingen... ;)
 
Reshad F

Reshad F

08/06/2012 23:51:15
Quote Anchor link
edit: ik probeerde wat dingetjes uit om te kijken of alles werkt. nu loop ik ergens raars tegenaan. ik doe hetvolgende

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
$sql
= $db->query("SELECT
                                    id, username, password, age, gender
                            FROM
                                    {testTable}
                        "
);
    if($sql === false)
    {

        echo "<br>de tabel werd niet benaderd :(";
    }

    else
    {

        $hasRows = $db->hasRows($sql);

        echo "<br>Het Heeft: " . $hasRows . " rijen";
    }

?>

maar ik krijg: de tabel werd niet benaderd. Wanneer ik dan in de php_log kijk dan zie ik geen foutmelding en ook met de display_errors zie ik niets. volgens mij ligt het aan de function waarin ik de slashes toevoeg dat dit fout gaat. of waarin ik de table eruit haal met str_replace. kan iemand in het linkje naar deze 2 functies kijken voor me of hier iets fout in zit?

Toevoeging op 08/06/2012 23:52:33:

editedit: bedankt wouter! ik ga even naar de linkjes kijken :) -> ik heb er naar gekeken en vond jou manier iets duidelijker ik ga het even proberen zoals daar beschreven en post hier dan wel even een linkje van hoe het geworden is. dat andere is mij nu veel te laat voor geworden ga ik morgen zeker doornemen als ik er tijd voor vind naast het voetbal kijken en werken!
Gewijzigd op 08/06/2012 23:59:41 door Reshad F
 
Erwin H

Erwin H

09/06/2012 08:45:02
Quote Anchor link
Zou je in de SQL query niet {$testTable} moeten gebruiken in plaats van {testTable}? Ik neem aan dat je daar namelijk een variabele wil invoegen. Anders moet je die {} weglaten.

Voor de objecten wacht ik nu even af waar je zelf mee komt, daar kunnen we dan verder op door.
Gewijzigd op 09/06/2012 08:45:50 door Erwin H
 
Reshad F

Reshad F

09/06/2012 19:02:00
Quote Anchor link
hmm ik heb er weer naar gekeken, waarom variabele toevoegen erwin? ik gebruik toch gewoon de tabelnaam op dat zou goed moeten zijn toch? (de variabele doet het trouwens sowieso niet heb het even geprobeerd) en hier doe ik het ook en die connectie lukt hier wel gewoon.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$config
= new config("127.0.0.1", "****", "****", "testData", "{testTable}", "mysql");
?>
 
Erwin H

Erwin H

09/06/2012 20:03:54
Quote Anchor link
Ik zeg niet dat je een variabele moet gebruiken, in tegendeel, en in elk geval niet zo. Maar wat je nu hebt vind ik erg vreemd met die accolades erom heen. Ik ken dat in elk geval niet als SQL syntax, wel als PHP syntax om een variabele in te voegen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
"SELECT id, username, password, age, gender
FROM {testTable}"

?>

Dus wat wil je hier mee? Zoals je het nu hebt krijg je een foutmelding.
 
Reshad F

Reshad F

09/06/2012 20:10:00
Quote Anchor link
ja dat heb ik als een prefix gedaan. ( las ik in een tutorial.) weet niet of het slim is om te doen eigenlijk maar de brackets worden weer weggehaald met

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $query
= str_replace("}", "", $query);
    $query = str_replace("{", "", $this->config->prefix, $query);
?>
 

Pagina: 1 2 3 volgende »



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.