Waar anders .quote:
OMG... ik had toch wel beter verwacht van Tweakers....quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class database { function __construct() { // doe iets } function __autoLoad() { // check config en maak eventueel een connectie met de database } } ?> |
1 2 3 4 5 6 7 | include $file; $registry->$classname = new $classname; // kijk of functie bestaat en starten maar // bv $registry->$classname->__autoLoad(); ?> |
Gewoon, met functie bestaat.quote:Op dinsdag 21 juli 2009 11:32 schreef Chandler het volgende:
hoe kan ik er achter komen of deze functie bestaat?
En dan nog is een functienaam laten beginnen met __ niet handig. Alles met __ is al bij voorbaat gereserveerd voor php zelf. Het gedrag van de functie __autoload() is al gedefinieerd.quote:Op dinsdag 21 juli 2009 12:02 schreef SharQueDo het volgende:
Ik vind dat een beetje een Google-vraag. "php function exists", 1e hit.
Wat je ook kan doen als je wil dat een __autoLoad();-functie verplicht wordt, is een interface maken en die implementen. Als het een optionele functie betreft dan kun je dat prima met function_exists(); doen.
Ik zou niet wachten met het geven van een andere naam. En als je dan toch bezig bent, kun je ook meteen eens kijken of je misschien access modifiers (public, private, protected) kunt gebruiken.quote:Op dinsdag 21 juli 2009 12:51 schreef Chandler het volgende:
Ik wil dus binnen een class kijken of deze functie bestaat, want in meerdere classes kun je dezelfde functie hebben toch? en dan wil ik als deze functie bestaat deze functie laden
ik zal de functie tzt een andere benaming geven, lijkt mij idd handiger aangezien deze al gereserveerd is.
Waar heb je die gevonden?quote:
Je hebt gelijk, ik heb er maar __autoStart() van gemaakt en ben zelf nog niet helemaal op de hoogte m.b.t. public/private/protected etc en de mogelijkheden daarvanquote:Op dinsdag 21 juli 2009 13:05 schreef Light het volgende:
Ik zou niet wachten met het geven van een andere naam. En als je dan toch bezig bent, kun je ook meteen eens kijken of je misschien access modifiers (public, private, protected) kunt gebruiken.
http://nl2.php.net/manual/en/language.oop5.autoload.php <-- daar ergensquote:Waar heb je die gevonden?
Maak er dan _autoStart() van. Alles met twee underscores aan het begin is alvast gereserveerd door PHP voor eventuele magische functies. Gewoon niet gebruiken dus, tenzij je de gedocumenteerde magische functionaliteit wilt hebben.quote:Op dinsdag 21 juli 2009 13:13 schreef Chandler het volgende:
[..]
Je hebt gelijk, ik heb er maar __autoStart() van gemaakt en ben zelf nog niet helemaal op de hoogte m.b.t. public/private/protected etc en de mogelijkheden daarvan
quote:Op zaterdag 18 juli 2009 16:17 schreef Swetsenegger het volgende:
Had ik al verteld dat ik een schurft hekel aan multiple array's heb?
Dit komt uit mijn query rollen:
[ code verwijderd ]
En daar wil ik het volgende van maken
[ code verwijderd ]
Maar dit:
[ code verwijderd ]
levert alleen het laatste artikel op, dus
[ code verwijderd ]
Dat komt natuurlijk doordat ik in de whilelus m'n array opbouw en ik die dus elke keer met het laatste artikelcode opnieuw opbouw. Maar als ik in de else $artikel=array(.... vervang door $artikel[]=array(... klopt het ook niet, want dan wordt de array 3 levels diep en is mijn artId niet meer de key van het 2e level array.
Iemand een idee?
1 2 3 4 5 6 7 | class test() { private $filesArray = array(PATH_SYSTEM . 'config.php', PATH_CONTROLLER . 'class.registry.php'); } ?> |
1 2 3 | preg_match("/(title)\s*=\s*[\'\"]?(([[a-z]{3,5}:\/\/(([.a-zA-Z0-9-])+(:[0-9]+)*))*([+:%\/\?~=&;\\\(\),._ a-zA-Z0-9-]<img class="rde_img_smiley" src="http://i.fok.nl/s/shiny.gif" width="15" height="15" alt="" />)(#[.a-zA-Z0-9-]<img class="rde_img_smiley" src="http://i.fok.nl/s/shiny.gif" width="15" height="15" alt="" />?[\'\" ]?(\s*rel\s*=\s*[\'\"]?(nofollow)[\'\"]?)?/i", $htmlTag, $regs); ?> |
Kijk eens goed naar de manier waarop je arrays moet aanmaken in PHP.quote:Op dinsdag 21 juli 2009 13:52 schreef Chandler het volgende:
Heb ik ook nog wat anders, hoe kan ik in classes (voor de eerste functie) private array's aanmaken met constants in gebruik?
[ code verwijderd ]
nu krijg ik een error m.b.t het puntje. (oftewel kan geen strings aan elkaar plakken op een of andere manier?)
Leuk voorbeeld op die pagina ookquote:Op donderdag 23 juli 2009 13:25 schreef Scorpie het volgende:
[..]
Kijk eens goed naar de manier waarop je arrays moet aanmaken in PHP.
http://fr.php.net/manual/en/language.types.array.php
Tip: Arrays zijn key-value pairs.
1 2 3 4 5 | // Create a simple array. $array = array(1, 2, 3, 4, 5); print_r($array); ?> |
Bron: http://www.phpbuilder.com/board/archive/index.php/t-10347007.htmlquote:I've come up with this:
^[a-zÀ-ÿ][\'a-zÀ-ÿ \-]*$
Apart. Ik kan me toch echt herinneren dat key-value pairs leading is. Nou ja.quote:Op donderdag 23 juli 2009 13:27 schreef GlowMouse het volgende:
[..]
Leuk voorbeeld op die pagina ook
[ code verwijderd ]
1 2 3 4 5 6 7 | class test() { private $filesArray = array(PATH_SYSTEM . 'config.php', PATH_CONTROLLER . 'class.registry.php'); } ?> |
1 2 3 4 5 6 | $foo[bar] = 'enemy'; echo $foo[bar]; // etc ?> |
die lijkt te werken!quote:Op donderdag 23 juli 2009 13:29 schreef HuHu het volgende:
Ik weet het niet precies, maar misschien heb je hier wat aan: http://www.regular-expressions.info/unicode.html
Ook vind ik dit:
[..]
Bron: http://www.phpbuilder.com/board/archive/index.php/t-10347007.html
Dan is de character-encoding van je broncode bestand anders.quote:Op donderdag 23 juli 2009 13:38 schreef Likkende_Lassie het volgende:
[..]
die lijkt te werken!
Echter krijg ik
rià terug ipv ë
dit staat in de header: header('Content-Type: text/html; charset=iso-8859-1');
De initiele waarde moet een vaste waarde zijn. Je kunt geen operators als + of . gebruiken en ook functie-aanroepen gaan niet werken. Dus wat jij wilt moet je in de constructor doen.quote:Op dinsdag 21 juli 2009 13:52 schreef Chandler het volgende:
nu krijg ik een error m.b.t het puntje. (oftewel kan geen strings aan elkaar plakken op een of andere manier?)
Klopt inderdaad, daar kwam ik ook achter. Beetje jammer maar goed; regels zijn regels en dan moet ik het inderdaad maar in de constructor zetten.quote:Op donderdag 23 juli 2009 14:36 schreef Light het volgende:
[..]
De initiele waarde moet een vaste waarde zijn. Je kunt geen operators als + of . gebruiken en ook functie-aanroepen gaan niet werken. Dus wat jij wilt moet je in de constructor doen.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |