Als je 0 invoert of leeg laat is de $_POST of $_GET nog steeds true bij isset, aangezien deze nog wel meegegeven worden. Check dan op empty of hetgeen je er denkt te verwachten.quote:Op zaterdag 27 september 2008 14:54 schreef GlowMouse het volgende:
[..]
Wat als iemand code 0 invoert, of het e-mailadresveld leeglaat? Zoiets check je in het algemeen later pas, en dan heb je nu wel isset nodig.
Dat is ook ongeveer wat ik wil, maar ook wil ik middels de plugins bepaalde gegevens kunnen achterhalen van de hoofdmodule en bepaalde acties kunnen triggeren (bv data validatie, data streams aanpassen etc)quote:Op vrijdag 26 september 2008 19:32 schreef GVRuud het volgende:
Heel simpel gezegd heb ik een database waarin een aantal plugin-namen staan opgeslagen (welke geinstalleerd zijn zegmaar). Er bestaat een map/php bestand met diezelfde naam, en bij het inladen van de plugins word dat bestand geincluded. Dezelfde pluginnaam is ook de daadwerkelijke klasse-naam die je dus kunt aanroepen.
Aan het begin van je script zou je dus alle bestanden kunnen includen die in de plugin-tabel staan, maar in mijn eigen CMS wordt dat pas gedaan wanneer dit daadwerkelijk nodig is zodat ik niet teveel onnodige zooi in hoef te laden.
1 2 3 4 5 | FROM PRES_HOBBY P1, PRES_HOBBY P2 WHERE (SELECT COUNT(*) FROM PRES_HOBBY WHERE P1.PRES_NAME = PRES_NAME) = (SELECT COUNT(*) FROM PRES_HOBBY WHERE P2.PRES_NAME = PRES_NAME) AND NOT P1.PRES_NAME = P2.PRES_NAME AND (SELECT HOBBY FROM PRES_HOBBY WHERE PRES_NAME = P1.PRES_NAME) =ALL (SELECT HOBBY FROM PRES_HOBBY WHERE PRES_NAME = P2.PRES_NAME) |
Ondanks de argumenten van GlowMouse en mij? Heb je daar een reden voor?quote:Op zondag 28 september 2008 07:36 schreef Likkende_Lassie het volgende:
Ik vind dat hele vereiste van die isset functie maar onzin!
Uiteraard maar in de opdracht (is voor school), staat dat niet naar efficientie/performance wordt gekeken.quote:Op zondag 28 september 2008 11:36 schreef GlowMouse het volgende:
Er staat vaak PRES_NAME zonder tabelaanduiding in je queries. Het is mij onduidelijk op welke tabel dat slaat.
Die laatste where zou ik doen met verzamelingen. De ene MINUS de ander, en de ander MINUS de ene moet leeg zijn. Hier je een MINUS implementeert staat hier uitgelegd.
Ik hoop dat je wel doorhebt dat een query als deze de performance sterk beïnvloedt.
1 2 3 4 5 | FROM PRES_HOBBY P1, PRES_HOBBY P2 WHERE (SELECT COUNT(*) FROM PRES_HOBBY P4 WHERE P1.PRES_NAME = P4.PRES_NAME) = (SELECT COUNT(*) FROM PRES_HOBBY P5 WHERE P2.PRES_NAME = P5.PRES_NAME) AND NOT P1.PRES_NAME = P2.PRES_NAME AND (SELECT HOBBY FROM PRES_HOBBY P6 WHERE P6.PRES_NAME = P1.PRES_NAME) =ALL (SELECT HOBBY FROM PRES_HOBBY P7 WHERE P7.PRES_NAME = P2.PRES_NAME) |
Ik heb zelf een soort van basisplugin-klasse gemaakt via welke alle cms-brede onderdelen/gegevens (zoals db toegang, settings ed) toegankelijk zijn. Op het moment dat ik een nieuwe plugin schrijf, wordt deze afgeleid van de basisklasse en heb ik dus standaard alle basisfunctionaliteit beschikbaar zodat ik meteen aan de daadwerkelijke plugin kan beginnen.quote:Op zondag 28 september 2008 10:39 schreef Chandler het volgende:
[..]
Dat is ook ongeveer wat ik wil, maar ook wil ik middels de plugins bepaalde gegevens kunnen achterhalen van de hoofdmodule en bepaalde acties kunnen triggeren (bv data validatie, data streams aanpassen etc)
Ik was ook eens aan het kijken, wat ik hier o.a. lees over plugins, waarin alles in een database gekwakt wordt..quote:Op maandag 29 september 2008 11:19 schreef Chandler het volgende:
Maar heb je ook wat leesvoer m.b.t. een plugin systeem te maken? een opzet vanwaaruit ik iets kan proberen te maken?
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 | abstract class BasePlugin { protected $db; public function __construct() { $this->db = DatabaseSingleton::getInstance(); // Etc... } abstract public function execute(); } class BlaatPlugin extends BasePlugin { public function execute() { // Via $this->db kan ik vanalles op de database querien echo "BlaatPlugin wordt uitgevoerd!"; } } class SchaapPlugin extends BasePlugin { public function execute() { // Via $this->db kan ik vanalles op de database querien echo "SchaapPlugin wordt uitgevoerd!"; } } $plugins = array(); $plugins[] = new BlaatPlugin(); $plugins[] = new SchaapPlugin(); foreach( $plugins as &$plugin ) { $plugin->execute(); } ?> |
1 2 | SchaapPlugin wordt uitgevoerd! |
1 2 3 4 | $plugin = $pluginManager->getPluginInstance("VerifyContent"); $content = $plugin->execute($content); ?> |
1 2 3 4 5 6 7 8 | DISTINCT(keyword) as keyword, SUM(clicks) AS clicks, SUM(accounts) AS accounts, SUM(trials) AS trials, SUM(sales) AS sales FROM sales ORDER BY sales ASC;"; |
1 |
thanks het werktquote:Op dinsdag 30 september 2008 11:11 schreef DionysuZ het volgende:
SUM() is een group by functie. Als je deze zonder GROUP BY gebruikt krijg je uiteraard 1 resultaat terug
Daar voor heb je de manager.quote:Op dinsdag 30 september 2008 09:18 schreef Chandler het volgende:
Dat snap ik, maar stel ik wil plugins gebruiken op bepaalde plaatsen, bv om content te veriferen, of data uit te lezen, dan is het niet handig om het zo te executen..
Ik heb zelf nog weer een poging gedaan om hier wat over te vinden qua stof om te lezen maar helaas
Dat zou ik idd kunnen doen, denk dat ik wordpress maar eens ga doornemen qua code, deze gebruikt namelijk ook plugins die echt overal in te gebruiken zijnquote:Op dinsdag 30 september 2008 11:00 schreef GVRuud het volgende:
Je zou dan zo iets kunnen doen?
[ code verwijderd ]
In getPluginInstance laad je de betreffende plugin in met een include, en return je een instance van de betreffende class.
Als je dat eens wilt doen, super!quote:Op dinsdag 30 september 2008 12:51 schreef super-muffin het volgende:
Daar voor heb je de manager.Als ik thuis ben zal ik eens een voorbeeld posten.
En probeer zelf ook eens wat uit intussen
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |