Beginnende OOP scripter

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Developer C#

UPS is looking for a Senior Developer C# *REMOTE WORK POSSIBLE FOR THIS ROLE* As a Senior Developer at UPS you work on delivering functionality for highly complex IT systems. You collaborate in agile teams and participate in emerging technologies and processes like CI/CD and DevOps to ensure that we meet our objectives effectively and efficiently. Your primary role is to perform full system life cycle activities, e.g. analysis, technical requirements, design, coding, testing and the implementation of software. Working in our Europe development center in Eindhoven means working in an international team with onsite people as well as team

Bekijk vacature »

Application Developer Tech Lead

REMOTE WORK POSSIBLE FOR THIS ROLE As a Tech Lead Developer at UPS you work on delivering functionality for highly complex IT systems. You collaborate in agile teams and participate in emerging technologies and processes like CI/CD and DevOps to ensure that we meet our objectives effectively and efficiently. Your primary role is to perform full system life cycle activities, e.g. analysis, technical requirements, design, coding, testing and the implementation of software. Working in our Europe development center in Eindhoven means working in an international team with onsite people as well as team members located in other parts of the

Bekijk vacature »

Medior Senior C# .NET Software Ontwikkelaar Meldka

Over het bedrijf: Wij ontwikkelen concepten op het gebied van veiligheid, gezondheidszorg en communicatie. Is het je passie om software-oplossingen te programmeren? Heb je professionele ervaring met C# en .Net? Vaste baan: Medior Senior C# .NET Software Ontwikkelaar Meldkamersoftware .Net 2.800 - 4.500 Software Engineer We werken aan software voor verhogen van de veiligheid via multimedia in bijvoorbeeld de gezondheidszorg. Streaming van live video en audio staan hierbij centraal. We kunnen alarmeringen monitoren en services op afstand verlenen. We zorgen voor een totaalconcept. Wij werken in teams aan uitdagende projecten en bieden daarbij een informele maar innoverende omgeving, waarbij we

Bekijk vacature »

GEO-ICT/Smallworld GIS Ontwikkelaar

Bij onze klanten vormen Geographical Information System (GIS) systemen de basis van Asset Data Management. Zie jij het als een uitdaging om als onderdeel van een DEVOPS team de systemen van onze klanten te helpen vormgeven en continu te verbeteren? Wat ga je doen? Ons team heeft als doel nog relevanter te worden voor onze klantengroep van netbeheerders. Wij hebben een grote GEO-ICT Practice en daarmee zijn we in staat een fundamenteel deel van de basisregistratie van assets voor onze klanten vorm te geven. Dat doen we door het bedenken van concepten, onze klanten te adviseren op GEO-ICT gebied en

Bekijk vacature »

Full Stack Java Developer - Infrastructure

Ben jij een ontwikkelaar die wil bijdragen aan de energietransitie? Lees dan verder! Wat ga je doen? Als Full Stack Java Ontwikkelaar draag je verantwoordelijkheid voor het gehele proces van het omzetten van wensen, problemen of vragen naar concrete oplossingen. Integratie, testen, vastleggen van kennis en beslissingen, problem management en automation zijn onderdeel van je takenpakket in SAFE of DevOps gestuurde omgevingen. Als ontwikkelaar krijg je alle mogelijkheden om je technisch verder te ontwikkelen en samen te werken met gedreven collega's. Wat breng je mee? Je hebt gedurende 1 tot 2 jaar een basis opgebouwd in applicatie ontwikkeling met .Net

Bekijk vacature »

.Net Developer bij maatschappelijk betrokken diens

Voor een financiële particuliere dienstverlener ben ik op zoek naar een ervaren .Net Software Developer. Inmiddels bestaan ze meer dan 130 jaar en werken er 200 medewerkers. Goed werkgeverschap en betrokkenheid staat hoog in het vaandel; je inbreng wordt sterk gewaardeerd en beloond. De winsten vloeien voornamelijk terug naar de medewerkers, klanten en de groei van het bedrijf. Om up to date te blijven met de nieuwste technologieën, zijn ze momenteel de bestaande legacy .Net applicaties naar .Net Core aan het migreren. Ze zijn op zoek naar een collega die met hen ondersteund met zowel het migreren van de bestaande

Bekijk vacature »

Application Developer Tech Lead

REMOTE WORK POSSIBLE FOR THIS ROLE As a Tech Lead Developer at UPS you work on delivering functionality for highly complex IT systems. You collaborate in agile teams and participate in emerging technologies and processes like CI/CD and DevOps to ensure that we meet our objectives effectively and efficiently. Your primary role is to perform full system life cycle activities, e.g. analysis, technical requirements, design, coding, testing and the implementation of software. Working in our Europe development center in Eindhoven means working in an international team with onsite people as well as team members located in other parts of the

Bekijk vacature »

DWH / ETL Developer

You will be part of the Calculations team, your focus will primarily be the Ops side of DevOps combined wwith testing capabilities to make sure we run quality software with the highest care, availability and performance. Cooperation and communication in the team and within our IT chain are essential for our success. You are pro-active, stand your ground, and possess excellent communication skills. You are will need good communication skills and have a pro-active attitude. Learning, making progress and continuous improvement for yourself, the team and our IT chainare your second nature. With the following results: We expect 8-10+ years’

Bekijk vacature »

PHP uitdaging met 30 vakantiedagen!

Bedrijfsomschrijving Onze klant zorgt dat leveranciers vanuit de hele wereld met hun producten de Europese markt op kunnen. Er werken wereldwijd tientallen mensen voor dit bedrijf en ze vertegenwoordigen hele grote partijen. Er komt heel veel data kijken bij dit bedrijf. Dagelijks leunen duizenden gebruikers wereldwijd op de applicaties van dit bedrijf. Dit is een grote verantwoordelijkheid en met een relatief klein team van developers zorgen ze vanuit Nederland dat hun eindklanten volledige zekerheid hebben over alle regels waaraan ze moeten voldoen. Vanwege de groei is er ruimte ontstaan voor een goede Medior / Senior PHP ontwikkelaar die toe is

Bekijk vacature »

iOS Developers @ Amsterdam

2021-06-23 iSense iOS Developers Are you an IOS developer who likes to make an impact? Are you a fan of clean code and clean architecture? Do you like working in a collaborative environment where you can share your knowledge and keep up to date with the latest technologies? If the answers are yes, keep on reading because this is the job you're looking for! ISDI50256 Nieuw Organization You will work with a major bank in the Netherlands that is always innovating and creating exciting mobile applications. In this position, you will join a very diverse environment with top-skilled IOS and

Bekijk vacature »

Medior Backend Webdeveloper HBO / HTML CSS

Over de werkgever: Wij zijn een Fullservice Internetbureau. Bouw jij nieuwe platforms en websites? Heb jij ervaring met Magento en WordPress? Vaste baan: Medior Backend Webdeveloper HBO PHP 3.200 - 4.200 Medior Backend Webdeveloper Wij zijn een Fullservice Internetbureau. Wij maken Websites, Apps en Portals, en zijn actief op gebied van E-commerce. We hebben ook veel aandacht voor websiteoptimalisatie (SEA en SEO), en systeemintegratie, en maken datakoppelingen met veel verschillende systemen. Bij ons werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Daarnaast staan

Bekijk vacature »

Full Stack .Net Ontwikkelaar - Regio Rotterdam

Heb jij ervaring met applicatie ontwikkeling, testen en onderhoud van business-kritische .NET applicaties? Wil je graag het verschil maken voor onze projecten bij de Nederlandse overheid, sociale zekerheid en gezondheidszorg? En wil je deel uitmaken van een zeer succesvol team? Wat ga je doen? Als ervaren Full Stack .NET Software Developer ga je werken in een team dat zich bezighoudt met het opnieuw bouwen van bestaande en nieuwe toepassingen met een belangrijke maatschappelijke relevantie waarbij digitale toegankelijkheid, security en informatiebeveiliging belangrijke aandachtspunten zijn. Samen ben je verantwoordelijk voor het realiseren en opleveren van de door de product owner gevraagde functionaliteiten.

Bekijk vacature »

Javascript Front-end Developer - Senior

We are looking for a front-end developer who is able to understand JavaScript to the same level as your native language. Are you dreaming in the JavaScript language? Then we are looking for you! Job Description Our client is a medium sized specialist in email marketing. The company is characterized by an open atmosphere with a strong focus on personal development and interest. To support their growth we're searching for a Front-End Developer who is highly skilled in JavaScript. As a Front-End Developer you are going to optimize and future develop the front-end use by many customers around the world.

Bekijk vacature »

Online Marketing Analyst

Vacancy: Online Marketing Analyst Looking to work in an international company with more than 35 different nationalities where collaboration and innovative ideas are key to drive future success? Seeking a role where you can add value and have the opportunity to develop and grow? Office Depot Viking has an exciting opportunity for an Online Marketing Analyst to join our European headquarters in Venlo, the Netherlands. The role is a fulltime, permanent position offering an excellent salary and benefits package. Your role as an Online Marketing Analyst You will be part of the Online Analytics team. This team plays a crucial

Bekijk vacature »

Backend PHP Developer voor fris en modern bedrijf!

Bedrijfsomschrijving Werken aan toffe applicaties in een jong, fris en modern bedrijf? Dan is deze vacature zeker wat voor jou! Je komt hier terecht in een toffe scale-up met start-up mentaliteit. Samen met je collega's ga je werken aan online oplossingen. Denk aan maatwerk webapps, webshops en websites waar jij en je team volledig los mogen gaan. Op het moment werken er zo'n 80 man voor dit fullservice internetbureau maar de verwachting is dat dit ook in de toekomst verder zal groeien. Het is hier allemaal uitstekend geregeld, je krijgt goede spullen om mee te werken, je werkt in een

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

05/08/2021 16:29: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.