Beginnende OOP scripter

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

PHP Laravel Ontwikkelaar

Functie omschrijving Weet jij alles over Laravel en krijg je energie van het developen van software hiermee? Laat het weten want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch voor klein bedrijf welke softwareoplossingen maakt voor hun klanten. Jouw taken hierbij: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Documentatie schrijven over applicaties. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein bedrijf. Er werken circa 15 medewerkers, verdeeld in meerdere teams, zoals back-end

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc 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

Bekijk vacature »

Senior Organisatieontwikkelaar

Als Organisatieontwikkelaar zorg je ervoor dat we in het magazijn van Coolblue altijd vooruit voetballen op het gebied Medewerker en Organisatie Ontwikkeling. Zo draag je bij aan een toekomstbestendig magazijn waar we klanten én medewerkers elke dag blijven verwonderen. Wat doe je als Senior Organisatieontwikkelaar bij Coolblue? Als Organisatieontwikkelaar werk je voor het magazijn van Coolblue. Je krijgt er energie van om continue te bouwen aan een toekomstbestendige organisatie. Dat doe je samen met 17 collega's in het HR-team, ieder met een eigen specialisme. Je werkt graag zelfstandig en je weet snel je weg te vinden als verandermanager. Ook ben

Bekijk vacature »

Fullstack developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

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 »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »

SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 13382 Introductie We is looking for a HANA Developer to work for our client. The candidate has to have an experience in building Data Intensive Applications (DIA’s). The role of a HANA Developer at ASML involves working on building Data Intensive Applications in an industrial/enterprise environment. The primary responsibility is to handle data from various sources and determine the best way to structure it for use by data analysts, who will run queries and algorithms against it for predictive and prescriptive analytics through machine learning. Wat verwachten we van jou?

Bekijk vacature »

Senior PHP developer

Functie Jouw werkzaamheden zullen grotendeels bestaan uit het in teamverband ontwerpen, vernieuwen en door ontwikkelen van het systeem. Het is echt back-end werk (bijvoorbeeld het doorontwikkelen van een API) en dit moet je dan ook liggen. Ze zijn niet persee gebonden aan talen of tools maar gebruiken graag de technieken die het beste aansluiten op de gegeven oplossing. Voor nieuwe (versies van) componenten maken ze veelal gebruik van Go(lang). Bij aanpassingen aan bestaande onderdelen gebeurt dit in PHP en C++. Het team is heel divers, er hangt een relaxte sfeer en ze organiseren regelmatig leuke music nights, game nights e.d.

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Rotterdam! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

Bekijk vacature »

PHP Developer

Functie Middels Scrum en sprints bouw jij in deze functie mee aan complexe webapplicaties en ons SaaS platform. Hierbij hoort ook architectuur tot een van je taken. Daarnaast ben je één van de leden van het Scrum team. Dat betekent dat je naast je kerntaken ook in contact staat met de product owner. Oftewel, je bent bij het gehele ontwikkelproces betrokken. Tools die hierbij gebruikt worden zijn o.a. PHP, Symfony en Git. Eisen • Minimaal HBO werk- en denkniveau • Minimaal 3 jaar aantoonbare ervaring met PHP • Kennis en ervaring Symfony (Laravel is pré) & Lando • Kennis van

Bekijk vacature »

Junior PHP Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 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 hier

Bekijk vacature »
Glenn roelofs

Glenn roelofs

13/07/2010 17:27:11
Quote Anchor link
Goeie avond mensen,

Ik ben pas bezig met oop scripten.
en ik zou graag reacties willen hebben van wat ik goed doe en wat ik fout doe in mijn scripts
Het zijn werkende scriptjes.
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
<?PHP
class Profiel {
    function
getnaam($id) {
        //Input Controleren.
        if(!is_array($id) || count($id) {
            return false;
        }

        
        //Data ophalen
        $query = "select 'naam' from 'gebruikers' where 'id' = '$id'";
        $result = mysql_query($query);
        
        //Controleren als qeury werkt
        if(!$result) die("Qeury Werkt niet. " . mysql_error());
        
        //Info ophalen uit db als gevonden is
        $naam = mysql_result($result, 0);
        
        //Naam weergeven
        echo 'Gebruikersnaam:' . $naam . '<br />';
    }
}

?>

en
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
<?PHP
class Combat{
        function
att($att) {
            $aanval = round($att/5);
            echo 'U deed '.$aanval.' Damage.<br />';
        }
        function
wapenatt($wapenatt) {
            $wapenaanval = round($wapenatt/13);
            echo 'U deed '.$wapenaanval.' Damage Met u wapen.<br />';
        }
        function
skil1($skil1) {
            $skilaanval1 = round($skil1*1.5);
            echo 'U deed '.$skilaanval1.' Damage Met u Skil1.<br />';
        }
        function
skil2($skil2) {
            $skilaanval2 = round($skil2*2.3);
            echo 'U deed '.$skilaanval2.' Damage Met u Skil2.<br />';
        }
        function
total($att, $wapenatt, $skil1, $skil2) {
            $aanval = round($att/5);
            $wapenaanval = round($wapenatt/13);
            $skilaanval1 = round($skil1*1.5);
            $skilaanval2 = round($skil2*2.3);
            $total = ($aanval+$wapenaanval+$skilaanval1+$skilaanval2);
            echo 'U deed '.$total.' Damage in totaal.<br />';
        }
}

?>
 
PHP hulp

PHP hulp

22/12/2024 12:50:48
 
Wesley Overdijk

wesley Overdijk

13/07/2010 17:59:48
Quote Anchor link
elke functie, prepend je met private, public, of protected. Ik zie meerdere dingen die je kan oplossen met het object, dus $this. Verder is het niet zo net om een echo in een class te doen, als je de html en php gescheiden houd.
 
Glenn roelofs

Glenn roelofs

13/07/2010 18:04:03
Quote Anchor link
bedankt voor de informatie wesley.
maar wat is dan de beste manier om de informatie te weergeven?
 
Chris -

Chris -

13/07/2010 18:38:30
Quote Anchor link
De functie return je, en echo je wanneer je hem oproept ;-)

Dus je geeft bij wijze van alleen een cijfer terug (attack -> damage), en het verhaal eromheen doe je dus niet in je class terug laten komen.
 
Glenn roelofs

Glenn roelofs

13/07/2010 18:43:16
Quote Anchor link
als ik het goed begrijp dus zo:
return 1243;

en in de oproep gedeelte dit:
$combat = new Combat();
U deed
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $combat->att($att); ?>
Damage
 
Chris -

Chris -

13/07/2010 19:22:28
Quote Anchor link
Ja, alleen dan geen shorttags gebruiken maar gewoon normale tags!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $combat -> att($att)?>


En volledige namen gebruiken is ook handig ;-) $combat -> attack(); bijvoorbeeld
 
Niels K

Niels K

13/07/2010 19:30:36
Quote Anchor link
Is dit niet wat? Wel een beetje aanpassen naar jouw wens, en de database klassen maken, goede oefening misschien?

Verder moet je de naamgeving aanpassen en wat overzichtelijker programmeren. PHPDoc misschien een goed idee?

Verder kan je dit natuurlijk helemaal aanpassen, met foutenafhandeling ( exceptions ) en dergelijke. Succes!
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
<?php
/**
 * Profile class
 */

class Profile
{
    /**
     * @var String
     */

    private $name;
    
    /**
     * Constructor.
     *
     * @param String $unique_id
     */

    public function __construct( $unique_id )
    {

        // Control input
        if( isValid( $unique_id ) )
        {

            // Make new database
            $database = new MySQL( );
            // Connect
            $database->connect( 'localhost', 'username', 'password', 'database' );
            // Make query
            $query =
            "
                SELECT
                    name
                FROM
                    users
                WHERE
                    id = '"
.$database->addslashes( $unique_id ). "'
            "
;
            // Run the query
            $database->query( $query );
            
        }
    }

    
    /**
     * Controls the input.
     *
     * @param String $unique_id
     * @return Bool
     */

    protected function isValid( $unique_id )
    {

        return ( ctype_digit( $unique_id ) );
    }
    
    
}

?>
Gewijzigd op 13/07/2010 19:39:17 door Niels K
 
Glenn roelofs

Glenn roelofs

13/07/2010 19:56:44
Quote Anchor link
Welke voor en nadelen zijn voor het gebruiken van short tags?
want hoor het vaker gebruik geen short tags
 
- Mark -

- Mark -

13/07/2010 19:59:13
Quote Anchor link
Short tags kunnen zijn uitgezet door je webhost. Dan zie je al je php code gewoon in beeld.
 
Glenn roelofs

Glenn roelofs

13/07/2010 20:07:01
Quote Anchor link
o oke dankje wel dat wist ik niet:)
maar tot nu toe werkt alles wel gewoon dus en ik maak geen projecten voor andere mensen aleen voor eigen doeleine
 
Niels K

Niels K

13/07/2010 20:08:36
Quote Anchor link
Het maakt niet uit voor wie het is.. Als je het nu doet doe je het de volgende keer op een server waar hij uit staat ook:) Je moet proberen jezelf niks verkeerd aan te leren. Want aanleren is makkelijker dan afleren..
 
Glenn roelofs

Glenn roelofs

13/07/2010 20:10:05
Quote Anchor link
dat is wel zo niels:)
ik zal er gaan opletten bij me scripts die nu maak of ga verbeteren
Nog meer tip's & trucs voor OOP?
ik hoor het graag of een Nederlandse tut om oop beter onder de knie te krijgen is erg gewenst
 
Niels K

Niels K

13/07/2010 20:11:00
Quote Anchor link
@Glenn..

Lees mijn vorige reactie eens..

"ik hoor het graag of een Nederlandse tut om oop beter onder de knie te krijgen is erg gewenst"

Laat pas geleden een lid van phphulp deze eens gemaakt hebben

http://phptuts.nl/view/45/

Verder een aantal tips:

- Veel blijven oefenen
- Gewoon hier op het forum vragen of je denkwijze, script goed is. Daarvoor dient dit forum.
- Veel blijven lezen
- Download een aantal frameworks om te kijken hoe hun het gedaan hebben. Een mooi framework in PHP5 om mee te beginnen is Zend Framework. Oftewel kijk af van andere mensen
Gewijzigd op 13/07/2010 20:16:19 door Niels K
 
Glenn roelofs

Glenn roelofs

13/07/2010 20:27:01
Quote Anchor link
@niels

ik zie nergens u reactie staan
maar bedankt voor de link ik ga hem ff goed lezen en uitwerken na mijn wens
 
Niels K

Niels K

13/07/2010 20:44:38
Quote Anchor link
Niels Kieviet op 13/07/2010 19:30:36:
Is dit niet wat? Wel een beetje aanpassen naar jouw wens, en de database klassen maken, goede oefening misschien?

Verder moet je de naamgeving aanpassen en wat overzichtelijker programmeren. PHPDoc misschien een goed idee?

Verder kan je dit natuurlijk helemaal aanpassen, met foutenafhandeling ( exceptions ) en dergelijke. Succes!
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
<?php
/**
 * Profile class
 */

class Profile
{
    /**
     * @var String
     */

    private $name;
    
    /**
     * Constructor.
     *
     * @param String $unique_id
     */

    public function __construct( $unique_id )
    {

        // Control input
        if( isValid( $unique_id ) )
        {

            // Make new database
            $database = new MySQL( );
            // Connect
            $database->connect( 'localhost', 'username', 'password', 'database' );
            // Make query
            $query =
            "
                SELECT
                    name
                FROM
                    users
                WHERE
                    id = '"
.$database->addslashes( $unique_id ). "'
            "
;
            // Run the query
            $database->query( $query );
            
        }
    }

    
    /**
     * Controls the input.
     *
     * @param String $unique_id
     * @return Bool
     */

    protected function isValid( $unique_id )
    {

        return ( ctype_digit( $unique_id ) );
    }
    
    
}

?>


Nu wel?
 
Martijn B

Martijn B

13/07/2010 21:14:59
Quote Anchor link
De functie ctype_digit() wil graag een variabele van het type string anders zou het fout kunnen gaan dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
return ( ctype_digit( (string)$unique_id  ) );
?>

----

Is de methode isValid() alle nodig binnen je klasse? Zo ja maak deze dan private en niet protected. Alle methodes die private zijn beginnen bij mij met een _ dus dan zou het _isValid worden, vind ik duidelijker.

----

Een getal in je query hoef je niet te escapen.
Alleen de casten naar bijvoorbeeld in integer.

Dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$query
=
            "
                SELECT
                    name
                FROM
                    users
                WHERE
                    id = '"
. (int)$unique_id . "'
            "
;

?>


Dit als extra beveiliging, als je vergeet $unique_id op inhoud te controleren.
 
Martijn B

Martijn B

13/07/2010 21:16:47
Quote Anchor link
arghhh, dubbel...
Gewijzigd op 13/07/2010 21:17:16 door Martijn B
 
Jurgen Meijer

Jurgen Meijer

14/07/2010 11:08:26
Quote Anchor link
Ik zie meerdere dingen die verder uitgewerkt kunnen worden. Bij OOP gaat het vooral om uitsplitsen van je code. Zo heb je bijv een object Player, Character (die je weer kan extenden naar verschillende typen, warrior, mage of wat voor setting je ook zit).

voorbeeld:

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
<?php
class Character{
    
    public $characterid = 0;
    
    public $hp = 0;

    public $strength = 0;
    
    public $skill = 0;
    
    public $status = 0;
    
    private $database;
    
    public function __construct($id = NULL){
        
        if(!is_null($id)){
            $this->db = database::getInstance('mysql');
            
            /// haal speler op en assign vars
        }
    }

    
    public function save(){
        // object opslaan    
    }
}


class Mage extends Character{
    //doe hier stuff voor mage
}

class Combat{
    
    public function doDamage($characterid, $damage){
        
    }

    
    // nog meer combat functies
}

?>
 
Niels K

Niels K

14/07/2010 11:44:17
Quote Anchor link
Klopt, jullie hebben gelijk. Ik had er niet zo goed over nagedacht, en later komen steeds ideeën in mijn hoofd. Maar voor de TS moet het ook een uitdaging zijn vind ik.
 
Glenn roelofs

Glenn roelofs

14/07/2010 11:59:27
Quote Anchor link
Bedankt jurgen,

zoals jij een voorbeed geeft is voor mij het idee om een game te bouwen met damage en verschillende classes .
ik doe dit samen met een vriend van mij
en we wouden het eerst in normaal php schrijven(is wel makkelijker voor mij)
maar we dachten van nee we gaan het netter maken qua scripting en we gaan OOP gebruiken.
en die vriend van mij maakt ook AS3 scripts ervoor zoals een worldmap enz
 
Jurgen Meijer

Jurgen Meijer

14/07/2010 12:36:13
Quote Anchor link
Je kunt AS3 ook gewoon met PHP laten praten door een HTTP request te doen naar een pagina waar je waardes van ophaalt.
 



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.