Mijn probleem heeft niet specifiek iets met watermarks te maken.quote:Op donderdag 26 maart 2009 21:17 schreef Catch22- het volgende:
@Superrembo, ik ben daar ook eens mee bezig geweest. Is echt vrij gaar om te doen. Helemaal als je met verschillende bestandsformaten werkt.
http://www.hotscripts.com/listing/image-resize-and-watermark/
is dat wat? googlede ik zo even
ja, maar vaak gaan die standaardscripts uit van transparante pngs voor een watermerk, dus dan zit je gelijkt goedquote:Op donderdag 26 maart 2009 22:34 schreef SuperRembo het volgende:
[..]
Mijn probleem heeft niet specifiek iets met watermarks te maken.
Het probleem is dat imagecopymerge de alpha-transparantie weg gooit. Imagecopy doet het wel goed, maar daar heb je niet de mogelijkheid om de transparantie van het hele plaatje aan te passen.
dit is gewoon basissemantiek hoor.quote:Op donderdag 26 maart 2009 21:06 schreef klusmeister het volgende:
[..]in html is het voor mij geen probleem, maar in php krijg ik het (nog
) niet voor elkaar om ze om te draaien, krijg continue parse error expected enz
Alleen als "weer" een constante is. Het is iig geen variabele, want er staat geen $ voor. En het is geen functie, want er staat geen () achter. Het is ook geen string, want die moet tussen quotjes staan.quote:Op donderdag 26 maart 2009 23:56 schreef Dawnbreaker het volgende:
nvm opgelost:
<a href="<?php echo $siteurl.weer;?>"> linkje </a> is de correcte php code
1 |
Idd, maar op 1 pagina komen 100derden links, dan wordt het qua code erg onoverzichtelijk..quote:Op donderdag 26 maart 2009 21:17 schreef Light het volgende:
[..]
Je kunt ook eerst php afsluiten, dan je html doen, en dan php weer openen. Scheelt je een hoop gedoe met " en '
Thanks, ga wel eens ff kijken!quote:Op donderdag 26 maart 2009 16:43 schreef hoerezooi het volgende:
[..]
gebruik het zend framework welke in zich heel veel gebruikt maakt van patterns oa singeltons, factory's,chain of command, mvc.
1 2 3 | echo '<a target="blank" rel="nofollow" href="'.$row['http_www_website'].'" onClick="javascript: pageTracker._trackPageview(\'/outgoing/auto_accessoires/'.$row['www_website'].')"\'>'.$row['website'].'</a><br />'; ?> |
Als je door de enorm lange code niet meer ziet wat je aan het doen bent, breek het dan gewoon op in begrijpelijke stukken! Zo ziet je code er uit als je het opbreekt in een paar logische stukken:quote:Op vrijdag 27 maart 2009 09:41 schreef klusmeister het volgende:
Met deze code:
[ code verwijderd ]
komt het er zo:
[ afbeelding ]
uit te zien.. bijna(?) dus, iemand nog een idee wat ik kan proberen om de uitgaande klik goed te kunnen meten?
1 2 3 4 5 6 | $url = $row['http_www_website']; $onclick = 'javascript: pageTracker._trackPageview(\'/outgoing/auto_accessoires/'.$row['www_website'].')'; $linkText = $row['website']; echo '<a target="blank" rel="nofollow" href="'.$url.'" onClick="'.$onclick.'"\'>'.$linkText.'</a><br />'; ?> |
Ook dan blijf ik met het ' verhaal zitten.quote:Op vrijdag 27 maart 2009 11:07 schreef Roy_T het volgende:
Met Rembo eens. Wel een typo op regel 5: een \' die er niet hoort(na de onclick)
En net omdat ik de fout niet kan ontdekken kwam ik hier voor hulp..quote:Op vrijdag 27 maart 2009 11:25 schreef SuperRembo het volgende:
Ik heb de code alleen opgeknipt in logische stukken. Alle fouten staan er inderdaad nog in.
Maar dat kan je toch ook in je voordeel gebruiken, door de broncode uit FF te kopieren? Want die is dan al "gefixed" of werkt dat niet?quote:Op vrijdag 27 maart 2009 10:16 schreef ralfie het volgende:
je moet de laatste 'en " nog omdraaien
Mag ik je een tip geven? als je broncode wil controleren, doe dit nooit in Firefox (als het gaat om quotes ed). Sure, het ziet er overzichtelijker uit, maar Firefox heeft de neiging om de broncode her en der al wat te fixen, door elementen en quotes en dergelijke toe te voegen en weg te halen. Ben er al vaker ingetuind, uren mn php doorgespit waar dat ene element of quoteje nou vandaan komt...
De broncode van Firefox is niet 100% dat wat de browser van de server krijgt, dat van bijvoorbeeld internet explorer is dat altijd wel. Ik gebruik IE nooit, behalve voor broncode's...
Nee helemaal niet, integendeel, soms is een zet in de goede richting erg fijn, ik ben alweer een stuk verder gekomen door eerder advies hier.quote:Op vrijdag 27 maart 2009 11:31 schreef SuperRembo het volgende:
Wil je een paar tips om fouten op te sporen en in de toekomst te voorkomen, of heb je liever dat iedereen telkens al je typfoutjes komt fixen
Firebug wel, maar Firefox "view source" niet.quote:Op vrijdag 27 maart 2009 10:16 schreef ralfie het volgende:
Sure, het ziet er overzichtelijker uit, maar Firefox heeft de neiging om de broncode her en der al wat te fixen, door elementen en quotes en dergelijke toe te voegen en weg te halen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class Modules { var $modules = array(); function __construct() { $dir = opendir("../modules"); while (false !== ($file = readdir($dir))) { if (is_dir("../modules/$file") && !preg_match("/\.\.?/", $file)) { $mod = new Module($file); array_push($this->modules, $mod); } } } } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class Module { var $templatedir; var $linkname; function __construct($name) { $this->templatedir = "../modules/".$td."/templates"; if(file_exists("../modules/$name/$name.php")) require("../modules/$name/$name.php"); if(file_exists("../modules/$name/$name_admin.php")) require("../modules/$name/$name_admin.php"); } function getModuleByName($name) { foreach($this->modules as $module) { if ($module->name == $name) { return $module; } } } } ?> |
1 2 3 | $modules->getModuleByName("agenda")->index($args); ?> |
Maak de Module class een extensie van een abstracte class met daarin functies die je extended class moet implementeren. Maak elke module class een unique naam, en instanieer deze. Dan hoef je alleen nog maar $modulenaam->index() te doen, zonder dat je via de getModuleByname() iets hoeft te doen.quote:Op vrijdag 27 maart 2009 14:18 schreef daReaper het volgende:
Ik zit wat te klooien met OO-programmeren, maar ik kom ergens niet helemaal uit.
Ik heb een site gemaakt, en aan die site wil ik modules kunnen toevoegen. Dit is enkel een directory met bestandjes, die je alleen maar aan de modules-directory hoeft toe te voegen, en het werkt al.
Nou heb ik een bestand modules.php met daarin de klasse Modules. Deze klasse kijkt in de modules directory om te zien welke modules er zijn.
[ code verwijderd ]
Zoals je daar ziet, wordt voor elke module weer een nieuw object aangemaakt van de klasse Module
[ code verwijderd ]
in deze module gaat het echter niet helemaal goed.
In die includes wordt ten eerste $this->linkname bepaald, wat geen probleem is. Er staat (staan) echter ook functies in, in elk geval de functie index($args). Hoe kan ik er nou voor zorgen dat deze functies gewoon onderdeel worden van het nieuw aangemaakte object? Beetje moeilijk uit te leggen allemaal, maar uiteindelijk wil ik in het hoofdscript het volgende stukje script gebruiken:
[ code verwijderd ]
Ik hoop dat het een beetje begrijpelijk is... Hoe kan ik dit oplossen?
Ik vrees dat ik het niet helemaal snap :@ Ben nog een beetje een beginner met OOP.quote:Op vrijdag 27 maart 2009 14:23 schreef Scorpie het volgende:
[..]
Maak de Module class een extensie van een abstracte class met daarin functies die je extended class moet implementeren. Maak elke module class een unique naam, en instanieer deze. Dan hoef je alleen nog maar $modulenaam->index() te doen, zonder dat je via de getModuleByname() iets hoeft te doen.
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 | class Modules implements IteratorAggregate { var $modules = array(); function __construct() { $dir = opendir("../modules"); while (false !== ($file = readdir($dir))) { if (is_dir("../modules/$file") && !preg_match("/\.\.?/", $file)) { if(file_exists("../modules/$file/$file.php")) require("../modules/$file/$file.php"); if(file_exists("../modules/$file/$file_admin.php")) require("../modules/$name/$name_admin.php"); $mod = new $file(); array_push($this->modules, $mod); } } } public function getIterator() { return new MyIterator($this->modules); } function getModuleByName($name) { foreach($this->modules as $module) { if ($module->name == $name) { return $module; } } } } $modules = new Modules(); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | class Module { var $templatedir; var $linkname; var $name; function __construct($name) { $this->templatedir = "../modules/".$td."/templates"; $this->name = $name; } } ?> |
1 2 3 4 5 6 7 8 9 | $this->linkname = "Agenda"; class agenda implements Module { function index($args) { [...] } } ?> |
Een interface is wat anders dan een abstrace class.quote:Op vrijdag 27 maart 2009 14:51 schreef daReaper het volgende:
[..]
Ik vrees dat ik het niet helemaal snapBen nog een beetje een beginner met OOP.
Die getModuleByName() wil ik eigenlijk wel houden. Ik heb zojuist ook een functie op php.net gevonden die ik in mijn Modules klasse kon stoppen, zodat ik een foreach() op de $modules kan gooien, waarbij $modules dan elke keer een nieuwe module returnt.
Ik snap alleen niet zo goed wat dat eerste is, wat je daar zegt. Mijn Modules klasse ziet er nu zo uit:
[ code verwijderd ]
de Module klasse ziet er zo uit:
[ code verwijderd ]
Agenda.php:
[ code verwijderd ]
Maar dit geeft een error: Fatal error: agenda cannot implement Module - it is not an interface in C:\severjanin\modules\agenda\agenda.php on line 4
Zoals ik al zei: ik ben nog een beetje een beginneling hierin. Wat houdt dat "interface" in?
Waarom zou je dat willen houden? Het is een dure operatie die eigenlijk onnodig is, aangezien je al de naam weet van de module die je wilt aanspreken. Dan heeft het geen zin om IEDERE keer weer die modules lijst op te halen en aan te spreken, roep dan direct de controller van de module zelf aan.quote:Op vrijdag 27 maart 2009 14:51 schreef daReaper het volgende:
[..]
Ik vrees dat ik het niet helemaal snapBen nog een beetje een beginner met OOP.
Die getModuleByName() wil ik eigenlijk wel houden. Ik heb zojuist ook een functie op php.net gevonden die ik in mijn Modules klasse kon stoppen, zodat ik een foreach() op de $modules kan gooien, waarbij $modules dan elke keer een nieuwe module returnt.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |