Ik ben zelf best vaak bezig met code schrijven waarvan ik de tijd veel beter aan iets anders kan besteden. Ik heb op GitHub daarom een klein projectje genaamd 'phplib' met hele simpele functions.
Stel ik wil het IP weten van de gebruiker hoef ik die code niet meer te schrijven, maar roep ik die functie gewoon aan vanuit de class. Later wil ik nog wel wat uitgebreidere functions toevoegen.
Pull requests zijn altijd welkom als je nog functions wil toevoegen! :)
Leuk idee, al zou ik het niet gebruiken, maar hopelijk word het een uitdaging voor je!
Thanks :)
Het wordt niet echt een uitdaging voor me, maar ik hoop wel dat ik andere developers die bijvoorbeeld net beginnen of gewoon minder tijd kwijt willen zijn kan helpen.
Het is leuk... maar vooral voor jezelf ;)
Stiekem ben je nu namelijk niets meer aan het doen dan native PHP functies aan het herschrijven.
Voor het gemak kan dat prettig zijn, maar je maakt de boel ook iets trager.
Met deze functie bijvoorbeeld verander je eigenlijk alleen maar de naam van de functie:
<?php
public function definedvars() {
$variables = get_defined_vars();
return $variables;
}
?>
In je code zou jij dan dit doen:
<?php
$defined_vars = definedvars();
?>
in plaats van dit:
<?php
$defined_vars = get_defined_vars();
?>
En dat voegt eigenlijk niks toe, behalve dan dat je misschien de functienaam makkelijker kunt onthouden. Echter, je roept dan wel onnodig een extra functie aan.
Als "regel" kun je het beste aanhouden dat je standaard/native PHP functies niet moet namaken. Het heeft pas zin om ergens een eigen functie van te maken, als die functie iets extra's toevoegt.
Ozzie, je citeert wel wat selectief, want je pikt er nu net die ene functie uit die inderdaad niets toevoegt.
In de basis is het idee wel goed, want het wordt vaker zó aangepakt. Je bent daarmee wel een beetje het wiel opnieuw aan het uitvinden. Je kunt meer structuur aanbrengen in je library (maak een onderscheid tussen categorieën functies) en je zou wat aan de naamgeving kunnen doen. Google maar eens op "helpers" in PHP-frameworks.
A "helper" in many frameworks including CodeIgniter refers to a set of functions that make simple, routine tasks easier to accomplish by grouping multiple processes into a single function.
Dit is een randgeval. Je kunt hier namelijk intern rand() door mt_rand() vervangen en verder elders random() blijven gebruiken. Bovendien kun je later wellicht, als je een briljante ingeving hebt, iets schrijven dat nóg veiliger of sneller is dan mt_rand().
@Ward: rand en mt_rand bestaan al. Dan kun je alles wel in "container" functies gaan stoppen, en volgens mij waren we eerder al tot de conclusie gekomen dat dat geen goed idee is ;)
Op het moment dat je functionaliteit gaat toevoegen en je dus als het ware een "bundeltje" van functies krijgt dat je vaker wilt gaan gebruiken, dan is het wel zinvol om er een aparte functie van te maken. Anders heeft het niet zoveel nut.
?
Onbekende gebruiker
27-08-2014 17:53
dit lijkt een beetje op het project waar ik nu mee bezig ben maar dan heb je een functie en voer je comando's uit in die functie. En verasend genoeg heet mijn project EasyPHP