Beginnende OOP scripter

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior .NET developer

Functie Jij hebt natuurlijk net jouw Bachelor op zak en gaat nu voor het eerst aan de slag bij een werkgever als junior .NET ontwikkelaar. Waarschijnlijk lijkt het jou spannend om ineens aan de slag te gaan bij klanten in de consultancy. Maak je niet druk, jij komt hier terecht in een warm bad en wordt totaal niet in het diepe gegooid. Zodra jij hier begint wordt jij gekoppeld aan een persoonlijke manager met een persoonlijk ontwikkelplan. Jij krijgt een scala aan trainingen, denk aan trainingen ten behoeve van het opdoen van zelf kennis en gedragscompetenties, maar ook trainingen voor

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan

Bekijk vacature »

Medior Front end developer React

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor op de

Bekijk vacature »

SQL Developer

Functie omschrijving Altijd al willen werken bij een snelgroeiend bedrijf, actief in de logistieke sector? Dit is je kans! Ik ben op zoek naar een ervaren SQL Developer in de omgeving Tilburg. Dit bedrijf is gespecialiseerd in in de ontwikkeling van software en maatwerk oplossingen voor het automatiseren van logistieke processen. Klanten zijn o.a. BOL en andere grote distributiecentrums. Jouw taken worden vooral: Verantwoordelijk voor ontwikkelen van stored procedures, voor snelle afhandeling van data; Optimalisatie van de SQL query's en T-SQL query's; Jij gaat je bezig houden met ontwerpen, ontwikkelen en optimaliseren van de MS SQL Databases; In deze functie

Bekijk vacature »

Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12946 Introductie We are looking for a Java Developer! Our client is one of the most innovation companies located within the Netherlands. We provide high quality software in a high-tech and challenging market. Functieomschrijving The department is specialized in creating and developing high quality software for manufacturing automation in a high tech environment. We strive to provide our clients with high quality software and deliver state of the art solutions in a variety of ways. Creating software infrastructure using Java SE / EE Create applications to fine tune manufacturing processes

Bekijk vacature »

.Net ontwikkelaar - Het schoolsysteem verbeteren!

Bedrijfsomschrijving Onze klant is een prettige en kleinschalige organisatie waar hard gewerkt wordt om het onderwijs te verbeteren. Daarom werken ze aan complexe om administratieve, financiële en facilitaire processen te versnellen en te verbeteren. Dit doen ze vanuit een platte organisatie voor klanten die door geheel Nederland verspreid zitten, hier horen vanzelfsprekend een aantal aansprekende HBO scholen en universiteiten toe. Functieomschrijving Je komt terecht in een organisatie waar op dit moment 2 scrumteams werken. Jij zal als .Net developer binnen 1 van deze scrumteams functioneren, iedereen binnen dit team heeft zijn/haar eigen expertise waardoor er met verschillende invalshoeken aan een

Bekijk vacature »

PHP developer (Laravel, Docker, Gitlab-CI)

Functie Het IT-team bestaat momenteel uit 4 ontwikkelaars. Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. Een groot deel van de systemen is gebouwd met behulp van het Laravel framework en PHP (minimaal 7.2), Docker voor lokaab gebruik en Gitlab-CI voor het deployen

Bekijk vacature »

Medior/senior Fullstack developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

C# ontwikkelaar

Functie omschrijving Werk jij graag met C# en het .NET framework in een leuk familiebedrijf? Lees dan snel verder! Jouw takenpakket hierbij is: Je gaat maatwerk software ontwikkelen en softwareoplossingen creëren. 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. Daarnaast optimaliseer je de bestaande software. Bedrijfsprofiel Deze organisatie is gevestigd in de omgeving van Best en is een echt familiebedrijf. Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met

Bekijk vacature »

Software Developer

Functie omschrijving Veel begeleiding en de kans om je verder te ontwikkelen als software developer. Dat kunnen wij jou bieden bij deelname aan deze leuke traineeship. Je krijgt een mentor toegewezen die jou alle kneepjes van het vak leert. Heb jij al wat ervaring als software developer? Daar worden wij heel blij van! Lees snel verder! Bedrijfsprofiel Als software developer neem je deel aan een trainings programma in de omgeving van Haarlem waar je persoonlijk wordt begeleidt, zodat je alle kneepjes van het vak leert. Aan de hand van jouw kennis en ervaring krijg je een persoonlijk opleidingstraject. Je gaat

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

Als Lead PHP developer bijdragen aan het onderwijs

Functie Als Lead PHP developer zet je samen met het team en de andere lead developers de technische lijnen uit als het gaat om het ontwikkelen van de applicaties en bepaal je samen met de PO waar elke sprint aan gewerkt zal worden. Je kunt op basis van een user story een goede aanpak formuleren en een planning opstellen, en andere hierin meenemen. Wanneer je team code schrijft verwacht je degelijke oplossingen, bij voorkeur gebruik makend van Domain Driven Design. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit

Bekijk vacature »

Ervaren C#.NET programmeur

Functieomschrijving Voor een moderne werkgever in regio Prinsenbeek zijn wij op zoek naar een ervaren C#.NET programmeur die graag de uitdaging aangaat. Je houdt je bezig met het ontwikkelen van maatwerk webapplicaties voor diverse klanten, waarbij complexe processen optimaal worden ondersteund. Verder ziet jouw takenpakket er als volgt uit: Ontwikkelen en onderhouden van C#.NET-applicaties; Schrijven van hoogwaardige, herbruikbare codes; Schrijven van technische documentatie en gebruikershandleidingen; Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen; Troubleshooten en oplossen van bugs in softwaretoepassingen; Werken met databases en dataopslagoplossingen; Implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens. Bedrijfsprofiel

Bekijk vacature »

Laravel PHP developer in een jong team

Bedrijfsomschrijving Als je op zoek bent naar een werkplek waar plezier en uitdaging hand in hand gaan, dan is dit bedrijf de juiste keuze voor jou. Hier kun je werken aan uitdagende projecten en krijg je als developer veel verantwoordelijkheid. Het bedrijf waardeert kwaliteit boven kwantiteit en richt zich op het ontwikkelen van hoogwaardige applicaties en websites waar klanten enthousiast over zijn. Dit bedrijf is vooruitstrevend en streeft naar het leveren van de best mogelijke resultaten voor hun klanten. Als medior PHP ontwikkelaar met 3 jaar ervaring ben jij de persoon die we zoeken. Je krijgt hier de kans om

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

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

24/04/2024 12:44:36
 
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.