meerdere variabelen uit 1 functie halen (noob vraag)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 4 5 6 volgende »

Sylvester vader

sylvester vader

13/03/2020 17:39:40
Quote Anchor link
ik heb ooit een keer een heel mooi boekhoudscript gemaakt en deze moet nu een beetje aangepast worden
eigelijk heel veel

het is van jaren allemaal hardcoded in elkaar gezet en eigenlijk bijna geen gebruik van functies

ik heb dus op heel veel paginas 1 en dezelfde code staan die eigenlijk gewoon in een functie zouden moeten

maar op 1 of andere manier weet ik niet meer hoe ik meerdere outputs krijg

input is datum, accountid, userid

output is een hele waslijst
die ik dus individueel moet kunnen opvragen indien dit zou kunnen met een functie
ik zal hier ff een voorbeeld geven van 1 van de codes die er nu in staan



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
$sqldranken = "SELECT * FROM systeem_invoertotaal WHERE account='$accountid' AND id_user='$userid' AND soort='dranken' AND invoer_over='$datum' ORDER BY id ASC";
$resultaatdranken = $db->sql_query($sqldranken) or die(mysqli_error());
                            

$eindtotaaldrankenbtwlaagafgerond = '0';
$eindtotaaldrankenbtwhoogafgerond = '0';

while($omzetdranken = mysqli_fetch_assoc($resultaatdranken)){
$btwsoort = ''.$omzetdranken['btwhoogte'].'';    
                                                            
if($btwsoort == btwlaag) {
$omzetdrankenbtwlaag = mysqli_fetch_array($db->sql_query("SELECT * FROM systeem_invoertotaal WHERE account='$accountid' AND id='$omzetdranken[id]' AND id_dame='$userid' AND soort='dranken' AND btwhoogte='btwlaag' AND invoer_over='$datum';"));

$totaaldrankenbtwlaagafgerond = $omzetdrankenbtwlaag[aantal] * $omzetdrankenbtwlaag[bedrag];                                                $totaaldrankenbtwhoogafgerond = '0';
                                                
}
elseif($btwsoort == btwhoog) {
$omzetdrankenbtwhoog = mysqli_fetch_array($db->sql_query("SELECT * FROM systeem_invoertotaal WHERE account='$accountid' AND id='$omzetdranken[id]' AND id_dame='$userid' AND soort='dranken' AND btwhoogte='btwhoog' AND invoer_over='$datum';"));

$totaaldrankenbtwhoogafgerond = $omzetdrankenbtwhoog[aantal] * $omzetdrankenbtwhoog[bedrag];
$totaaldrankenbtwlaagafgerond = '0';
}
else {
$totaaldrankenbtwlaagafgerond = '0';
$totaaldrankenbtwhoogafgerond = '0';
        
}

$eindtotaaldrankenbtwlaagafgerond = $eindtotaaldrankenbtwlaagafgerond + $totaaldrankenbtwlaagafgerond;
$eindtotaaldrankenbtwhoogafgerond = $eindtotaaldrankenbtwhoogafgerond + $totaaldrankenbtwhoogafgerond;                            
}


dit is maar een klein stukje maar ik moet gewoon weer ff snappen hoe ik 2 outputs uit een functie krijg
of meerdere

:)

mag ook iets anders zijn als ik het maar op verschillende plekken kan gebruiken
 
PHP hulp

PHP hulp

26/04/2024 13:20:13
 
Rob Doemaarwat

Rob Doemaarwat

13/03/2020 17:55:21
Quote Anchor link
Meerdere mogelijkheden:
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
<?php

function een_return_en_de_rest_in_vars($in1,$in2,$in3,&$uit1,&$uit2,&$uit3){
  //voorbeeldje:
  $uit1 = $in1 + $in2;
  $uit2 = $in1 * $in2;
  $uit3 = $in2 / $in3;
  return $in2 / $in1; //uit0
}

$x0 = een_return_en_de_rest_in_vars(1,2,3,$x1,$x2,$x3);
//outputs zitten nu in $x0 t/m $x3

function alle_output_in_een_array($in1,$in2,$in3){
  $uit0 = $in2 / $in1;
  $uit1 = $in1 + $in2;
  $uit2 = $in1 * $in2;
  $uit3 = $in2 / $in3;
  return [$uit0,$uit1,$uit2,$uit3];
}


list($x0,$x1,$x2,$x3) = alle_output_in_een_array(1,2,3);
//zelfde verdeling als hierboven

function alle_output_in_een_assoc_array($in1,$in2,$in3){
  $uit0 = $in2 / $in1;
  $uit1 = $in1 + $in2;
  $uit2 = $in1 * $in2;
  $uit3 = $in2 / $in3;
  return ['uit0' => $uit0,'uit1' => $uit1,'ui2' => $uit2,'uit3' => $uit3];
  //of als vars en key name toch altijd gelijk zijn:
  return compact('uit0','uit1','uit2','uit3');
}


$result = alle_output_in_een_assoc_array(1,2,3);
$x0 = $result['uit0'];
//enz

//of als je de vars ook als uit0, uit1, enz wilt gebruiken

extract($result);
//$uit0 t/m 3 zijn nu bruikbaar in deze scope, bijvoorbeeld:
print($uit2);

?>
Gewijzigd op 13/03/2020 17:56:26 door Rob Doemaarwat
 
Thomas van den Heuvel

Thomas van den Heuvel

13/03/2020 19:43:17
Quote Anchor link
De vraag is of je dit echt in een functie wilt vangen, en ook of je in de desbetreffende functies zelf allerlei SELECT * FROM whatever queries zou moeten uitvoeren.

Als het complete rapportages omvat zijn deze een aparte pagina (/rapportages/omzet-drank) of op zijn minst een soort van aparte actie (/rapportages.php?show=omzet_drank) waardig.

Zo niet, dan zou je nog steeds kunnen nadenken om de waarden die je nu uit de database trekt eenmalig in te laden, en vervolgens als parameter aan de functie te voeren zodat de functie gewoon zijn werk kan doen zonder tussenkomst van een database.

Ook gaat het in bovenstaande functie specifiek over drank, maar wat je in wezen doet zijn prijzen inclusief hoge/lage BTW berekenen. Je zou dus ook echt een generieke functie kunnen maken door de functie een lijst van waarden te voeren, waarbij je aangeeft of op deze items een hoog of laag tarief van toepassing is, en wat deze tarieven dan precies zijn. Op die manier heb je een echt herbruikbare functie die niet intern een beslissing neemt waarop de berekening van toepassing is (in dit geval enkel drank).

Dit lijkt mij dus een uitgelezen moment om (goed) na te denken over de algehele structuur van je applicatie, en niet zozeer hoe je (enkel) je functies zou kunnen refactoren.
Gewijzigd op 13/03/2020 19:44:38 door Thomas van den Heuvel
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/03/2020 19:25:42
Quote Anchor link
Ik zie toch wat eigenaardigheden in het stukje code dat je laat zien.

Die absurd lange variabelenamen zijn al een indicatie dat je alles in de global scope plaatst en niet in functies of classen. Het is de enigste overgebleven remedie om
te voorkomen dat je per ongeluk variabelen dubbel gebruikt en daardoor per ongeluk waardes overschrijft.

Waarom staan de arraykeys 'aantal' en 'bedrag' niet tussen quotes? zijn dat constanten? Ik wil niet zeggen dat het gebruik van constanten als array keys perse fout is maar het is wel met een omweg. Je kunt in PHP namelijk prima met associatieve arrays werken door gewoon quotes te gebruiken in combinatie met mysqli_fetch_assoc().

Waarom een nul tussen quotes als je deze niet als tekst wil laten interpreteren maar er nog mee wilt rekenen?

En hier snap ik het nut niet van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$btwsoort
= '' . $omzetdranken['btwhoogte'] . '';
?>


Waarom niet gewoon
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $btwsoort = $omzetdranken['btwhoogte'];?>
of nog beter helemaal geen variabelen kopiëren (tenzij je een kopie wilt gaan bewerken en het origineel wil behouden)?

Twee queries in een while loop. dat MOET de boel zeker vertragen. Verdiep je eens in een JOIN.

Ik vraag me ook sterk af of de opzet van je database wel deugt.

Zoals Thomas al laat doorschemeren: BTW LAAG heeft NIETS te maken met drank. Splits dat van elkaar en maak gewoon één of twee functies die de btw voor je uitrekenen / optellen waarbij er geen onderscheid wordt gemaakt of dit nou voor drank, eten, orwhatever gebruikt wordt.

Als laatste om je vraag toch te beantwoorden: gebruik een array OF een object!
 
Sylvester vader

sylvester vader

14/03/2020 22:08:58
Quote Anchor link
uhm zoizo bedankt voor die functie code ik zal ff kijken hoe dat allemaal werkt zodat ik het eventueel kan gebruiken

en ik zal ff een betere uitleg geven
ik heb dus zeg maar 1 pagina waar een soort loonstrook op gemaakt wordt per gebruiker per dag

deze pagina maakt een soort cache aan
wat echt extreem veel code is

(ik heb hier vaarschijnlijk ook veel fouten in zoals die onnodige quotes )

ik heb heel veel verschillende boekhoudpaginas en omdat functies dus niet goed werkte heb ik deze enorme code soort van geknipt en geplakt

want 1 pagina opent bv van 1 gebruiker alle gegevens
en een andere pagina opent van een hele maand
of zelf alles van een heel jaar

om deze reden de '0' codes

want doe ik dit niet dan krijg ik problemen met berekenen
dus elke berekening is dus eerst 0 en daarna + andere bedragen

ik ben een noob in nieuwe manier van php scripting enz

cola valt onder btw laag en dus moet dat er in

alles maar dan ook alles moet in dit script los gespecificeerd worden en die gegevens moeten worden meegenomen naar een eventuele andere pagina

het hele script heb ik werkent maar is 90% teveel code

ik wil doormiddel van functies alle gevevens kunnen verzamelen, en verzenden op 1 plek

zodat ik straks dus alleen maar
functies moet opvragen of 1 include waarmee ik de info kan krijgen die ik nodig heb

idee in mijn hooft is een beetje zoiets als

geef een functie 3 gegevens mee

soort, id, datum

en dat ik dan bv dit kan opvragen
$dranklaagtotaal
$dranklaagexbtw
$dranklaagbtw
$dranklaagprovisiebeheerder
$drankhoogtotaal
$drankhoogexbtw
$drankhoogbtw
$drankhoogprovisiebeheerder

enz

ik ben nu gewoon aan het brainstormen want ik wil de gegevens makkelijker kunnen opvragen en aanmaken
 
- Ariën  -
Beheerder

- Ariën -

14/03/2020 23:02:46
Quote Anchor link
En waarom zou je dan geen array's gebruiken?
Drank is al een entiteit op zich, en of het laag/hoog of inclusief BTW/exclusief BTW is zijn eigenschappen.
 
Thomas van den Heuvel

Thomas van den Heuvel

14/03/2020 23:23:31
Quote Anchor link
Hm, misschien moet je even een stapje achteruit doen en eerst eens kijken naar wat je hebt en wat je op dit moment misschien mist en mogelijk als extra functionaliteit wilt hebben.

Teken dit gewoon eens op papier: maak een grove indeling van de pagina's en functionaliteit die je graag wilt hebben. Schrijf hier korte verhaaltjes bij van wat de pagina doet en waar je dit voor nodig hebt. Als je een van beide niet weet: vraag je af wat het nut is / waarom je het nodig hebt. En als je zo'n pagina eigenlijk zelden tot nooit gebruikt zou je die in eerste instantie gewoon kunnen schrappen. Beperk je tot een minimale basis die een werkbare situatie oplevert.

Dit kun je allemaal doen nog zonder een letter code te typen of technische oplossingen voor dit alles te verzinnen - dit is puur visueel / functioneel.

Wat je nu hebt is een functionele specificatie: een boodschappenlijstje van dingen die je (minimaal) nodig hebt. Dit is een voorschrift/blauwdruk van wat je allemaal dient te bouwen en is tevens een leidraad tijdens de bouw zodat je niet (te ver :p) van dit plan afwijkt.

Ga dan eens wat experimentjes doen met code en bouw kleine testjes om te zien of dit fijn en makkelijk werkt. Trek zaken uit elkaar, geef functies (of methoden) duidelijke, eenduidige doelen. Laat ze maximaal één ding doen, niet twee of meer. In een functie/methode waar je iets berekent ben je niet met databases bezig, of met enkel dranken, of met de formattering en/of afronding van bedragen, dit zou allemaal op aparte plekken ingeregeld moeten worden of zijn.

Op deze manier creëer je door het hele traject -en ook in je code- overzicht, iets wat je op dit moment waarschijnlijk goed kunt gebruiken.

Verdeel en heers.
 
Sylvester vader

sylvester vader

14/03/2020 23:28:00
Quote Anchor link
hoe bedoel je dat precies ?
zoals ik al zei ik ben een noob
bet dat soort dingen, ik heb veel dingen gemaakt maar echt allemaal met basic kinder stuff
dus geen functies geen foreach
geen array behalve dan die van sql

als ik al functies gebruik dan zijn het meestal al bestaande functies of aangepaste

ik ben nu langzaam pagina voor pagina aan het aanpassen
en ik kwam erachter dat ik bv 1 code wel 20 keer heb gebruikt maar allemaal met andere input variablen
om deze reden dacht ik aan en functie

alles dus verplaatsen naar 1 plaats

Toevoeging op 14/03/2020 23:52:12:

als ik
Quote:
geef functies (of methoden) duidelijke, eenduidige doelen. Laat ze maximaal één ding doen, niet twee of meer.
dat zo gaan doen dan heb ik 1000+ van die codes nodig

ik kan vanwege wet en belasting enzo niet zomaar dingen achterwegen laten, alles moet berekenbaar zijn en ophaalbaar

ik gaf een klein stukje van code
de hele werkende code is 100X groter en heeft heel veel boekhoud berekeningen
het antwoord van deze berekening word bewaard in een cache

alles werkt goed echter is het allemaal heel onoverzichtelijk en om deze reden ben ik aan het zoeken en testen naar verschillende mogelijkheden

want op elke pagina waar ik de gegevens nodig heb moet eerst worden gechecked of de cache er is van elke dag en gebruiker van de periode die ik moet hebben, en indien niet aanwezig dat eerst gemaakt gemaakt worden

als de cache bv wordt geleegd kan het dus zijn dat er in 1 keer van een heel jaar per gebruiker, per dag gegevens moeten worden opgeslagen in cache

alle gegevens staan in database de volle verkoop prijzen, en per gebruiker, per dag staan daar ook alle btw gegevens en heffingen enz enz
 
- Ariën  -
Beheerder

- Ariën -

15/03/2020 00:02:05
Quote Anchor link
Ik vraag me af of je Thomas reactie gelezen hebt? Want je vraagt 'hoe bedoel je dat precies ?' terwijl hij een hele duidelijke post hier plaatst met uitleg. En daarbij benadruk ik even dat dit niks met 'noob zijn' te maken lijkt te hebben. Want hij heeft het niet eens over het programmeren zelf, en enkel de structuur ervan.

Maar goed, ik denk dat een hele applicatie voor jouw blijkbaar nog te zwaar is. Dus verdeel je werk in kleine stapjes, en je komt er wel. En lees je eens in wat functies in PHP doen, en hoe je die kan benutten. Ze zijn namelijk erg krachtig, en voorkomen dat je nat gaat via de DRY-methode (Don't Repeat Yourself).
 
Sylvester vader

sylvester vader

15/03/2020 09:49:12
Quote Anchor link
ik heb gelezen en normaal zou ik dit ook doen,
stapje voor stapje
echter is het script dat ik nu heb all werkend en een noodzakelijk iets
er zijn al tig bedrijven die hiermee werken als soort online software en het werkt ook goed
echter....
zit er op dit moment dus heeeeeel veeeel DRY-methodes in
en ik moet op korte termijn extra paginas maken

om deze reden zoek ik dus een betere manier en ik dacht misschien aan functies

(als ik het geld zou hebben zou ik iemand inhuren om deze mess op te knappen
maar het gene dat ik wil is moeilijk goed uit te leggen en blijkbaar moeilijk te maken)

op dit moment op ik per gebruiker per dag ongeveer 100 variablen per cache file
dus kan je bedenken hoeveel code hier achter hangt

en zoals je zei ik kom er wel.
ik hoop met de info die ik hier verzamel iets sneller

in loop der jaren heb ik via deze site heel veel geleerd en gemaakt
dus het komt vast goed :)
 
- Ariën  -
Beheerder

- Ariën -

15/03/2020 10:26:12
Quote Anchor link
Je hoeft natuurlijk niet meteen de hele applicatie om te bouwen. Je kan ook 'agile' werken door stukje bij beetje de code te vernieuwen, zodat je de oude code uiteindelijk kan verwijderen.

Zie ook:
https://nl.wikipedia.org/wiki/Agile-softwareontwikkeling
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/03/2020 10:49:41
Quote Anchor link
Wat je volgens mij zou moeten doen is het programma op zij leggen. Gewoon alle plannen even in de koelkast, bureau en computerscherm opschonen en dan eerst eens gaan bijleren over programmeren. Begin eens te lezen op http://www.phptuts.nl/home/ het is een website waar je in een halve dag doorheen kunt. Tijdens het lezen zul je hoofdstukken tegenkomen waarin nieuwe dingen staan zoals ook het gebruik van Functies. Ook zou je voor zo een serieus project als waar je mee bezig bent moeten kijken naar en je verdiepen in een aantal dingen zoals OOP, Database normalisatie, versiebeheer en php frameworks. Als bonus is er dan nog responsive webdesign, jQuery met ajax en json.

Een andere mogelijkheid zou kunnen zijn om je project op te zetten met één of twee personen erbij waarbij er in ieder geval één php programmeur aanschuift. Een ieder werkt dan vrijwillig aan het project en je probeert er dan een verdienmodel aan te hangen waarmee je hoopt dat er later wel inkomsten uit voortvloeien. Als je hier iets in ziet dan is het uittekenen van functionaliteiten op papier zoals Thomas al aangeeft nog veel belangrijker. Je moet dan namelijk gaan communiceren met elkaar, hetgeen opzich echt geen probleem hoeft te zijn evenmin het een probleem hoeft te zijn dat een programmeur minder kennis heeft over salaris administraties bijvoorbeeld, Zolang er maar een project begeleider is die hem weet aan te sturen kan daar een prachtig plaatje uitkomen.

Zie je iets in het bovenstaande dan ben ik ook wel geïnteresseerd om daarover mee te denken.
 
Sylvester vader

sylvester vader

15/03/2020 12:22:27
Quote Anchor link
thanks voor de link ik zal deze zeker eens doorkijken.
pc enzo opschonen is helaas niet mogelijk omdat ik met teveel belangrijke dingen bezig ben
maar ben wel een het sparen voor een nieuwe pc enz om inderdaad het hele geheel schoon te beginnen op een backup

ik wil mij zeker gaan verdiepen in de wat gevorderde manieren van php scripting

ik zoek al jaren naar iemand die goed kan scripten en kan luisteren
maar dat luisteren is nogal moeilijk te vinden

want als ik vraag om 1 2 3
dan zegt scripter 2 is niet nodig,

en dan moet ik weer een hele uitleg gaan geven over wetgeving, avg wet belastingdienst enz

daarnaast willen scripters altijd een bijdragen, meestal niet klein voor hetgeen dat ik vraag

ik moet een heel gesprek/ contract geven mbt tot AVG wet

mijn systeem die dus al meer dan 8 jaar draait.
is een online CMS/POS systeem waar op dit moment een aantal bedrijven mee draaien

all deze bedrijven zitten bij elkaar in 1 sql database en 1 geheel script,
sql info enz wordt dynamisch gesorteerd doormiddel van hun domein naam

deze bedrijven hebben een website/ met fotos van gebruikers en info
agenda en nog veel meer

daarnaast kunnen deze bedrijven gebruikmaken van een soort POS systeem
waarin onder andere de producten worden bijgehouden die per gebruiker verkocht worden

waarna een loonstrook gemaakt wordt per dag en deze is ook uitprintbaar
hieraan zit een geheel boekhoudsysteem gekoppeld die weer gelinkt staat aan een apparte inlog voor boekhouders
de boekhouding zelf moet verplicht 7 jaar worden bewaard

alle berekeningen zijn, en moeten zonder cent fouten

exact online stelt niks voor in vergelijking met mijn boekhoud systeem
dus dan begrijp je ongeveer hoe groot het is

echter omdat sommige dingen nog niet perfect draaien of er nog dingen bij moeten/verandert kan ik dus niet veel vragen als abbonament


als ik iemand kan vinden die via mijn regels vrijwillig wilt helpen, zonder op korte termijn geld te willen hebben,
dan zou ik dol blij zijn

deze persoon moet 400% rekening houden met het feit dat het systeem live is en er dus geen fout kan en mag ontstaan

gegevens weg .....
dan kost dat mij minimaal 100.000+- per bedrijf want al deze bedrijven staan dan stil
het is dus niet zo dat ik even een scripter er zomaar in kan laten en dan hopen dat het goed komt

ik test nu ook mijn gehele nieuwe berekening pagina's uit via een apparte cache files
zodat mijn klanten mijn berekenings errors niet zien
 
- Ariën  -
Beheerder

- Ariën -

15/03/2020 12:39:06
Quote Anchor link
Ben je bekend met OTAP? Het spreekt voor zich dat je een ontwikkelingsomgeving hebt waarin je alle wijzigingen uittest voordat je ze live naar je klanten (in productie) brengt. In dat geval kan je prima een, of meerdere programmeurs mee laten helpen. Echter vrees ik dat vrijwillige input lastig zal gaan. Dus zorg voor een goed verdienmodel. Ik neem aan dat je klanten een licentie afnemen bij jouw voor een bepaald bedrag, zodat jij uiteindelijk kan zorgen voor updates, een goede ontwikkelingsafdeling en een makkelijke flow voor de ontwikkelaars.


Quote:
O: Een programma of component wordt eerst ontwikkeld in de ontwikkelomgeving, hierin bevindt zich veelal een of meerdere personen in een ontwikkelteam die ieder op een ontwikkelwerkplek werken aan 1 gezamenlijke versie, die aan het einde van elke dag wordt gekopieerd ofwel 'ingecheckt' in het versiebeheerprogramma op de ontwikkelserver.

T: Deze gezamenlijke versie wordt dan 's nachts (Aar edit: Of bijv. einde van de werkdag, zoals het bij mij op het werk ging.) automatisch van programmacode naar een draaibaar programma omgezet, ofwel 'gebuild' (Edit: of 'gecommit') en eventueel doorgezet naar de testserver. Op de testserver kan er met deeltest, ofwel ´unittests´ automatisch technisch en functioneel getest worden, waarvan de resultaten de volgende dag klaarliggen voor het ontwikkelteam. Als er na een ontwikkelperiode een functionele samengestelde versie ofwel een ´release´ wordt gestabiliseerd, kan deze release volledig doorgetest worden met alle voor de software gekozen testgevallen door alle betrokken partijen, personen en gebruikers.

A: Na goedkeuring kan de versie worden geïnstalleerd in de acceptatieomgeving. Het installatieproces wordt gedocumenteerd in een productiegang draaiboek. De acceptatie-omgeving is qua software en hardware zo veel mogelijk gelijk aan de productieomgeving. De klant kan hier alvast zien hoe de release er functioneel en qua performance uit gaat zien in productie. Dit, zonder dat de dagelijkse productie onderbroken wordt.

P: Indien de klant accepteert in de acceptatie-omgeving, wordt het programma geïnstalleerd op de productieomgeving, zoals gedocumenteerd toen de release naar de acceptatie-omgeving ging. Tevens moet er een terugdraaiplan zijn om bij verrassingen toch de productie-installatie ongedaan te maken en door te gaan in productie met de oude versie. (Edit: Op dit punt werkten we op het bedrijf met de hoofdbestanden buiten de webroot. Dus uiteindelijk was het voornamelijk het overzetten van de applicatiecode in een nieuwe versie-directory en de versienummer in de configuratie aanpassen. En uiteraard een rollback klaar hebben liggen om de databaseveranderingen terug te draaien. Natuurlijk hielden we de klanten op de hoogte van nieuwe versies, en lieten we ze regelmatig meegluren op Acceptatie-omgeving. Updaten deden we op gezette tijden, vaak op een donderdag zodat er op vrijdag nog wat gefixxed kon worden als het nodig is, met de vrij-mi-bo en het weekend voor de deur.)


Wat zeker dus niet overbodig is, is hierbij het gebruik van een versiebeheersysteem. Git is hiervan 'een veelgebruikte. Zo voorkom je dat anderen werken aan een code, waarbij de werkzaamheden van een ander verstoord worden. Wat ook erg handig is, is een BugTracker systeem zoals Jira, of goedkoper: Mantis BT (gebruik ik). Hierin kan je alle changes, features en bugs rapporteren en afhandelen, en ook onderverdelen in versies. Je kom hierbij al in de buurt van 'Agile development' in de vorm van Scrum, een flexibele manier om met meerderen aan een product te werken, zodat je snel een product kan opleveren aan de klant.

Dus zorg eerst voor een goede ontwikkel-flow, in plaats van 'wat code aanpassen, uploaden en hopen dat het werkt, en je je klanten niet stoort'. Dat is namelijk de foute strategie, waarmee je je zelfs flink in je voeten kan schieten als het fout gaat.
Gewijzigd op 15/03/2020 12:51:11 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/03/2020 13:51:13
Quote Anchor link
Sylvester vader op 15/03/2020 12:22:27:
als ik iemand kan vinden die via mijn regels vrijwillig wilt helpen, zonder op korte termijn geld te willen hebben, dan zou ik dol blij zijn.


Het programmeren is een intensieve klus en je moet ervaring hebben. Het is onmenselijk om van je buurman te verwachten dat hij bij jou een jaar lang elke dag komt klussen. En vreemd genoeg denk jij nog in die richting?
Waarom denk je niet wat ruimer? Zie het als een uitdaging. Jij hebt de knowhow van alle regelgeving. Een ander van PHP en weer een ander van webservers. Dit project gaat een stille dood tegemoet als je daar in je eentje in wilt blijven zitten, dat geef ik je op een briefje.

Sylvester vader op 15/03/2020 12:22:27:
deze persoon moet 400% rekening houden met het feit dat het systeem live is en er dus geen fout kan en mag ontstaan

gegevens weg .....
dan kost dat mij minimaal 100.000+- per bedrijf want al deze bedrijven staan dan stil
het is dus niet zo dat ik even een scripter er zomaar in kan laten en dan hopen dat het goed komt


Je moet zoals Ariën ook aangeeft nooit direct in een live omgeving gaan priegelen. Daarom is versiebeheer ook ontzettend belangrijk en moet code door en door getest worden alvorens ze online gezet worden.


Indien je dit project helemaal kan professionaliseren en je er wat geld in durft te stoppen om het te promoten dan kan hier volgens mij prima geld in verdiend worden. Laat ik je een vraag stellen:

Verdien jij in je eentje liever honderd euro per maand of met zijn drieën of vieren 1000 euro die je dan moet delen?

Wat ik duidelijk probeer te maken is dat je er met de juiste houding en handen wel degelijk een succes van zou kunnen maken.
 
Sylvester vader

sylvester vader

15/03/2020 16:28:44
Quote Anchor link
Klopt helemaal wat je zegt
Echter moet er dus wel geld zijn om iets te geven
Op dit moment hou ik niks over
Van niks kan ik dus niemand betalen

Als ik inderdaad iemand vind die mij helpt enz voor bv 3 maanden dan kan ik daarna wel zorgen voor wat geld enz

Want als die dingen die ik wil werken kan ik veel sneller nieuwe klanten krijgen en ook betere inkomsten eruit halen

Scripters vragen helaas over het algemeen best hoge bedragen en heb niemand nog gezien die wilt wachten op geld

Eigenlijk altijd eerst geld en daarna script
En dan hopen dat het werkt.

Werkt het niet dan moet je vaak nog meer betalen om het te fixen

Dus om die reden ben ik Dus genoodzaakt alles zelf te bouwen met de kennis die ik heb
 
- Ariën  -
Beheerder

- Ariën -

15/03/2020 16:36:29
Quote Anchor link
Ik vrees dat dit een zware opgave gaat worden. Ook is het op die manier duidelijk dat je financiële model dus totaal niet goed in elkaar zit. Dus zorg dat er meer geld inkomt dan dat je uitgeeft. Misschien moet je de heffingen even verhogen in je licenties? Want ook in een goede ontwikkelingsstrategie moet je investeren.

Extra servers voor git, een beheerder die dit opzet.
Vrijwillig gaat je dit niet lukken, want wie gaat er (zoals Frank zegt) vrijwillig langdurige tijd lang klussen?
 
Sylvester vader

sylvester vader

15/03/2020 16:37:46
Quote Anchor link
Om even te beantwoorden op eerder bericht
Ik heb ooit getest op een test server
Echter raakt alles in soep omdat ik dan gegevens mis
Ik heb een live omgeving nodig omdat ik de gegevens nodig heb per dag en per gebruiker worden ingevoerd

Indien ik dus een test server zou nemen
En dan even niet aan kosten denken
Dan moet ik eerst iets maken dat alle gegevens dubbel invoert in server en in test server

Of iemand moet inhuren die elke dag voor mij gegevens invoert in test systeem
 
- Ariën  -
Beheerder

- Ariën -

15/03/2020 16:39:52
Quote Anchor link
Sylvester vader op 15/03/2020 16:37:46:
Om even te beantwoorden op eerder bericht
Ik heb ooit getest op een test server
Echter raakt alles in soep omdat ik dan gegevens mis
Ik heb een live omgeving nodig omdat ik de gegevens nodig heb per dag en per gebruiker worden ingevoerd

Je kan toch die gegevens inladen vanuit de productie? Ik zie het probleem niet?

Quote:
Indien ik dus een test server zou nemen
En dan even niet aan kosten denken
Dan moet ik eerst iets maken dat alle gegevens dubbel invoert in server en in test server

Waarom? Een test-server hoeft niet gelijk te lopen met productie.
Lees het verhaal over OTAP anders nog eens.

Quote:
Of iemand moet inhuren die elke dag voor mij gegevens invoert in test systeem

Beetje raar. Die importeer je toch, en je speelt er toch in hartelust mee?
Ik zou sowieso dummy-data gebruiken voor NAW-gegevens, en dus niet uit een database van je klant. Dus laat desnoods je neef, nicht, buurjongen, een uurtje met die applicatie spelen en je hebt zat data.
Gewijzigd op 15/03/2020 16:47:10 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/03/2020 16:47:54
Quote Anchor link
O boy. Je kunt toch de standaard instellingen en gegevens uit de live omgeving kopiëren naar de test omgeving? Kosten zijn amper noodzakelijk. Ik heb enkel een domeinnaam genomen. Die kost een paar euro per jaar. Het domein wijst naar mijn huis ip-adres en ik heb een forward in mijn router gezet. Mijn eigen pc is dus mijn testserver, compleet met domeinnaam. Iets wat voor 95% van de werkzaamheden niet eens nodig is want je kunt ook gewoon http://127.0.0.1 gebruiken. Een pakket als Wamp, Xampp of Lamp is zo gedownload en voila je hebt je eigen testserver compleet met een mysql database en met phpMyAdmin.

Een nieuw project begin je natuurlijk op een test-server. De configuratie instellingen maak je 1x voor iedere server (Knip en plak werk mogelijk). Met de database zou je Schema migrations kunnen overwegen.
Gewijzigd op 15/03/2020 16:52:45 door Frank Nietbelangrijk
 
Sylvester vader

sylvester vader

15/03/2020 16:49:23
Quote Anchor link
Ik werk in een hele moeilijke branche en daarom zijn inkomsten moeilijk
Ik heb geen geld buffer
En een lening krijg ik in deze branche niet

Zoals ze zeggen als je voor een dubbeltje geboren bent wordt je nooit een kwartje

Echter gaat het met mijn systeem alleen maar omhoog en komt het geld vanzelf goed maar het kost helaas allemaal tijd

De bedrijven die mijn systeem gebruiken willen niet meer terug naar iets anders
En in mijn branche is ook niks beters te vinden.

Ik ben totaal al meer dan 8 jaar bezig
En het gaat elk jaar sneller en beter
Op tempo dat het nu gaat zit ik slapend binnen komende 5 jaar op 3000 netto per maand
Dus mijn tijd komt wel
Met of zonder hulp
 

Pagina: 1 2 3 4 5 6 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.