Kleine Vragen Topic #3

Gestart doorStef2.514 reacties9.659 weergaven

2.515 berichten · pagina 122 van 168

Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
Eerdere citaten tonen
Lennard schreef:
Kun je niet gewoon
[COLOR= #0000BB]<?php
$user[/COLOR] [COLOR= #007700]= new[/COLOR] User[COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$otherUser[/COLOR] [COLOR= #007700]= new[/COLOR] User[COLOR= #007700]([/COLOR][COLOR= #DD0000]Rik[/COLOR][COLOR= #007700]);[/COLOR]


doen en in de constructor op basis van het type de boel doorsturen naar een andere interne functie?
Ik wil geen lelijke if-else constructies of switches hebben, en het parameter-aantal is niet altijd gelijk. Dus die weg kan ik helaas niet in sadley
Dan zul je iets als:

[COLOR= #0000BB]<?php
$user[/COLOR] [COLOR= #007700]=[/COLOR] User[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR]withID[COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$otherUser[/COLOR] [COLOR= #007700]=[/COLOR] User[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR]withName[COLOR= #007700]([/COLOR][COLOR= #DD0000]Rik[/COLOR][COLOR= #007700]);[/COLOR]


ofzo moeten doen, die dan een User-object aanmaakt en teruggeeft. Of wat jij hebt uiteraard, maar echt handiger kan het voor zover ik weet niet.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Ja, wat ik nu doe is in de echt constructor een aantal (standaard) dingen initialiseren, vervolgens dus met de withX() functies andere dingen initialiseren op basis van wat ik nodig heb. Maar ik vroeg me dus af of er betere manieren zijn. Wellicht dat iemand anders nog een beter idee heeft.

toevoeging op 22 september 2014, 14:02:03:
Edit; Ik heb er nu een Userfactory van gemaakt. Omdat ik telkens dezelfde soort dingen aan de main constructor mee moest geven. Nu doe ik dus dit:

[COLOR= #0000BB]<?php
$tUF[/COLOR] [COLOR= #007700]= new[/COLOR] UserFactory[COLOR= #007700]([/COLOR][COLOR= #0000BB]$options[/COLOR][COLOR= #007700]);[/COLOR]
  [COLOR= #0000BB]$user[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$tUF[/COLOR][COLOR= #007700]->[/COLOR]createWithId[COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]);[/COLOR]
  [COLOR= #0000BB]$user2[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$tUF[/COLOR][COLOR= #007700]->[/COLOR]createWithCredentials[COLOR= #007700]([/COLOR][COLOR= #DD0000]"Rik"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"test"[/COLOR][COLOR= #007700]);[/COLOR]

  [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$user2[/COLOR][COLOR= #007700]->[/COLOR]isVerified[COLOR= #007700]();[/COLOR]
  [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$user2[/COLOR][COLOR= #007700]->[/COLOR]getUsername[COLOR= #007700]();[/COLOR]

  [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$user[/COLOR][COLOR= #007700]->[/COLOR]isVerified[COLOR= #007700]();[/COLOR]
  [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$user[/COLOR][COLOR= #007700]->[/COLOR]getUsername[COLOR= #007700]();[/COLOR]
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
Eerdere citaten tonen
Lennard schreef:
Kun je niet gewoon
[COLOR= #0000BB]<?php
$user[/COLOR] [COLOR= #007700]= new[/COLOR] User[COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$otherUser[/COLOR] [COLOR= #007700]= new[/COLOR] User[COLOR= #007700]([/COLOR][COLOR= #DD0000]Rik[/COLOR][COLOR= #007700]);[/COLOR]


doen en in de constructor op basis van het type de boel doorsturen naar een andere interne functie?
Ik wil geen lelijke if-else constructies of switches hebben, en het parameter-aantal is niet altijd gelijk. Dus die weg kan ik helaas niet in sadley
Voor functies met een willekeurig aantal parameters kun je dit gebruiken: [func]func_get_args[/func]. Maar dat helpt niet tegen de "lelijke if-else constructies of switches", en maakt je functie waarschijnlijk te complex.
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Rik schreef:
Ik had een vraagje voor de OOP programmeurs onder ons;

In C# en java kan je meerdere (named) constructors aan je objecten geven, zolang de types van de constructor-parameters maar verschillend zijn.

Echter maakt PHP geen gebruik van variabele-typing, en kan je daardoor dus ook deze methode niet gebruiken in PHP. Echter heb ik wel meerdere verschillende manieren nodig om (in dit geval) een gebruiker op te halen.

Hoe lossen jullie dit op?

Op dit moment doe ik iets in de trant van:
Codeblok (voorbeeld.php):

1
2
3
4

$user = new User()->withId(1);
$otherUser = new User()->withName("Rik", "Test");
?>

Daarvoor heb je mapper classes.

Mapper classes initialize je niet overal, maar je maakt gebruik van een dependency injection container. Bovendien injecteer je een database instance via de constructor ofzo; zo kan de mapper aan de database..

E: Je userfactory moet een db instance requiren, een db instance mag niet static zijn.
0
Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Stel voor ik heb een website en die wil ik op github of bitbucket zetten, is dat dan wel verstandig om een config map met je database gegevens erin te zitten? Of is er een manier, zodat mensen dat niet kunnen zien?
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Raaoul schreef:
Eerdere citaten tonen
Rik schreef:
Ik had een vraagje voor de OOP programmeurs onder ons;
In C# en java kan je meerdere (named) constructors aan je objecten geven, zolang de types van de constructor-parameters maar verschillend zijn.

Echter maakt PHP geen gebruik van variabele-typing, en kan je daardoor dus ook deze methode niet gebruiken in PHP. Echter heb ik wel meerdere verschillende manieren nodig om (in dit geval) een gebruiker op te halen.

Hoe lossen jullie dit op?

Op dit moment doe ik iets in de trant van:

Codeblok (voorbeeld.php):
1
2
3
4

$user = new User()->withId(1);
$otherUser = new User()->withName("Rik", "Test");
?>

Daarvoor heb je mapper classes.

Mapper classes initialize je niet overal, maar je maakt gebruik van een dependency injection container. Bovendien injecteer je een database instance via de constructor ofzo; zo kan de mapper aan de database..

E: Je userfactory moet een db instance requiren, een db instance mag niet static zijn.

Als je een paar posts hierboven kijkt dan zie je dat ik dat nu doe. Die $options was even een voorbeeld, momenteel is dat enkel de database die doorgegeven wordt. En het werkt nu zoals ik wil dus ik ben blij smile
0
Berichten
6.144
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Shahiem schreef:
Stel voor ik heb een website en die wil ik op github of bitbucket zetten, is dat dan wel verstandig om een config map met je database gegevens erin te zitten? Of is er een manier, zodat mensen dat niet kunnen zien?
https://help.github.com/articles/ignoring-files
0
Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Jponsen schreef:
Eerdere citaten tonen
Shahiem schreef:
Stel voor ik heb een website en die wil ik op github of bitbucket zetten, is dat dan wel verstandig om een config map met je database gegevens erin te zitten? Of is er een manier, zodat mensen dat niet kunnen zien?
https://help.github.com/articles/ignoring-files
Thanks man, ik zal even kijken
0
Berichten
1.579
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik ben opzoek naar een layout zoiets als Digitalocean is iemand zoiets tegen gekomen op themeforest of zo site? Of weet iemand nog een goede site waar je layout kan vinden?

Ik weet dat hun site costum made is maar ik wil graag een layout komen en aanpassen omdat ik kwa ontwerpen gewoon niet goed genoeg ben voor een mooi idee.
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Waar kan ik niet naar de G schijf?
Afbeelding
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
G:
[enter]
confused
0
Berichten
473
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Aarclay schreef:
G:
[enter]
confused
Als je het met het cd command wilt doen moet je cd /d G:
Maar die optie van jou is inderdaad handiger.
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Hoe kan ik veilig ftp gegevens opslaan in een python file
0
Berichten
4.214
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dylanh schreef:
Hoe kan ik veilig ftp gegevens opslaan in een python file
Niet.
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Dylanh schreef:
Hoe kan ik veilig ftp gegevens opslaan in een python file
Zoals Tim zegt, slecht idee. Je maakt best een (REST) API, en Python roept die API aan.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren