/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Util klasse
Fra : Jens Thomsen


Dato : 01-12-07 11:55

Jeg har en 30 små funktioner der hjælper med alle mulige snævert definerede
opgaver.

Dem inkluderer jeg så efter behov.

Men jeg tænker at lave en klasse der så selv bare laver en require_once når
man beder den om ekstra funktioner så den er den eneste grænseflade mod dem.

Har I nogle forslag til en bedre løsning i den givne situation med 30
hjælpere?



 
 
Martin (01-12-2007)
Kommentar
Fra : Martin


Dato : 01-12-07 21:06

Jens Thomsen wrote:
> Jeg har en 30 små funktioner der hjælper med alle mulige snævert definerede
> opgaver.
>
> Dem inkluderer jeg så efter behov.
>
> Men jeg tænker at lave en klasse der så selv bare laver en require_once når
> man beder den om ekstra funktioner så den er den eneste grænseflade mod dem.
>
> Har I nogle forslag til en bedre løsning i den givne situation med 30
> hjælpere?

Ved ikke lige hvad du mener, men du kan kigge på funktionen __autoload,
den autoloader klasser - uden man behøver requires eller includes.

<http://se2.php.net/__autoload>

Hvis det er små funktioner der returner et eller andet, så kan du lave
en statisk klasse til dem.

class Config {
public static function getName() {
return 'Hello World';
}

public static function doSomething($var) {
return 'Jeg gør noget ved ' . $var;
}
}

Så kan det hentes ved at skrive
echo Config::getName();
echo Config::doSomething('min mave');

Jens Thomsen (02-12-2007)
Kommentar
Fra : Jens Thomsen


Dato : 02-12-07 15:15

> Ved ikke lige hvad du mener

Nej, det var heller ikke præcist formuleret.

Jeg har 30 funktioner, deklareret med function bla() osv, som jeg laver en
require på og anvender.

Jeg ønsker een klasse, som man kan tilgå disse igennem og som kun loader
disse funktioner efter behov.
En require_once mm. i klassen er ikke optimalt fordi funktionen ¨så bliver
globalt tilgængelig og ikke kun igennem klassen.

Jeg har set på create_function, men så mister jeg muligheden for at have
funktionerne liggende som individuelle funktioner (med function bla()), og
skal have koden direkte liggende.

Man skal nok have forsøgt det samme som mig for at forstå ovenstående
ramblings



Bertel Lund Hansen (02-12-2007)
Kommentar
Fra : Bertel Lund Hansen


Dato : 02-12-07 17:58

Jens Thomsen skrev:

> Jeg ønsker een klasse, som man kan tilgå disse igennem og som kun loader
> disse funktioner efter behov.
> En require_once mm. i klassen er ikke optimalt fordi funktionen ¨så bliver
> globalt tilgængelig og ikke kun igennem klassen.

Jeg kan ikke se hvorfor Martins forslag ikke opfylder dine krav.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Martin (02-12-2007)
Kommentar
Fra : Martin


Dato : 02-12-07 18:19

Jens Thomsen wrote:
>> Ved ikke lige hvad du mener
>
> Nej, det var heller ikke præcist formuleret.
>
> Jeg har 30 funktioner, deklareret med function bla() osv, som jeg laver en
> require på og anvender.
>
> Jeg ønsker een klasse, som man kan tilgå disse igennem og som kun loader
> disse funktioner efter behov.
> En require_once mm. i klassen er ikke optimalt fordi funktionen ¨så bliver
> globalt tilgængelig og ikke kun igennem klassen.

ALLE PHP filer bliver loadet i hukommelsen inden brug - og alt indholdet
bliver gemt. - En funktion eller en klasse bliver dog ikke eksekveret
uden at kalde dem.

>
> Jeg har set på create_function, men så mister jeg muligheden for at have
> funktionerne liggende som individuelle funktioner (med function bla()), og
> skal have koden direkte liggende.

Behold du bare dine 30 funktioner! - ingen grund til at optimerer på det
område, og slet ikke til noget som ingen kan bygge videre på, og som du
selv sikkert ville miste overblikket over på et øjeblik.

De filer jeg som inkluderer, inkluderer jeg altid fra min config fil -
så kan jeg lave ligeså mange inkluderinger i den fil som jeg nu har løst
til, uden at skulle ind og ændre i filerne.

index.php
---
require('config.php');

config.php
---
/*** alle dine database oplysninger, server oplysninger osv osv ***/
require('include/functions.inc.php');

>
> Man skal nok have forsøgt det samme som mig for at forstå ovenstående
> ramblings

Har været der, men der er heldigvis hoppet over til klasser nu, så det
hele er ordnet og til at finde rundt i selv om projektet vokser over
hovedet på en.

Jens Thomsen (02-12-2007)
Kommentar
Fra : Jens Thomsen


Dato : 02-12-07 19:51

> Behold du bare dine 30 funktioner! - ingen grund til at optimerer på det
> område, og slet ikke til noget som ingen kan bygge videre på, og som du
> selv sikkert ville miste overblikket over på et øjeblik.


Jeg tror sådan set ikke jeg mister overblikket, men derimod opnår jeg det.

Jeg får central styring af rettigheder til funktioner, og en klasse der
holder styr på dem alle og kan sende mig en liste over tilgængelige
funktioner, deres input/output parametre mm, og som er plug-in baseret ved
blot at smide en funktion (evt. med noget POD/markup) i en mappe.

Jeg kan komme omkring problemet ved at lave alle funktionerne til klasser og
lade Util klassen styre dem, men ville egentligt gerne bevare simpliciteten
ved at have dem som funktioner (forskellen er minimail, I know )



Martin (02-12-2007)
Kommentar
Fra : Martin


Dato : 02-12-07 22:13

Jens Thomsen wrote:
>> Behold du bare dine 30 funktioner! - ingen grund til at optimerer på det
>> område, og slet ikke til noget som ingen kan bygge videre på, og som du
>> selv sikkert ville miste overblikket over på et øjeblik.
>
>
> Jeg tror sådan set ikke jeg mister overblikket, men derimod opnår jeg det.
>
> Jeg får central styring af rettigheder til funktioner, og en klasse der
> holder styr på dem alle og kan sende mig en liste over tilgængelige
> funktioner, deres input/output parametre mm, og som er plug-in baseret ved
> blot at smide en funktion (evt. med noget POD/markup) i en mappe.

Tjaa... jeg har jo allerede vist dig hvordan en config klasse kunne se ud...

Men ellers så del dine funktioner op i hvad de hører til, og lig dem ind
i en klasse med det navn...

Jens Thomsen (02-12-2007)
Kommentar
Fra : Jens Thomsen


Dato : 02-12-07 22:52

> Tjaa... jeg har jo allerede vist dig hvordan en config klasse kunne se
> ud...

Jo, men den opfylder jo ikke mit behov
Ellers har jeg bestemt misforstået noget!




Martin (03-12-2007)
Kommentar
Fra : Martin


Dato : 03-12-07 06:33

Jens Thomsen wrote:
>> Tjaa... jeg har jo allerede vist dig hvordan en config klasse kunne se
>> ud...
>
> Jo, men den opfylder jo ikke mit behov

Så må du beskrive hvordan du ser dit projekt evt et sitemap eller et
directory map eller hvordan du nu vil forklare det :)

> Ellers har jeg bestemt misforstået noget!

Ellers har jeg?!

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste