1 2 3 4 5 6 7 | mysql> SELECT COUNT(*) FROM scan_data; +----------+ | COUNT(*) | +----------+ | 2165042 | +----------+ 1 row in set (0.00 sec) |
Dat bedoel ik inderdaad, vind het eerlijker.. eventueel wil ik ook gaan werken met het geven van prioriteit van projecten, dus bv project A 100% maar project B 50% en eventueel project C 25% en als het even kan project D 75% oid... en daar dan tussen switchenquote:Op woensdag 22 mei 2013 11:52 schreef Maringo het volgende:
Dus eigenlijk een multidimensionale array zoals dit:
[ code verwijderd ]
En dan nadat user 1 klaar is met de eerste website wordt ie achteraan gezet en wordt user2 de eerste volgende etc etc.
Dan worden de websites in deze volgorde verwerkt:
website1a
website2a
website3a
website1b
website3b
website1c
Dat bedoel je toch?
1 | SELECT column FROM table WHERE stringvar in ('string1, 'string2', 'string3', ...); |
1 | SELECT column FROM table WHERE stringvar in (); |
Ik zou, indien IN() leeg is, überhaupt de query niet uitvoeren, maar dit afvangen in je code.quote:Op woensdag 22 mei 2013 18:16 schreef MichielPH het volgende:
Voor Android / sqlite heb ik een algoritme geschreven die dit produceert:
[ code verwijderd ]
Echter, het kan zijn dat dit een uitkomst is:
[ code verwijderd ]
Heb het getest in 4.1, daar kreeg ik een Cursor met lengte 0 terug, zoals verwacht. Gaat dit altijd goed?
Zolang je maar goede indexen gebruikt, mag het geen al te groot probleem zijn. Dat doet meer dan periodiek opschonen.quote:Op woensdag 22 mei 2013 17:22 schreef KomtTijd... het volgende:
procesgegevens van machines aan het loggen.
Had van te voren geen idee hoe snel de de data zou gaan groeien en watvoor performance impact dat zou hebben, maar tot nu toe met een goeie 2 miljoen records gaat het vrij aardig.
En da's ook ruim genoeg want van de meeste machines heb ik de gegevens van 2 jaar terug tot nu erin staan, terwijl 2 maanden al voldoende zou zijn. Dus mocht de database het toch moeilijk gaan krijgen ga ik gewoon periodiek opschonen.
Zo blijkens. Voor mij is het een ervering die ik rijker ben.quote:Op donderdag 23 mei 2013 00:18 schreef Light het volgende:
[..]
Zolang je maar goede indexen gebruikt, mag het geen al te groot probleem zijn. Dat doet meer dan periodiek opschonen.
Er zal toch iets geechoed moeten worden om output te genereren, of er moeten alleen soap requests verwerkt worden.quote:Op donderdag 23 mei 2013 11:02 schreef Crutch het volgende:
Hey hallo,
Even een vraagje.
Stel je werkt als webdeveloper met PHP, maar je gebruikt geen echo's om HTML uit te poepen.
Ik denk zelfs dat er gebruik gemaakt wordt van xsl(t).
Zijn daar frameworks voor? Ik kom niks tegen.
Het gaat om een soort 'desktop like application' framework.
Je moet toch een keertje iets uitpoepen? Of je gebruikt phtml includes waar je de waardes genereerd, maar doet wordt toch ook op een bepaalde manier geprint.quote:Op donderdag 23 mei 2013 11:02 schreef Crutch het volgende:
Hey hallo,
Even een vraagje.
Stel je werkt als webdeveloper met PHP, maar je gebruikt geen echo's om HTML uit te poepen.
Ik denk zelfs dat er gebruik gemaakt wordt van xsl(t).
Zijn daar frameworks voor? Ik kom niks tegen.
Het gaat om een soort 'desktop like application' framework.
quote:Op donderdag 23 mei 2013 12:42 schreef ViPeRII het volgende:
[..]
Er zal toch iets geechoed moeten worden om output te genereren, of er moeten alleen soap requests verwerkt worden.
xsl is eigenlijk xml, en moet ook worden geechoed.
Sommige developers gebruiken echter liever print.
Ook daar niks van te zien?
Edit: toevoegin: een schrijf actie naar php://output kan overigens ook nog.
Ja ik denk dus dat er xsl geöutput wordt met een xsl-template.quote:Op donderdag 23 mei 2013 12:49 schreef Pakspul het volgende:
[..]
Je moet toch een keertje iets uitpoepen? Of je gebruikt phtml includes waar je de waardes genereerd, maar doet wordt toch ook op een bepaalde manier geprint.
Dan is het Dom injection.. tsja, goed dat ik zie ik ook als echo..quote:Op donderdag 23 mei 2013 12:51 schreef slacker_nl het volgende:
Hoezo, je php returned dan toch gewoon xml-datastructuren, waarom zou je dan dan echo of print moeten gebruiken?
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 | <?php class Foo { protected static $_Instance; protected function __construct() { } final public function __clone() { trigger_error( "Cannot clone instance of Singleton pattern ...", E_USER_ERROR ); } final public function __wakeup() { trigger_error('Cannot deserialize instance of Singleton pattern ...', E_USER_ERROR ); } final public static function GetInstance() { if ( self::$_Instance === null ) { self::$_Instance = new static(); } return self::$_Instance; } } class Bar extends Foo { } ?> |
quote:Op donderdag 23 mei 2013 12:57 schreef KomtTijd... het volgende:
Wat wil je doen dan? Een desktop-applicatie schrijven in PHP? Daarvoor lijkt PHP me een uitermate slechte keuze.
Als je dan toch bij PHP wilt houden, installeer dan een combinatie van webserver, internetbrowser en draai daarop je webapp.
Ik zal even wat informatie inwinnen en dan kom ik erop terug.quote:Op donderdag 23 mei 2013 13:07 schreef ViPeRII het volgende:
[..]
Dan is het Dom injection.. tsja, goed dat ik zie ik ook als echo..
Dan is het geen singleton meer :-)quote:Op donderdag 23 mei 2013 13:07 schreef Pakspul het volgende:
Mocht iemand nog een overerfbare singleton zoeken.
wacht even, een return $xml_object is voor jou een echo $xml_object->as_string?quote:Op donderdag 23 mei 2013 13:07 schreef ViPeRII het volgende:
[..]
Dan is het Dom injection.. tsja, goed dat ik zie ik ook als echo..
Nee, dat was niet wat ik bedoeldequote:Op donderdag 23 mei 2013 13:32 schreef slacker_nl het volgende:
[..]
wacht even, een return $xml_object is voor jou een echo $xml_object->as_string?
Wat dan?quote:
Is dat zo? Lomp, dan gebruik ik dus een hybrid versie? Naja, het werkt voor zijn doel dus dat is goed.quote:Op donderdag 23 mei 2013 13:31 schreef rekenwonder het volgende:
[..]
Dan is het geen singleton meer :-)
Dat is niet nodig bij een singleton class in php (single threaded).quote:Op donderdag 23 mei 2013 14:14 schreef rekenwonder het volgende:
Niet overerfbaar, niet overerfbaar... Het is by design.
Denk je nog even aan je locking-issue? :-)
Wat ons op de vraag brengt: wat is het nut van een singleton in php? :-)quote:Op donderdag 23 mei 2013 14:18 schreef zoem het volgende:
[..]
Dat is niet nodig bij een singleton class in php (single threaded).
Het nut? Tja, dat is discutabel. Het kan in speciale gevallen handig zijn, maar over het algemeen is het singleton pattern in php niet noodzakelijk. Hoe dan ook: 'use the right tool for the right job'quote:Op donderdag 23 mei 2013 14:20 schreef rekenwonder het volgende:
[..]
Wat ons op de vraag brengt: wat is het nut van een singleton in php? :-)
Overigens zou ik liever niet uitsluiten dat iemand m'n code in een multi-threaded omgeving gaat gebruiken.
1 2 3 4 5 | <?php $pos = strpos($haystack, $needle); if (is_numeric($pos)) echo 'foo'; if ($pos !== false) echo 'bar'; ?> |
1 2 3 4 5 6 7 | <?php public function createFooBar($foo,$bar){ /** heel veel code **/ return true; exit; } ?> |
Dit... en anders zou ik nog eerder is_int() gebruiken dan is_numeric().quote:Op vrijdag 24 mei 2013 09:05 schreef Tijn het volgende:
De variant zonder function call lijkt me sneller. Dat is ook hoe het in de documentatie van PHP staat trouwens.
Op zich niet heel raar toch? zo'n functie kan prima wat data verwerken of wegschrijven ofzo, false returnen bij een error en true als hij helemaal doorlopen is.quote:Op vrijdag 24 mei 2013 09:08 schreef Sitethief het volgende:
OMG
Kom net dit tegen in de code
[ code verwijderd ]
Dead code.quote:Op vrijdag 24 mei 2013 09:49 schreef KomtTijd... het volgende:
[..]
Op zich niet heel raar toch? zo'n functie kan prima wat data verwerken of wegschrijven ofzo, false returnen bij een error en true als hij helemaal doorlopen is.
Dat vind ik toch wel een enorm nadeel aan talen als PHP hoor, ik gebruik resharper in Visual Studio en je ziet gelijk alle zaken die niet in gebruik zijn.quote:Op vrijdag 24 mei 2013 11:09 schreef Maringo het volgende:
Erger vind ik het als hele functies commented zijn. Er is niet voor niets iets als versiebeheer.
Ik kwam er net drie tegen . En wij gebruiken gewoon Git dus nodig is het niet echt. Veel erger zijn functies die dan in een keer naar xxxLalaFunctie en xxxTempDeleteDingus worden ombenoemd.quote:Op vrijdag 24 mei 2013 11:09 schreef Maringo het volgende:
Erger vind ik het als hele functies commented zijn. Er is niet voor niets iets als versiebeheer.
1 2 3 4 5 6 7 8 9 10 | <?php $ActionResult = $Items->createLala($foo,$bar,$lala,$lolo); if($ActionResult == true){ $result = array('foo'=>1,'bar'=>2); echo json_encode($result); }else{ $result = array('error' => "returnmessage"); echo json_encode($result); } ?> |
1 2 3 4 5 6 7 8 9 10 11 | <?php public function createLala($foo,$bar,$lala,$lolo){ /** veel code **/ if($conditie){ $result = array('error' => "foutcode"); echo json_encode($result); exit; } /** veel code **/ } ?> |
Bedoel je de comments of het versiebeheer als nadeel?quote:Op vrijdag 24 mei 2013 11:24 schreef raptorix het volgende:
[..]
Dat vind ik toch wel een enorm nadeel aan talen als PHP hoor, ik gebruik resharper in Visual Studio en je ziet gelijk alle zaken die niet in gebruik zijn.
Volgens mij bedoelt'ie eerder zijn development-omgeving als nadeel.quote:Op vrijdag 24 mei 2013 11:46 schreef Maringo het volgende:
[..]
Bedoel je de comments of het versiebeheer als nadeel?
Tuurlijk, voor grote sites maar voor kleine sites is dat totale overkillquote:Op vrijdag 24 mei 2013 11:09 schreef Maringo het volgende:
Erger vind ik het als hele functies commented zijn. Er is niet voor niets iets als versiebeheer.
En gelijk heeft hij, want het nadeel is dat je niet ff kunt zien of een functie wel of niet in de scripting wordt gebruikt, zou trouwens wel een vette feature zijn!quote:Op vrijdag 24 mei 2013 12:04 schreef KomtTijd... het volgende:
[..]
Volgens mij bedoelt'ie eerder zijn development-omgeving als nadeel.
Ik heb ook lang in scripting talen gewerkt, o.a. vbscript/asp en Perl, maar zeker als je echt grote projecten hebt (als in Funda) dan word het toch al snel vervelend, zeker als je in een groter team werkt. Ik kan nu bijvoorbeeld gewoon rechtermuis klik op een functie drukken, en zien waar alle usages voorkomen.quote:Op vrijdag 24 mei 2013 12:46 schreef Chandler het volgende:
[..]
Tuurlijk, voor grote sites maar voor kleine sites is dat totale overkill
[..]
En gelijk heeft hij, want het nadeel is dat je niet ff kunt zien of een functie wel of niet in de scripting wordt gebruikt, zou trouwens wel een vette feature zijn!
Inderdaad, dat heb ik nog niet zien voorkomen bij editors voor PHP of ik heb natuurlijk niet goed genoeg gekeken!.quote:Op vrijdag 24 mei 2013 12:51 schreef raptorix het volgende:
[..]
Ik heb ook lang in scripting talen gewerkt, o.a. vbscript/asp en Perl, maar zeker als je echt grote projecten hebt (als in Funda) dan word het toch al snel vervelend, zeker als je in een groter team werkt. Ik kan nu bijvoorbeeld gewoon rechtermuis klik op een functie drukken, en zien waar alle usages voorkomen.
C# is strongtyped he Dat maakt het er natuurlijk wel makkelijker op.quote:Op vrijdag 24 mei 2013 12:55 schreef Chandler het volgende:
[..]
Inderdaad, dat heb ik nog niet zien voorkomen bij editors voor PHP of ik heb natuurlijk niet goed genoeg gekeken!.
Je zou je kunnen afvragen of PHP dan ook de beste keus is.quote:Op vrijdag 24 mei 2013 12:51 schreef raptorix het volgende:
[..]
zeker als je echt grote projecten hebt (als in Funda) dan word het toch al snel vervelend, zeker als je in een groter team werkt
Dat kan met php ook, tot op zekere hoogte. Bijvoorbeeld met Eclipse/Zend Studio kan dat.quote:Op vrijdag 24 mei 2013 12:51 schreef raptorix het volgende:
[..]
Ik heb ook lang in scripting talen gewerkt, o.a. vbscript/asp en Perl, maar zeker als je echt grote projecten hebt (als in Funda) dan word het toch al snel vervelend, zeker als je in een groter team werkt. Ik kan nu bijvoorbeeld gewoon rechtermuis klik op een functie drukken, en zien waar alle usages voorkomen.
1 2 3 4 | <?php $className = 'My_Class'; $obj = new $className(); ?> |
Tjah, ik moet zeggen, dat ik nooit meer zou kunnen werken met PHP achtige talen, als je eenmaal gewend bent aan LINQ dan word je gek als het er niet meer isquote:Op vrijdag 24 mei 2013 13:05 schreef Tijn het volgende:
[..]
Je zou je kunnen afvragen of PHP dan ook de beste keus is.
Lijkt mij niet. Tijdje terug bezig geweest met een project waarbij 's nachts een 7-tal bestanden moesten worden uitgelezen, aan elkaar gekoppeld en in een database worden gestopt. Bij mijn eerste volledige test in PHP heb ik hem na 17 uur maar uitgezet terwijl ie nog maar ongeveer 19% had gedaan. Vervolgens hetzelfde in Python geschreven en die is binnen 12 minuten klaar.quote:Op vrijdag 24 mei 2013 13:05 schreef Tijn het volgende:
[..]
Je zou je kunnen afvragen of PHP dan ook de beste keus is.
Netbeans ondersteunt dit bij PHP gewoon, evenals een aantal refactor functies, zoals renamen van functies etc.quote:Op vrijdag 24 mei 2013 12:51 schreef raptorix het volgende:
[..]
Ik heb ook lang in scripting talen gewerkt, o.a. vbscript/asp en Perl, maar zeker als je echt grote projecten hebt (als in Funda) dan word het toch al snel vervelend, zeker als je in een groter team werkt. Ik kan nu bijvoorbeeld gewoon rechtermuis klik op een functie drukken, en zien waar alle usages voorkomen.
Ah nice, ik vind zelf de refactoring naar Linq queries extreem handig.quote:Op vrijdag 24 mei 2013 15:29 schreef Sitethief het volgende:
[..]
Netbeans ondersteunt dit bij PHP gewoon, evenals een aantal refactor functies, zoals renamen van functies etc.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php /** * $string = 'Héllo Çårmëñ, hôw árè yõü?' * returns 'Hello_Carmen_how_are_you' */ public static function stripSpecialChars($string) { $string = htmlentities($string, ENT_NOQUOTES, 'UTF-8'); $string = preg_replace('`&(.)(tilde|circ|grave|acute|uml|ring|cedil);`', '$1', $string); $string = preg_replace('/[^\w\d\s]/', '', $string); $string = str_replace(' ', '_', $string); return $string; } ?> |
Dat heeft weinig te maken met de taal PHP. Je moet gewoon een fatsoenlijke IDE gebruiken.quote:Op vrijdag 24 mei 2013 11:24 schreef raptorix het volgende:
[..]
Dat vind ik toch wel een enorm nadeel aan talen als PHP hoor, ik gebruik resharper in Visual Studio en je ziet gelijk alle zaken die niet in gebruik zijn.
Usage detection? Misschien moet je dan eens een andere editor dan Notepad gebruiken.quote:Op vrijdag 24 mei 2013 12:55 schreef Chandler het volgende:
[..]
Inderdaad, dat heb ik nog niet zien voorkomen bij editors voor PHP of ik heb natuurlijk niet goed genoeg gekeken!.
Zoals?quote:Op zaterdag 25 mei 2013 19:28 schreef Light het volgende:
Usage detection? Misschien moet je dan eens een andere editor dan Notepad gebruiken.
Zend Studio.quote:
Deze inderdaad. Heerlijke programma's hebben die lui. Ik gebruik er een aantal van met veel plezier.quote:
CURLOPT_HEADER gebruiken en kijken of er een "Location" header tussen zit.quote:Op zondag 26 mei 2013 20:50 schreef Chandler het volgende:
Weet iemand hoe je met curl kunt zien of een geladen URL een redirect is zonder deze te volgen met CURLOPT_FOLLOWLOCATION = false? want wil een redirect niet laden maar wel zien of er een redirect in de geladen url is gemaakt... die ik normaal gesproken kan volgen...
Top, ik ga het ff proberen!quote:Op zondag 26 mei 2013 21:24 schreef mstx het volgende:
[..]
CURLOPT_HEADER gebruiken en kijken of er een "Location" header tussen zit.
Een redirect is altijd een 3xx returncode, 200 is found. Daarnaar kijken?quote:Op zondag 26 mei 2013 20:50 schreef Chandler het volgende:
Weet iemand hoe je met curl kunt zien of een geladen URL een redirect is zonder deze te volgen met CURLOPT_FOLLOWLOCATION = false? want wil een redirect niet laden maar wel zien of er een redirect in de geladen url is gemaakt... die ik normaal gesproken kan volgen...
Probleem is/was dat ik met curl_getinfo gewoon een 200 krijg, daarna pas een header location oid!? maar goed...quote:Op zondag 26 mei 2013 21:41 schreef slacker_nl het volgende:
[..]
Een redirect is altijd een 3xx returncode, 200 is found. Daarnaar kijken?
Apart, want ik krijg dit:quote:Op zondag 26 mei 2013 21:42 schreef Chandler het volgende:
[..]
Probleem is/was dat ik met curl_getinfo gewoon een 200 krijg, daarna pas een header location oid!? maar goed...
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); print_r(curl_getinfo($ch, CURLINFO_HTTP_CODE)); # 302 curl_close($ch); ?> |
Zal ik het eens proberen? Uh, welke optie staat aan? Want ik kan deze optie ook niet met een fuzzy search vinden. Ow, en tuurlijk, als je follow location aanhebt staan, dan gaat ie uiteraard die volgen en kom je uit op een 200. Das logisch, tenzij je max-redirects ook aanpast en deze overschreden wordt.quote:Op zondag 26 mei 2013 21:55 schreef Chandler het volgende:
Juist maar ik heb ook de CURLOPT_FOLLORHEADER op false staan kan daar door komen?
Correct, was: CURLOPT_FOLLOWLOCATION en die staat er wel tussenquote:Op zondag 26 mei 2013 22:01 schreef slacker_nl het volgende:
[..]
Zal ik het eens proberen? Uh, welke optie staat aan? Want ik kan deze optie ook niet met een fuzzy search vinden.
Case is dat ik wil uitvissen of er een redirect plaats vind, ja, dan geen data laden, nee dan wel data laden. want een redirect is voor mijn project niet nodig, alleen de directe data... tenzij een redirect naar het zelfde domein is.. maar het laatste is van mij voor ondergeschikt belang!.quote:Ow, en tuurlijk, als je follow location aanhebt staan, dan gaat ie uiteraard die volgen en kom je uit op een 200. Das logisch, tenzij je max-redirects ook aanpast en deze overschreden wordt.
Maar dan kan je met CURLINFO_REDIRECT_COUNT volgens mij zien hoeveel redirects je hebt gehad, > 0 is een redirect geweest.
En volgens mij kan je met CURLINFO_EFFECTIVE_URL dan zien wat de URL was welke je hebt aangesproken, als die niet gelijk is met je oorspronkelijke URL: redirect.
Dan moet je een no-follow doen, als 302 en location header naar iets wijst wat binnen je domein zit, daarop weer een request doen, zonder no-follow.quote:Op zondag 26 mei 2013 22:03 schreef Chandler het volgende:
[..]
Correct, was: CURLOPT_FOLLOWLOCATION en die staat er wel tussen
krijg je als je met 10 dingen te gelijk aan het doen bent
[..]
Case is dat ik wil uitvissen of er een redirect plaats vind, ja, dan geen data laden, nee dan wel data laden. want een redirect is voor mijn project niet nodig, alleen de directe data... tenzij een redirect naar het zelfde domein is.. maar het laatste is van mij voor ondergeschikt belang!.
Mocht ik deze nodig zijn, dan kan ik deze natuurlijk uitlezen en herschrijven indien nodig (location: index.php naar http://www.domein.nl/index.php) en aan mijn queue toevoegenquote:Op zondag 26 mei 2013 22:13 schreef slacker_nl het volgende:
[..]
Dan moet je een no-follow doen, als 302 en location header naar iets wijst wat binnen je domein zit, daarop weer een request doen, zonder no-follow.
Je doet je ondertitel eer aan nu.quote:Op zondag 26 mei 2013 22:17 schreef Chandler het volgende:
[..]
Mocht ik deze nodig zijn, dan kan ik deze natuurlijk uitlezen en herschrijven indien nodig (location: index.php naar http://www.domein.nl/index.php) en aan mijn queue toevoegen
probeer deze eensquote:Op zondag 26 mei 2013 21:39 schreef Chandler het volgende:
[..]
Top, ik ga het ff proberen!
Andere vraag; wanneer ik met Domdocument een html pagina wil laden krijg ik de volgende foutmelding.
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, line: 1354
Nu snap ik best dat niet iedere pagina een nette opbouw heeft, maar wil eigenlijk geen foutmeldingen zien, gewoon parsen totdat hij niet meer kan parsen oid?! nu dacht ik laat ik kijken welke opties ik mee kan geven (maar 1) en die vond ik hier: http://www.php.net/manual/en/libxml.constants.php
Maar daarvan heb ik meerdere geprobeerd maar blijf errors opvangen... alleen een vieze @ werkt iemand een idee hoe ik dat kan oplossen? Ps domdocument gebruik ik om links uit te kunnen lezen.
Ik zou gewoon heel simpel een functie schrijven die de response parsed indien 200 http_code, bij een 30x http_code de redirect_url pakt, checked of het binnen het domein valt, indien ja, dan een recursive call doet (mss wel oppassen met redirect loops), en anders.. iets.quote:Op zondag 26 mei 2013 22:17 schreef Chandler het volgende:
[..]
Mocht ik deze nodig zijn, dan kan ik deze natuurlijk uitlezen en herschrijven indien nodig (location: index.php naar http://www.domein.nl/index.php) en aan mijn queue toevoegen
Had eerst een extra functie in mijn script met get_headers maar die vreet nogal wat resources en maakt het script stukken slomer....
Werkte niet, maar heb alleen true geprobeerd, misschien had ik deze wel op false moeten zetten (lol, kan nu niet ff testen )quote:Op zondag 26 mei 2013 22:24 schreef wipes66 het volgende:
probeer deze eens
http://nl3.php.net/manual(...)-internal-errors.php
Daarom gebruik ik de queue om geen recursive call's te doen anders had ik die queue niet nodig gehad, dat was het eerste probleem die ik 4 weken geleden moest aanpakkenquote:Op zondag 26 mei 2013 22:30 schreef slacker_nl het volgende:
Ik zou gewoon heel simpel een functie schrijven die de response parsed indien 200 http_code, bij een 30x http_code de redirect_url pakt, checked of het binnen het domein valt, indien ja, dan een recursive call doet (mss wel oppassen met redirect loops), en anders.. iets.
1 2 3 4 5 6 7 8 | <?php $doc = new DOMDocument(); var_dump($doc->loadhtml("<html dxxx<nbody>haha<html>test")); var_dump($doc->loadhtml("<html><head></head><body><p>lol</p></body></html>")); exit; ?> |
Geeft het een foutmelding of een warning? Uit de documentatie:quote:Op dinsdag 28 mei 2013 09:27 schreef Chandler het volgende:
Waarom geeft het laden van een document via dom met loadhtml fouten maar true als resultaat?
[ code verwijderd ]
Beiden geven true terwijl de eerste een foutmelding geeft en dus een false zou moeten geven...
Edit: ik lees nu pas je eerdere posts . Warnings dus. Dan moet je dus libxml_use_internal_errors gebruiken als je de warnings wilt afhandelen.quote:While malformed HTML should load successfully, this function may generate E_WARNING errors when it encounters bad markup. libxml's error handling functions may be used to handle these errors.
Ook daarmee krijg ik alleen maar 'true' terug... en er staat toch echt op php.net dat er een false gegeven zou moeten worden...quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php var_dump(libxml_use_internal_errors(true)); $doc = new DOMDocument(); if (!$doc->loadhtml("<html dxxx<nbody>haha<html>test")) { echo 'process error?'; } if (!$doc->loadhtml("<html><head></head><body><p>lol</p></body></html>")) { echo 'process error1?'; } exit; ?> |
Nee dat staat er niet, er staat:quote:Op dinsdag 28 mei 2013 16:06 schreef Chandler het volgende:
[..]
Ook daarmee krijg ik alleen maar 'true' terug... en er staat toch echt op php.net dat er een false gegeven zou moeten worden...
quote:This function returns the previous value of use_errors
Heb je ook gekeken naar de functie libxml_get_errors? Het voorbeeld wat ze daarbij geven doet precies wat jij wil, namelijk controleren op verkeerde xml...quote:libxml_use_internal_errors(true);
[ code verwijderd ]
zou dus een foutmelding moeten geven, maar niet dus
maar goed,ik heb het nu wel, al is het wel een in mijn ogen niet zo'n nette oplossing.quote:Returns TRUE on success or FALSE on failure. If called statically, returns a DOMDocument or FALSE on failure.
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 | <?php $errors = array(); libxml_use_internal_errors(true); $doc = new DOMDocument(); $doc->loadhtml("<html dxxx<nbody>haha<html>test"); $errors = libxml_get_errors(); libxml_clear_errors(); if (count($errors) > 0) { echo 'Moet een fout geven! FOUT!'; } $doc->loadhtml("<html><head></head><body><p>lol</p></body></html>"); $errors = libxml_get_errors(); libxml_clear_errors(); if (count($errors) > 0) { echo 'Als je dit ziet, is er iets echt goed mis....'; } // nog sneller if ($doc->loadHtml("<html dxxx<nbody>haha<html>test") && count(libxml_get_errors()) > 0) { echo 'html is fout 1'; } else { echo 'html is goed 1'; } libxml_clear_errors(); if ($doc->loadHtml("<html><head></head><body><p>lol</p></body></html>") && count(libxml_get_errors()) > 0) { echo 'html is fout 2'; } else { echo 'html is goed 2'; } exit; ?> |
Als je iets verder leest staat er dit:quote:Op dinsdag 28 mei 2013 16:43 schreef Chandler het volgende:
Ik doelde meer op domdocument
http://nl1.php.net/manual/en/domdocument.loadhtml.php
[..]
maar goed,ik heb het nu wel, al is het wel een in mijn ogen niet zo'n nette oplossing.
[ code verwijderd ]
Je huidige oplossing lijkt mij dus goed en ook volgens de documentatie.quote:While malformed HTML should load successfully, this function may generate E_WARNING errors when it encounters bad markup. libxml's error handling functions may be used to handle these errors.
1 2 3 | <?php include "foto.php" ; ?> |
1 2 3 | <?php include "fotos/foto.php" ; ?> |
1 2 3 4 5 6 7 8 | <?php var_dump(explode(':', get_include_path())); // array (size=3) // 0 => string '.' (length=1) <-- verwijst naar directory van het huidige php-bestand // 1 => string '/usr/share/php' (length=14) // 2 => string '/usr/share/pear' (length=15) ?> |
1 2 3 4 5 6 7 | player id | name ------------ 1 | henk 2 | truus 3 | sjaak |
1 2 3 4 5 6 7 | game id | player_id | character_id | waves | score ----------------------------------------------- 1 | 2 | 5 | 12 | 9000 2 | 5 | 9 | 8 | 4000 3 | 2 | 4 | 15 | 12000 |
1 2 3 4 | SELECT max(score) as score, character_id, waves FROM game GROUP BY user_id ORDER BY score |
Jawel, want het is de bedoeling dat er geen dubbele users in staan, maar alleen de maximale score van een user.quote:Op vrijdag 31 mei 2013 16:58 schreef KomtTijd... het volgende:
Je MAX(score) en GROUP BY zijn toch helemaal niet nodig?
1 2 3 4 5 6 7 8 9 10 | SELECT MAX(g.scores) as hiscore, g.character_id, g.waves, FROM games as g JOIN games as g2 on hiscore = g2.scores where g2.player_id = g.player_id ; |
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <pre> <?php $projects = array(1 => array("url" => "http://www/testredirect.php?x=5"), 2 => array("url" => "http://www/testredirect.php?x=2"), 3 => array("url" => "http://www/testerror.php"), 4 => array("url" => "http://www/testerror.php?x=10"), 5 => array("url" => "http://www/testerror.php?x=5"), 6 => array("url" => "http://www/testerror.php?x=22")); $mh = curl_multi_init(); $handles = array(); foreach ($projects AS $key => $project) { echo $project['url'] . '<br />'; $handles[$key] = curl_init($project['url']); curl_setopt($handles[$key], CURLOPT_TIMEOUT, 20); curl_setopt($handles[$key], CURLOPT_CONNECTTIMEOUT, 20); curl_setopt($handles[$key], CURLOPT_HEADER, true); curl_setopt($handles[$key], CURLOPT_AUTOREFERER, true); curl_setopt($handles[$key], CURLOPT_FAILONERROR, true); curl_setopt($handles[$key], CURLOPT_RETURNTRANSFER, true); curl_setopt($handles[$key], CURLOPT_SSL_VERIFYHOST, false); curl_setopt($handles[$key], CURLOPT_SSL_VERIFYPEER, false); curl_setopt($handles[$key], CURLOPT_FOLLOWLOCATION, true); // true for test curl_setopt($handles[$key], CURLINFO_EFFECTIVE_URL, true); curl_setopt($handles[$key], CURLINFO_HEADER_OUT, true); curl_setopt($handles[$key], CURLINFO_REDIRECT_COUNT, true); curl_multi_add_handle($mh, $handles[$key]); } $running = null; do { curl_multi_exec($mh, $running); } while ($running > 0); foreach ($handles AS $key => $value) { $break = false; $curl_error = curl_error($value); // fetch error, if any print_r($curl_error); echo '<br />'; print_r(curl_getinfo($value)); echo '<br />'; if (strlen($curl_error) == 0) { print_r(curl_multi_getcontent($value)); echo '<br />'; } else { echo ("error<br/>"); } } |
Dit heb je toch al een keertje eerder gedaan? Een paar posts geleden zelfs.quote:Op zaterdag 1 juni 2013 12:47 schreef Chandler het volgende:
Heeft iemand een oplossing voor het volgende?
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <?php error_reporting(E_ALL); $projects = array('opn' => array("url" => "http://www.opperschaap.net"), 'opn_not_found' => array("url" => "http://www.opperschaap.net/die"), 'redir' => array("url" => "http://www.example.com"), ); $mh = curl_multi_init(); $handles = array(); $setopt_array = array( CURLOPT_TIMEOUT => 20, CURLOPT_CONNECTTIMEOUT => 20, CURLOPT_HEADER => true, CURLOPT_AUTOREFERER => true, CURLOPT_FAILONERROR => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_FOLLOWLOCATION => true, // true for test ); foreach ($projects AS $key => $project) { printf("URL: %s\n", $project['url']); $ch = curl_init($project['url']); curl_setopt_array($ch, $setopt_array); curl_multi_add_handle($mh, $ch); $handles[$key] = $ch; } $running = null; do { curl_multi_exec($mh, $running); } while ($running > 0); foreach ($projects AS $key => $project) { print "$key\n"; $ch = $handles[$key]; $curl_error = curl_error($ch); // fetch error, if any $curl_info = (curl_getinfo($ch)); if ($project['url'] != $curl_info['url']) { printf("Redirected from %s to %s\n", $project['url'], $curl_info['url']); } if ($curl_info['http_code'] == 200) { print_r(curl_multi_getcontent($ch)); } else { printf("HTTP code not 200: %d\n", $curl_info['http_code']); } print "\n"; } ?> |
De reden dat een csrf-token wordt geadviseerd bij POST is juist omdat POST wordt gebruikt voor het veranderen van data op de server. Daarmee beantwoord ik eigenlijk je vraag alquote:Op zondag 2 juni 2013 16:04 schreef pascal08 het volgende:
Ik zit met een dilemma. Mijn zoekfunctie werkt met ajax en json. Ik zou POST en GET kunnen gebruiken. POST heeft als nadeel dat ik een formtoken moet meesturen ivm csrf en heeft volgens mij ook als nadeel dat er niets gecached kan worden.
Kwestie van op de juiste manier escapen.quote:Met GET daarentegen zit ik met het probleem dat Codeigniter geen tekens zoals een apostrof tolereert. Ik weet dat het mogelijk is om dit uit te zetten, maar bij deze instelling staat duidelijk vermeldt dat je niets moet veranderen tenzij je weet waar je mee bezig bent, en daar zit het probleem, dat weet ik dus niet.
Gewoon GET gebruiken. De intentie achter GET is juist het ophalen van data van de server. POST, PUT en DELETE zijn ontwikkeld om data op de server te veranderen.quote:Google en andere grote sites werken met GET zag ik via de Chrome Console. Echter kan ik daar wel gewoon zoeken op een apostrof. De apostrof wordt dan omgezet in %27. Kan iemand mij uitleggen welke methode geschikter is voor mijn situatie en hoe ik eventueel veilig tekens zoals een apostrof in de URL toelaat bij een GET request?
Dit wist ik.quote:Op zondag 2 juni 2013 17:25 schreef zoem het volgende:
De reden dat een csrf-token wordt geadviseerd bij POST is juist omdat POST wordt gebruikt voor het veranderen van data op de server. Daarmee beantwoord ik eigenlijk je vraag al
Hier had ik nog niet aan gedacht. Ik ken die functie ook nog niet, dus ik moet even kijken of het resultaat daarvan wel door Codeigniter geaccepteerd wordt.quote:Kwestie van op de juiste manier escapen.
URL Encode a string in jQuery for an AJAX request
Ook handig zijn php's urlencode en json_encode
1 | .replace("'", "%27") |
1 | update table set status = 90 where to_Char(act_starttime, 'YYYYIW') = '201318' |
1 2 3 4 | FOUT in regel 1: .ORA-03113: Einde-van-bestand op communicatiekanaal. Proces-ID: 0 Sessie-ID: 1484 serienummer: 3872 |
Als je hier een date van maakt, wat bedoel je precies?quote:Op dinsdag 4 juni 2013 08:45 schreef Cue_ het volgende:
Ik zit met een Oracle vraagje.
Als ik de volgende query uitvoer
[ code verwijderd ]
Krijg ik de volgende foutmelding
[ code verwijderd ]
act_starttime is in eerste instantie een Timestamp. Wanneer ik hier een date van maak, dan doet hij het wel gewoon.
Iemand enig idee hoe dit kan/veroorzaakt wordt?
Alter table modify act_starttime datequote:Op dinsdag 4 juni 2013 08:58 schreef slacker_nl het volgende:
Als je hier een date van maakt, wat bedoel je precies?
http://psoug.org/reference/timestamp.html
; vergeten?quote:Op dinsdag 4 juni 2013 08:45 schreef Cue_ het volgende:
Ik zit met een Oracle vraagje.
Als ik de volgende query uitvoer
[ code verwijderd ]
Krijg ik de volgende foutmelding
[ code verwijderd ]
act_starttime is in eerste instantie een Timestamp. Wanneer ik hier een date van maak, dan doet hij het wel gewoon.
Iemand enig idee hoe dit kan/veroorzaakt wordt?
Als in dat de query niet wordt uitgevoerd?quote:
1 2 3 4 5 | BEGIN; update ... ROLLBACK; -- eventueel commit |
1 | create index idx_match_actstarttime on table (to_char(act_starttime, 'YYYYIW') ); |
Zonder index doet ie het perfect.. met index krijg ik die foutmelding.quote:
Da's wel een voorbarige conclusie. Als je je been eraf hakt is de jeuk aan je teen ook over.quote:Op dinsdag 4 juni 2013 09:51 schreef Cue_ het volgende:
[..]
Zonder index doet ie het perfect.. met index krijg ik die foutmelding.
quote:Op dinsdag 4 juni 2013 10:02 schreef KomtTijd... het volgende:
Da's wel een voorbarige conclusie. Als je je been eraf hakt is de jeuk aan je teen ook over.
Er is altijd nog fantoomjeuk.quote:Op dinsdag 4 juni 2013 10:02 schreef KomtTijd... het volgende:
[..]
Da's wel een voorbarige conclusie. Als je je been eraf hakt is de jeuk aan je teen ook over.
quote:Op dinsdag 4 juni 2013 10:02 schreef zoem het volgende:
De errorcode is erg generiek, wat staat er in de alert log?
1 2 3 | Tue Jun 4 10:59:04 2013 Errors in file /oracle/admin/hkpora03/udump/hkpora03_ora_186.trc: ORA-07445: exception encountered: core dump [evaopn2()+228] [SIGSEGV] [Address not mapped to object] [0x000000000] [] [] |
quote:
07445 is vaak gerelateerd aan een bug in Oracle.quote:So the likeliest causes:
- The server process you were connected to crashed.
- A network problem broke your connection.
- Someone manually killed the process on the server you were connected to.
When the server process you were connected to crashed, it threw an ORA-07445. That error, along with ORA-00600, are relatively famous Oracle errors. They're functionally unhandled exceptions, with an ORA-00600 being an unhandled exception in the Oracle code, whereas ORA-07445 is a fatal signal from the OS, generally because Oracle did something that the OS didn't approve of, so the OS killed the Oracle process.
quote:There was an index on the two date columns, TRANS_FROM and TRANS_TO. We droppped this. It worked.
After a bit more investigation we found that with few rows in the join, the index was not used but as the number of rows in the join increased, the query plan would change and the offending index would be used. This explained why it was an intermittent problem.
1 2 3 | <?php $a['a'] = 1; ?> |
ja dat dacht ik ook. maar ik krijg geen foutmelding hierzo, maar misschien zit er iets fout in mijn custom error handlerquote:Op dinsdag 4 juni 2013 12:34 schreef zoem het volgende:
Ja en nee.
PHP maakt automagisch een array aan en vult deze met de opgegeven key en value. Echter, als je error_reporting en display_errors aanzet, zou je een index undefined notice kunnen krijgen.
Hier staat het beschreven: http://php.net/manual/en/language.types.type-juggling.phpquote:Op dinsdag 4 juni 2013 12:34 schreef zoem het volgende:
Ja en nee.
PHP maakt automagisch een array aan en vult deze met de opgegeven key en value. Echter, als je error_reporting en display_errors aanzet, zou je een index undefined notice kunnen krijgen.
ik keek er ook van opquote:Op dinsdag 4 juni 2013 12:59 schreef slacker_nl het volgende:
[..]
Hier staat het beschreven: http://php.net/manual/en/language.types.type-juggling.php
Wat kut is dat zeg, eigenlijk, best wel.
In dat geval, leuk leesvoer: PHP: a fractal of bad designquote:Op dinsdag 4 juni 2013 12:59 schreef slacker_nl het volgende:
[..]
Hier staat het beschreven: http://php.net/manual/en/language.types.type-juggling.php
Wat kut is dat zeg, eigenlijk, best wel.
Ik heb wel eens zo'n melding gekregen als ik een niet-bestaand array-element probeerde te lezen, maar tijdens het zetten krijg je volgens mij nooit een melding.quote:Op dinsdag 4 juni 2013 12:34 schreef zoem het volgende:
Ja en nee.
PHP maakt automagisch een array aan en vult deze met de opgegeven key en value. Echter, als je error_reporting en display_errors aanzet, zou je een index undefined notice kunnen krijgen.
Dat zou goed kunnen kloppen, wist het niet zo snel uit m'n hoofd. Ik ontwikkel in ieder geval altijd met notice aan (error_reporting(-1) ), dat levert doorgaans betere code op.quote:Op dinsdag 4 juni 2013 14:05 schreef Tijn het volgende:
[..]
Ik heb wel eens zo'n melding gekregen als ik een niet-bestaand array-element probeerde te lezen, maar tijdens het zetten krijg je volgens mij nooit een melding.
quote:Op dinsdag 4 juni 2013 13:35 schreef zoem het volgende:
[..]
In dat geval, leuk leesvoer: PHP: a fractal of bad design
1 2 3 4 5 6 7 8 9 | 14:15 < slacker> !php 14:16 <@digiweed> slacker: "php" : (#1) diy framework: http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html, or (#2) I chose PHP because I thought it would be a better fit for the community I was targeting, which tended to have a lot of non-programmers in it. -- Patrick Michaud, or (#3) you don't code php. you merely edit it until it works., or (#4) haat, or (#5) http://wiki.phpbb.com/Best_Practices:PHP, (1 more message) 14:16 < slacker> !more 14:16 <@digiweed> slacker: or (#6) fail, or (#7) http://208.116.9.205/10/content/15790/15.jpg, or (#8) easy slut, or (#9) http://bugs.php.net/bug.php?id=54325, or (#10) http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/, or (#11) https://bugs.php.net/bug.php?id=18556 |
Leeft dat irc-kanaal nog steeds ja?quote:
Ja, dat irc-kanaal leeft nog steeds.quote:Op dinsdag 4 juni 2013 14:31 schreef zoem het volgende:
Leeft dat irc-kanaal nog steeds ja?
Php is op zich helemaal niet verkeerd, alleen zijn er door de tijd heen rare beslissingen genomen (zie dus dat blogitem), waardoor er dingen zijn ontstaan die nooit het licht hebben mogen zien. De slechte reputatie is ook te danken de laagdrempeligheid waardoor veel bad practices de wereld in zijn geholpen door onbekwame programmeurs. Maar als je weet wat je doet kun je leuke dingen maken met php.
1 2 3 4 5 6 7 8 | > []+[] '' > []+{} '[object Object]' > {}+[] '[object Object]' > {}+{} '[object Object][object Object]' |
1 2 3 4 5 6 7 8 | >>> []+[] "" >>> []+{} "[object Object]" >>> {}+[] 0 >>> {}+{} NaN |
Wat je weer tot in het bizarre kan doorvoeren: www.jsfuck.comquote:Op dinsdag 4 juni 2013 15:35 schreef KomtTijd... het volgende:
NodeJS:
[ code verwijderd ]
SpiderMonkey & V8:
[ code verwijderd ]
"Get day of week" gegoogled Weet het niet veel beter te beschrijven..quote:
Veel korter dan dit kan haast niet lijkt mequote:Op dinsdag 4 juni 2013 20:59 schreef d4v1d het volgende:
Ik heb nu een weeknummer, week 23. En een dag, donderdag in dit geval.
Nu is dit dus 6 juni 2013, maar hoe kan ik dit met php uitvinden?
1 2 3 4 | <?php echo strftime("%c", strtotime("next Thursday", strtotime("2013W23"))); // Thu Jun 6 00:00:00 2013 ?> |
quote:Op dinsdag 4 juni 2013 21:17 schreef zoem het volgende:
[..]
Veel korter dan dit kan haast niet lijkt me
[ code verwijderd ]
Ten eerste zou ik een for-loop gebruiken en daarbinnen kun je met file_exists() kijken of een bestand bestaat.quote:Op woensdag 5 juni 2013 10:44 schreef gerrit098 het volgende:
http://jsfiddle.net/Kb29y/2/
op jsfiddle heb ik mijn eigen "template" gezet. deze heb ik gemaakt om het me zelf makkelijker te maken om nieuwe foto op mijn site te zetten.
uiteraard heeft niet iedere shoot 100+ foto`s en verwijder ik dus de overbodige regels.
nu ben ik benieuwd of daar ook een makkelijkere manier voor is. iets in de trend van:
als het bestand niet bestaat sla dan de regel over??? weet iemand hier iets voor?
Wat leuk, ik had door ooit deze code voor:quote:Op dinsdag 4 juni 2013 21:17 schreef zoem het volgende:
[..]
Veel korter dan dit kan haast niet lijkt me
[ code verwijderd ]
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 42 43 44 45 | <?php /* Stolen from http://nl.php.net/manual/en/function.date.php#84533 */ function _first_weekday_of_year($year) { $wtag = date('w', mktime(0,0,0,1,1,$year)); if ($wtag <= 4) { /* Mon to Tuesday */ $day = mktime(0,0,0,1,1-($wtag-1),$year); } else { /* Friday to sunday */ $day = mktime(0,0,0,1,1+(7-$wtag+1),$year); } return $day; } function week2date() { $args = func_get_args(); $num = count($args); if ($num == 1 || $num == 2) { if ($num == 2 ) { $year = array_pop($args); } else { $tmp = getdate(); $year = $tmp['year']; } $week = array_pop($args); $day = _first_weekday_of_year($year) + (($week -1 ) * 7 * 24 * 60 * 60); $arr = array($day); for ($i = 0; $i < 6; $i++) { $day += 24 * 60 * 60; $arr[] = $day; } return $arr; } /* If we land here we have an error */ trigger_error(sprintf("%s requires at least 1 parameter, with a maximum of 2", __FUNCTION__), E_USER_WARNING); return null; } # Het grote voordeel is dat je met negatieve weken kan werken print_r(week2date(23,2013)); print_r(week2date(-23,2013)); ?> |
Ik kan de jsfiddle niet goed zien (telefoon), maar is glob() niet handig in dit geval? Daar komt gewoon een array uit met geldige paden.quote:Op woensdag 5 juni 2013 10:47 schreef mstx het volgende:
[..]
Ten eerste zou ik een for-loop gebruiken en daarbinnen kun je met file_exists() kijken of een bestand bestaat.
Logica en view uit elkaar trekken. Je logica checked alles, je view laat gewoon eea zien. Smarty much?Of wat er ook is voor PHP.quote:Op woensdag 5 juni 2013 10:44 schreef gerrit098 het volgende:
ard heeft niet iedere shoot 100+ foto`s en verwijder ik dus de overbodige regels.
nu ben ik benieuwd of daar ook een makkelijkere manier voor is. iets in de trend van:
Ik heb ooit dit in elkaar gebeund (en heb er nog altijd veel gemak van):quote:Op woensdag 5 juni 2013 10:44 schreef gerrit098 het volgende:
http://jsfiddle.net/Kb29y/2/
op jsfiddle heb ik mijn eigen "template" gezet. deze heb ik gemaakt om het me zelf makkelijker te maken om nieuwe foto op mijn site te zetten.
uiteraard heeft niet iedere shoot 100+ foto`s en verwijder ik dus de overbodige regels.
nu ben ik benieuwd of daar ook een makkelijkere manier voor is. iets in de trend van:
als het bestand niet bestaat sla dan de regel over??? weet iemand hier iets voor?
1 | $characters = array("B" => 0, "$" => 1, "C" => 2); |
Sorry, ik haal 2 dingen door elkaar.quote:Op vrijdag 7 juni 2013 19:03 schreef zoem het volgende:
Heb je de MySQL-verbinding wel geinitialiseerd met de UTF8-karakterset? (SET NAMES 'utf8' )? De utf8_general_ci collation zou gewoon goed moeten zijn.
Weet je dat zeker? Als ik LIKE 'B%' doe vind ik wel de juiste records, als ik LIKE 'Bi% doe niet.quote:Op vrijdag 7 juni 2013 20:31 schreef Juicyhil het volgende:
Zo'n teken wordt gewoon gematched op i. Anders utf8_ bin nemen
Anders moet je dat veld even converteren naar ascii om te kijken waar hij op zoektquote:Op vrijdag 7 juni 2013 20:34 schreef pascal08 het volgende:
[..]
Weet je dat zeker? Als ik LIKE 'B%' doe vind ik wel de juiste records, als ik LIKE 'Bi% doe niet.
Ik zoek met LIKE, maar dat werkt niet. Een genormaliseerde kolom is een serieuze optie. Moet ik die encoderen?quote:Op vrijdag 7 juni 2013 20:20 schreef zoem het volgende:
Hmm dat is lastiger. Utf8_general_ci zou diakriet (en case) insensitive moeten zijn. Al eens LIKE geprobeerd? Een andere -simpel doch doeltreffende- oplossing zou zijn om een genormaliseerde kolom te introduceren. Hangt een beetje van de situatie af wat handig is in deze.
http://dev.mysql.com/doc/refman/5.0/en/charset-literal.html
convert(veld as ascii) toch?quote:Op vrijdag 7 juni 2013 20:41 schreef pascal08 het volgende:
Ik ben nog helemaal niet thuis in de encode/decoding.
utf8_bin geeft een geëncodeerde string. Geen flauw idee wat ik daarmee moet.
Het is dat we posts niet kunnen plussen of liken! anders had je er 1 te pakkenquote:Op dinsdag 4 juni 2013 21:17 schreef zoem het volgende:
[..]
Veel korter dan dit kan haast niet lijkt me
[ code verwijderd ]
http://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_formquote:Op zaterdag 8 juni 2013 18:36 schreef n8n het volgende:
Over de database structuur in het algemeen, wat zijn tips/concepten die handig zijn met het oog op scheiden van data en het later weer in elkaar parsen. Voor een artikel bijvoorbeeld, doe je dan een artikel incl. mark-up (html) in 1 table-cell? Of gebruik je een row per paragraaf/header/link/afbeelding etc. met elke een id van het artikel of bijvoorbeeld een array met alle paragrafen en een aparte table met alle headers?
En afbeeldingen sla je niet op maar daar verwijs je naar ivm. snelheid, maar hoe beheer je die data dan (volgorde, links naar bestanden, bestanden wijzigen etc.)?
En ik lees 'overal' dat mysql depreciated wordt/is. Is het handiger om mysqli of pdo aanleren (aangezien ik net kom kijken)
dus kort samengevat elke type data in een eigen table met id's voor communicatie? ga nog even verder lezen maar dat is de snelle indruk die ik krijg bij het lezen van een bron onderaan de paginaquote:Op zaterdag 8 juni 2013 18:39 schreef Juicyhil het volgende:
[..]
http://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form
ik lees idd dat pdo veiliger is (over snelheid gemixte berichten) maar ook gelimiteerder. Nu zal ik daar nu niet tegenaan lopen maar wellicht ooit. bedankt alvast, nuttige infoquote:Op zaterdag 8 juni 2013 18:41 schreef Juicyhil het volgende:
En ja, gewoon PDO gebruiken. Nog beter met prepared statements omdat sneller/veiliger.
Twee kolommen aanmaken, eentje met de originele inhoud en eentje voor de geparste versie. Ik zou het hele artikel in een enkel record gooien en niet gaan scheiden op paragraaf oid. Dan maak je het jezelf lastiger dan nodig.quote:Op zaterdag 8 juni 2013 18:36 schreef n8n het volgende:
Over de database structuur in het algemeen, wat zijn tips/concepten die handig zijn met het oog op scheiden van data en het later weer in elkaar parsen. Voor een artikel bijvoorbeeld, doe je dan een artikel incl. mark-up (html) in 1 table-cell? Of gebruik je een row per paragraaf/header/link/afbeelding etc. met elke een id van het artikel of bijvoorbeeld een array met alle paragrafen en een aparte table met alle headers?
Afbeeldingen gewoon uploaden naar de webserver en daar opslaan in een handige directorystructuur (iets met datum)? De opslag van afbeeldingen/filmpjes/media zou je los moeten zien van een artikel. Metadata kun je eventueel opslaan in een apart ingerichte tabel.quote:En afbeeldingen sla je niet op maar daar verwijs je naar ivm. snelheid, maar hoe beheer je die data dan (volgorde, links naar bestanden, bestanden wijzigen etc.)?
Met JH, ik zou voor PDO gaan icm prepared statements. Er zijn verder geen noemenswaardige limitaties tov mysql vziw.quote:En ik lees 'overal' dat mysql depreciated wordt/is. Is het handiger om mysqli of pdo aanleren (aangezien ik net kom kijken)
Absoluut niet. Voor veel zaken zijn in principe geen id's nodig. Maar doen veel dba's dat uit gemakszucht.quote:Op zaterdag 8 juni 2013 18:45 schreef n8n het volgende:
[..]
dus kort samengevat elke type data in een eigen table met id's voor communicatie? ga nog even verder lezen maar dat is de snelle indruk die ik krijg bij het lezen van een bron onderaan de pagina
http://web.archive.org/we(...)malizationRules.html
PDO zelf weet ik niet hoe dat zit met performance. Maar prepared statements hoeven door mysql niet opnieuw gecompileerd te worden, waardoor je daar (minimale) snelheidswinst hebt. Zelf gebruik ik altijd gewoon een ORM module.quote:[..]
ik lees idd dat pdo veiliger is (over snelheid gemixte berichten) maar ook gelimiteerder. Nu zal ik daar nu niet tegenaan lopen maar wellicht ooit. bedankt alvast, nuttige info
Daar had ik nog niet aan gedacht. Als er dan ooit fundamentele mark-up wijzigingen zijn hoeft er maar 1 keer een nieuwe 'lees'-kolom aangemaakt te wordenquote:Op zaterdag 8 juni 2013 18:50 schreef zoem het volgende:
[..]
Twee kolommen aanmaken, eentje met de originele inhoud en eentje voor de geparste versie.
Ik lees nog even verderquote:Op zaterdag 8 juni 2013 18:50 schreef Juicyhil het volgende:
[..]
Absoluut niet. Voor veel zaken zijn in principe geen id's nodig. Maar doen veel dba's dat uit gemakszucht.
Daarom coden we toch?quote:Op zaterdag 8 juni 2013 18:50 schreef Juicyhil het volgende:
Absoluut niet. Voor veel zaken zijn in principe geen id's nodig. Maar doen veel dba's dat uit gemakszucht.
Dat is ook te zien aan de code van sommige programmeursquote:
phpStormquote:Op zondag 9 juni 2013 18:01 schreef Purplesparks het volgende:
Wat is tegenwoordig een goede php editor? Besloten toch maar eens van kladblok af te stappen.
Ah van JetBrains, altijd zeer te spreken geweest over hun java ide.quote:
NetBeansquote:Op zondag 9 juni 2013 18:01 schreef Purplesparks het volgende:
Wat is tegenwoordig een goede php editor? Besloten toch maar eens van kladblok af te stappen.
quote:
Hebben 1 van deze 2 ook een manier om een database aan te maken/simuleren? of weet iemand een progje om mee te maken en dit met 1 van die ide's te combineren?quote:
Dan mock je toch de DB-calls?quote:Op zondag 9 juni 2013 18:52 schreef Purplesparks het volgende:
Hebben 1 van deze 2 ook een manier om een database aan te maken/simuleren? of weet iemand een progje om mee te maken en dit met 1 van die ide's te combineren?
Mijn laptop vertikt het apache server te laten werken, anders zou ik hierbij gewoon phpmyadmin installeren.
Momenteel maak ik gebruik van gratis webhost via ftp. Maar dat is voor het testen mij wat te traag.
Weet niet hoe Netbeans tegenwoordig is maar vond het als java editor niet fijn om in te werken.
Raar verhaal. Waarom installeer je niet gewoon XAMPP oid?quote:Op zondag 9 juni 2013 18:52 schreef Purplesparks het volgende:
[..]
[..]
Mijn laptop vertikt het apache server te laten werken, anders zou ik hierbij gewoon phpmyadmin installeren.
Je hebt ook niet altijd apache nodig. IIS werkt ook.quote:Op zondag 9 juni 2013 18:52 schreef Purplesparks het volgende:
[..]
[..]
Hebben 1 van deze 2 ook een manier om een database aan te maken/simuleren? of weet iemand een progje om mee te maken en dit met 1 van die ide's te combineren?
Mijn laptop vertikt het apache server te laten werken, anders zou ik hierbij gewoon phpmyadmin installeren.
Momenteel maak ik gebruik van gratis webhost via ftp. Maar dat is voor het testen mij wat te traag.
Weet niet hoe Netbeans tegenwoordig is maar vond het als java editor niet fijn om in te werken.
Dat als laatste optie geprobeerd, maar de windows versie dan. Ook dat weigerde te werken.quote:Op zondag 9 juni 2013 21:39 schreef Tijn het volgende:
[..]
Raar verhaal. Waarom installeer je niet gewoon XAMPP oid?
Never! Sterker nog ik had iis verwijderd in de hoop apache aan de praat te krijgen.quote:Op zondag 9 juni 2013 22:06 schreef ursel het volgende:
[..]
Je hebt ook niet altijd apache nodig. IIS werkt ook.
Wamp werkte niet? Ik zou toch daar maar naar kijken voordat je hele rare dingen gaat verzinnen voor iets makkelijks.quote:Op zondag 9 juni 2013 22:46 schreef Purplesparks het volgende:
[..]
Dat als laatste optie geprobeerd, maar de windows versie dan. Ook dat weigerde te werken.
Je wilt dus de gegeneerde pagina versturen? Http request vanuit je script opslaan in een string en die versturen?quote:Op zondag 9 juni 2013 23:37 schreef n8n het volgende:
weet iemand hoe ik een pagina kan versturen per mail wanneer deze wordt geladen? de inhoud dus.
Oke het lukt al alleen staan nu de tags er in als text, kan dat dood?
heb nu een variabele die ook gebruikt wordt om in de pagina te echo-en, daar staan dus wel tags in en die worden meegemaild. moet ik er dan gewoon extra basic html-tags omheen zetten zodat het door de mail als pagina gezien wordt?quote:Op zondag 9 juni 2013 23:55 schreef Maringo het volgende:
[..]
Je wilt dus de gegeneerde pagina versturen? Http request vanuit je script opslaan in een string en die versturen?
1 2 3 | <?php if ($_POST['confirm'] == false ) mail("*****@hpeprint.com", "**", $message) ?> |
Dat zou ik dan maar eens gaan oplossen ipv een IDE te zoeken die een database kan nabootsen.quote:Op zondag 9 juni 2013 22:46 schreef Purplesparks het volgende:
[..]
Dat als laatste optie geprobeerd, maar de windows versie dan. Ook dat weigerde te werken.
1 2 3 4 5 6 7 8 9 10 | <?php $headers = "MIME-Version: 1.0rn"; $headers = "Content-type: text/html; charset=utf-8"; $mail = '<html><head> <style type="text/css"> footer { display:none; } #authors { margin: 2em 0 0; color: gray; font-size: 60%; } </style> </head><body>'.$message.'</body></html>'; ?> |
1 2 3 | <?php mail("*****@gmail.com", "******", $mail, $headers); ?> |
Topquote:Op maandag 10 juni 2013 00:19 schreef n8n het volgende:
[ code verwijderd ]
[ code verwijderd ]
tis gelukt
In eerste code blok, regel twee doet niets aangezien regel 3 $headers weer helemaal opnieuw set.quote:Op maandag 10 juni 2013 00:19 schreef n8n het volgende:
[ code verwijderd ]
[ code verwijderd ]
tis gelukt
Dat is afhankelijk van een aantal zaken: leeftijd / ervaring / ...quote:Op maandag 10 juni 2013 12:14 schreef Darkomen het volgende:
Niet direct PHP als in code.
Ik heb gesolicteerd op een Junior Php Developer functie, zij hebben intresse in mij en gaan mij een aanbod doen morgen, wat kan ik als salaris verwachten/eisen?
Dat is wel handig om te vermelden.quote:Op maandag 10 juni 2013 12:18 schreef Rockfire het volgende:
[..]
Dat is afhankelijk van een aantal zaken: leeftijd / ervaring / ...
https://code.google.com/p/php-mime-mail-parser/quote:Op maandag 10 juni 2013 00:19 schreef n8n het volgende:
[ code verwijderd ]
[ code verwijderd ]
tis gelukt
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 | <?php require 'class.phpmailer.php'; $mail = new PHPMailer; $mail->IsSMTP(); // Set mailer to use SMTP $mail->Host = 'smtp1.example.com;smtp2.example.com'; // Specify main and backup server $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'jswan'; // SMTP username $mail->Password = 'secret'; // SMTP password $mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted $mail->From = 'from@example.com'; $mail->FromName = 'Mailer'; $mail->AddAddress('josh@example.net', 'Josh Adams'); // Add a recipient $mail->AddAddress('ellen@example.com'); // Name is optional $mail->AddReplyTo('info@example.com', 'Information'); $mail->AddCC('cc@example.com'); $mail->AddBCC('bcc@example.com'); $mail->WordWrap = 50; // Set word wrap to 50 characters $mail->AddAttachment('/var/tmp/file.tar.gz'); // Add attachments $mail->AddAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name $mail->IsHTML(true); // Set email format to HTML $mail->Subject = 'Here is the subject'; $mail->Body = 'This is the HTML message body <b>in bold!</b>'; $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; if(!$mail->Send()) { echo 'Message could not be sent.'; echo 'Mailer Error: ' . $mail->ErrorInfo; exit; } echo 'Message has been sent'; ?> |
Die gebruik ik inderdaad ook al een hele tijd., erg simpel.quote:Op maandag 10 juni 2013 12:42 schreef Tijn het volgende:
Ik gebruik al jaren dit: https://github.com/Synchro/PHPMailer
Misschien niet het charmantste script ooit, maar het werkt en de interface is redelijk ok:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php include 'config.php'; include 'header.php'; $verwijderen = ($_GET['id']); $query_del = 'DELETE FROM Student WHERE studentnummer = $verwijderen'; $result_del = mysql_query($query_del); echo "U heeft zojuist een student met het student nummer $verwijderen verwijdert."; include 'footer.php'; ?> |
1 2 3 | <?php $query_del = 'DELETE FROM Student WHERE studentnummer = $verwijderen'; ?> |
1 2 3 | <?php $query_del = 'DELETE FROM Student WHERE studentnummer = 11028416'; ?> |
1 2 3 4 5 6 | <?php $variable = "DIT IS DE WAARDE!!!"; echo "SQL string blabla etc WHERE $variable"; echo 'SQL string blabla etc WHERE $variable'; ?> |
Shoot me. Dit wist ik wel alleen na een te lange tijd zie je dat soort ongein over het hoofd. Erg bedanktquote:Op maandag 10 juni 2013 21:03 schreef Pakspul het volgende:
Voer het volgende maar eens uit en kijkt goed naar de quote verschillen.
[ code verwijderd ]
In een enkele quote worden variabelen niet verwerkt.
Ik heb een MCTSquote:Op maandag 10 juni 2013 12:35 schreef Tijn het volgende:
Ik denk dat de meeste PHP'ers geen certificering hebben.
Heb je wel een goede IDE, want dan moet je ook direct het aan kleuren zien. Daarnaast, ik vind variabelen in strings gebruiken erg lelijk. Dan kun je beter accolades er om heen zetten, of $var = "first" . $subvar . "second";quote:Op maandag 10 juni 2013 21:05 schreef mrjobby het volgende:
[..]
Shoot me. Dit wist ik wel alleen na een te lange tijd zie je dat soort ongein over het hoofd. Erg bedankt
Variables in strings valt mee te leven, variables in queries daarentegenquote:Op maandag 10 juni 2013 21:15 schreef Pakspul het volgende:
[..]
Heb je wel een goede IDE, want dan moet je ook direct het aan kleuren zien. Daarnaast, ik vind variabelen in strings gebruiken erg lelijk. Dan kun je beter accolades er om heen zetten, of $var = "first" . $subvar . "second";
Ja dat dacht ik al maar op alle voorbeelden stond dat zo, vond het al vreemdquote:Op maandag 10 juni 2013 11:40 schreef Pakspul het volgende:
[..]
In eerste code blok, regel twee doet niets aangezien regel 3 $headers weer helemaal opnieuw set.
Het is maar voor 15 minuten installatie maar desondanks bedankt voor je-en andere-input. topquote:Op maandag 10 juni 2013 12:37 schreef slacker_nl het volgende:
[..]
https://code.google.com/p/php-mime-mail-parser/
Dat is toch veel mooier om te gebruiken.
Ik zie het nog te vaak gebeuren binnen grote applicaties hoorquote:Op maandag 10 juni 2013 21:22 schreef KomtTijd... het volgende:
[..]
Variables in strings valt mee te leven, variables in queries daarentegen
Daarom hebben ze (s)printf uitgevonden, als er iets lelijkers is dan "dit " . $is . " toch" . $echt_kut en foutgevoeliger dan: "Dit is $misschien toch wel beterder dan $stomme punten $overal moeten $zetten". En ik weet niet precies hoe het in PHP is, maar sprintf("%s is nog prettiger\n", $this->dit());quote:Op maandag 10 juni 2013 21:15 schreef Pakspul het volgende:
[..]
Heb je wel een goede IDE, want dan moet je ook direct het aan kleuren zien. Daarnaast, ik vind variabelen in strings gebruiken erg lelijk. Dan kun je beter accolades er om heen zetten, of $var = "first" . $subvar . "second";
https://github.com/search?q=extension%3Aphp+mysql_query+%24_GET :-)quote:Op dinsdag 11 juni 2013 00:11 schreef Juicyhil het volgende:
[..]
Ik zie het nog te vaak gebeuren binnen grote applicaties hoor
quote:Op dinsdag 11 juni 2013 10:24 schreef rekenwonder het volgende:
[..]
https://github.com/search?q=extension%3Aphp+mysql_query+%24_GET :-)
Grapjas .quote:
Wow, je zou toch verwachten dat ook PHP zelf hier een keer wat aan zou doen.quote:Op dinsdag 11 juni 2013 10:24 schreef rekenwonder het volgende:
[..]
https://github.com/search?q=extension%3Aphp+mysql_query+%24_GET :-)
Doe maar een voorstel :-)quote:Op dinsdag 11 juni 2013 11:55 schreef Pakspul het volgende:
[..]
Wow, je zou toch verwachten dat ook PHP zelf hier een keer wat aan zou doen.
mysql_query() is al depricated.quote:Op dinsdag 11 juni 2013 11:55 schreef Pakspul het volgende:
[..]
Wow, je zou toch verwachten dat ook PHP zelf hier een keer wat aan zou doen.
mysqli_query() niet en die is net zo onveilig als je het op dezelfde manier gebruikt.quote:
PDO idem dito.quote:Op dinsdag 11 juni 2013 13:20 schreef mstx het volgende:
mysqli_query() niet en die is net zo onveilig als je het op dezelfde manier gebruikt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php include 'config.php'; include 'header.php'; $aanpassen = ($_GET['invoer']); $studentnummer = ($_GET['studentnummer2']); $achternaam = ($_GET['achternaam']); $voornaam = ($_GET['voornaam']); $geboortedatum = ($_GET['geboortedatum']); $docentcode = ($_GET['docentcode']); $query_upd = "UPDATE Student SET achternaam = $achternaam WHERE studentnummer = $aanpassen"; $result_upd = mysql_query($query_upd); echo "U heeft zojuist een student met het studentnummer $aanpassen aangepast."; echo"<a href='opdr6.php'>Ga terug naar het overzicht</a></td>"; include 'footer.php'; ?> |
alles is zo onveilig als de manier waar jij het op gebruikt...?quote:Op dinsdag 11 juni 2013 13:20 schreef mstx het volgende:
[..]
mysqli_query() niet en die is net zo onveilig als je het op dezelfde manier gebruikt.
Dat komt omdat je geen quotes gebruikt. Maar ook hier is PDO de oplossing :-)quote:Op dinsdag 11 juni 2013 13:58 schreef mrjobby het volgende:
Als ik mijn variabele($achternaam) met een waarde van cijfers vul doet die het wel. als ik hem met tekens vul doet die het niet. de type van het desbetreffende veld is char(20).
Ik ben niet bekend met PDO, wat houd dat ongeveer in?quote:Op dinsdag 11 juni 2013 14:01 schreef rekenwonder het volgende:
[..]
Dat komt omdat je geen quotes gebruikt. Maar ook hier is PDO de oplossing :-)
Dat is correct. Alles is zo (on)veilig als dat je het zelf maakt.quote:Op dinsdag 11 juni 2013 14:01 schreef mschol het volgende:
[..]
alles is zo onveilig als de manier waar jij het op gebruikt...?
of de spoedcursus:quote:Op dinsdag 11 juni 2013 14:08 schreef rekenwonder het volgende:
PDO is de aanbevolen methode (zegt de gek) om queries in PHP af te vuren. Het gebruikt o.a. parameter binding (veilig) i.p.v. dat je strings opbouwt (onveilig).
http://php.net/manual/en/book.pdo.php
Wat stom! Het lijkt me juist dat je een UPDATE doet omdat.. bizar.quote:Op dinsdag 11 juni 2013 21:29 schreef Chandler het volgende:
Mensen, wisten jullie dat als je InnoDB gebruikt voor je tabel/data je met een INSERT ... ON DUPLICATE KEY UPDATE het AUTO_INCREMENT veld ook automatisch veranderd? bij een update dan wel te verstaan want bij een INSERT is het normaal.
Nu gebruik ik zelf een tabel om regels toe te voegen maar ook om regels te updaten (iets wat vele malen vaker voorkomt dan de inserts) dus veranderd continue het AUTO_INCREMENT veld. Ik heb nu al 3,5miljoen regels en weet dat er zo'n 25 miljoen INSERT ON DUPLICATE KEY queries gedaan zijn, dus is het hoogste AUTO_INCREMEN veld niet 3,5mil maar 25.032.321 . Nu gebruik ik wel een BIGINT voor het veld maar toch... het zal sneller opraken dan dat ik echt 'unieke' records heb.
Maar er is een oplossing
http://dev.mysql.com/doc/(...)rement-handling.html
innodb_autoinc_lock_mode
Hebben jullie ervaring met deze optie? en eventuele performance? of zaken waar ik dan bij moet gaan opletten?
Juh, ik reageerde ook even specifiek op Inno.quote:Op dinsdag 11 juni 2013 22:12 schreef Chandler het volgende:
@Zoem; maar dat geld niet voor MyISAM en andere database formaten (voor zover ik weet).
Dan ben ik benieuwd om wat voor soort data het gaat. Je zit niet zomaar aan max bigint (2^64-1).quote:Maar in mijn geval is het maar 1 script die de tabellen aanvult/update, verder heeft de rest alleen maar lees toegang! zal het dan nog wat uitmaken? ben echt bang dat ik met een jaartje door mijn bigint heen ben
Ongeveer 290.000 jaar iedere seconde 1 miljoen inserts ... updates uitvoeren. En dan ga ik uit van een signed reeks (waar je alleen het positieve deel gebruikt).quote:Op woensdag 12 juni 2013 01:34 schreef Chandler het volgende:
Ik vond het ook nogal apart maar goed...
@zoem; dan moet ik inderdaad nog even stevig mijn best doen...
sprintf() werkt gewoon in phpquote:Op dinsdag 11 juni 2013 00:57 schreef slacker_nl het volgende:
[..]
Daarom hebben ze (s)printf uitgevonden, als er iets lelijkers is dan "dit " . $is . " toch" . $echt_kut en foutgevoeliger dan: "Dit is $misschien toch wel beterder dan $stomme punten $overal moeten $zetten". En ik weet niet precies hoe het in PHP is, maar sprintf("%s is nog prettiger\n", $this->dit());
Dat is correctquote:Op maandag 10 juni 2013 12:35 schreef Tijn het volgende:
Ik denk dat de meeste PHP'ers geen certificering hebben.
euh lol, dan kan ik inderdaad nog wel even doorgaan maar is het niet zo dat steeds het veranderen van id's (want een id kan wel 10.000 keer veranderen op deze manier) niet handig is voor het wegschrijven van de data? (steeds het verplaatsen van data?!)quote:Op vrijdag 14 juni 2013 20:02 schreef Light het volgende:
[..]
Ongeveer 290.000 jaar iedere seconde 1 miljoen inserts ... updates uitvoeren. En dan ga ik uit van een signed reeks (waar je alleen het positieve deel gebruikt).
Het lijkt me niet dat het id verandert. Als het record nog niet in de database is, wordt het toegevoegd. Als het al wel aanwezig is, moet het uniek zijn op basis van een andere key dan het id (anders heb je niets aan die INSERT .. ON DUPLICATE KEY UPDATE functionaliteit, er moet wel een duplicate key zijn).quote:Op vrijdag 14 juni 2013 20:40 schreef Chandler het volgende:
[..]
euh lol, dan kan ik inderdaad nog wel even doorgaan maar is het niet zo dat steeds het veranderen van id's (want een id kan wel 10.000 keer veranderen op deze manier) niet handig is voor het wegschrijven van de data? (steeds het verplaatsen van data?!)
Dat weet ik, maar ik wilde heel wat anders zeggen maar blergh ofzo. Ik wilde zeggen: In Perl kan je methods niet gebruiken in string interpolitie, dus dan moet je printf("bla %s", $this->iets()) doen ipv "bla $this->iets()" Maar dat zal in PHP ook vast zo zijn.quote:
Waarom zou de data elders worden weggeschreven worden als de key veranderd? Dat zal onder water wel gewoon een pointer zijn naar, dat veranderen maakt weinig verschil..quote:Op vrijdag 14 juni 2013 20:45 schreef Light het volgende:
[..]
Het lijkt me niet dat het id verandert. Als het record nog niet in de database is, wordt het toegevoegd. Als het al wel aanwezig is, moet het uniek zijn op basis van een andere key dan het id (anders heb je niets aan die INSERT .. ON DUPLICATE KEY UPDATE functionaliteit, er moet wel een duplicate key zijn).
Ik betwijfel of "bla $this->iets()" in php werkt, maar volgens mij moet je dat ook helemaal niet willen gebruiken.quote:Op vrijdag 14 juni 2013 20:46 schreef slacker_nl het volgende:
[..]
Dat weet ik, maar ik wilde heel wat anders zeggen maar blergh ofzo. Ik wilde zeggen: In Perl kan je methods niet gebruiken in string interpolitie, dus dan moet je printf("bla %s", $this->iets()) doen ipv "bla $this->iets()" Maar dat zal in PHP ook vast zo zijn.
Voorbeeldje:quote:Op vrijdag 14 juni 2013 20:48 schreef slacker_nl het volgende:
[..]
Waarom zou de data elders worden weggeschreven worden als de key veranderd? Dat zal onder water wel gewoon een pointer zijn naar, dat veranderen maakt weinig verschil..
1 2 3 4 5 6 7 | CREATE TABLE foo ( id INT NOT NULL AUTO_INCREMENT, bar INT NOT NULL, views INT NOT NULL DEFAULT 0, PRIMARY KEY (id), UNIQUE KEY bar (bar) ) ENGINE=InnoDB; |
1 | INSERT INTO foo (bar, views) VALUES (1,1) ON DUPLICATE KEY UPDATE views = views + 1; |
Dit is wat het doet:quote:Op vrijdag 14 juni 2013 20:57 schreef Light het volgende:
[..]
Ik betwijfel of "bla $this->iets()" in php werkt, maar volgens mij moet je dat ook helemaal niet willen gebruiken.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | cat x.php ; php x.php <?php include_once("etc/env.php"); class Foo { function bar() { return "bar() called"; } } $foo = new Foo(); print "bla $foo->bar()\n"; printf("bla %s\n", $foo->bar()); ?> PHP Notice: Undefined property: Foo::$bar in /home/xxxx/sbox/php/x.php on line 14 Notice: Undefined property: Foo::$bar in /home/xxxx/sbox/php/x.php on line 14 bla () bla bar() called |
Je zegt nu dat de id van het record niet veranderd, maar de sequence van de auto-increment wel wordt verhoogd?quote:Op vrijdag 14 juni 2013 21:14 schreef Light het volgende:
[..]
Voorbeeldje:
[ code verwijderd ]
Als ik dan deze query uitvoer:
[ code verwijderd ]
Dan wordt bij de eerste keer netjes een nieuw record aangemaakt met id 1. Als ik de query nog een keer uitvoer, wordt de auto-increment waarde van de tabel wel verhoogd maar het id van de rij verandert niet. Er wordt dan ook geen data verplaatst. Er wordt alleen het volgende nummer geclaimd van de auto-increment lijst en pas daarna wordt gekeken of het invoegen succesvol is. (Als een insert faalt en er staat geen on duplicate key update bij, wordt de auto-increment waarde alsnog wel met 1 verhoogd.)
Dat zei ik de eerste keer ook. Of althans, dat bedoelde ik.quote:Op vrijdag 14 juni 2013 21:24 schreef slacker_nl het volgende:
[..]
Je zegt nu dat de id van het record niet veranderd, maar de sequence van de auto-increment wel wordt verhoogd?
Ook dan verandert de sequence van de auto-increment. Eigenlijk ook wel logisch, het terugzetten van de sequence is heel lastig doordat je niet weet wat andere transacties in de tussentijd gedaan hebben.quote:Wat gebeurd er als je een rollback doet van die transactie?
Ahhh. Ik dacht de hele tijd dat men bedoelde dat het ID van de rij aangepast werd. Maar als het een sequence is snap ik het wel ja.quote:Op vrijdag 14 juni 2013 21:28 schreef Light het volgende:
[..]
Dat zei ik de eerste keer ook. Of althans, dat bedoelde ik.
[..]
Ook dan verandert de sequence van de auto-increment. Eigenlijk ook wel logisch, het terugzetten van de sequence is heel lastig doordat je niet weet wat andere transacties in de tussentijd gedaan hebben.
Het werkt wel als jequote:Op vrijdag 14 juni 2013 21:20 schreef slacker_nl het volgende:
[..]
Dit is wat het doet:
[ code verwijderd ]
1 | print "bla $foo->bar()\n"; |
1 | print "bla {$foo->bar()}\n"; |
Nauwkeuriger aangeven welk stukje van de string als variabele moet worden geinterpreteerd.quote:
Aahh, ja, dat ken ik, maar dat het ook op functies werkt.. apart. Dan zou print "{$foo}->bar() ook moeten werken??? Niet dus. Want Foo kan niet naar een string geconvert worden..quote:Op vrijdag 14 juni 2013 21:49 schreef Light het volgende:
[..]
Nauwkeuriger aangeven welk stukje van de string als variabele moet worden geinterpreteerd.
In "$foobar" zoekt php naar een variabele $foobar, maar als je "{$foo}bar" of "${foo}bar" schrijft, zoekt php naar de variabele $foo en wordt bar niet als onderdeel van de variabelenaam gezien.
Hmm... "$foo->bar" werkt wel (als er een property bar bestaat) maar "$foo->bar()" werkt niet (als er een method bar bestaat). Dat klinkt wel onlogisch.quote:Op vrijdag 14 juni 2013 21:50 schreef slacker_nl het volgende:
[..]
Aahh, ja, dat ken ik, maar dat het ook op functies werkt.. apart. Dan zou print "{$foo}->bar() ook moeten werken??? Niet dus. Want Foo kan niet naar een string geconvert worden..
Ik herhaal mijn woorden op irc: PHP is stomquote:Op vrijdag 14 juni 2013 22:01 schreef Light het volgende:
[..]
Hmm... "$foo->bar" werkt wel (als er een property bar bestaat) maar "$foo->bar()" werkt niet (als er een method bar bestaat). Dat klinkt wel onlogisch.
Nee hoor, mensen die de automatische string-expansion gebruiken zijn stom.quote:Op vrijdag 14 juni 2013 22:12 schreef slacker_nl het volgende:
[..]
Ik herhaal mijn woorden op irc: PHP is stom
http://nl1.php.net/manual(...)types.string.parsingquote:Op vrijdag 14 juni 2013 22:01 schreef Light het volgende:
[..]
Hmm... "$foo->bar" werkt wel (als er een property bar bestaat) maar "$foo->bar()" werkt niet (als er een method bar bestaat). Dat klinkt wel onlogisch.
Niks mis mee. Zolang het maar duidelijk is. En zonder . al die . stomme . punten . is.quote:Op zaterdag 15 juni 2013 10:45 schreef papernote het volgende:
Nee hoor, mensen die de automatische string-expansion gebruiken zijn stom.
Eens dat de punten stom zijn. In elke andere taal die ik beheers zijn het plustekens en bijna altijd als ik terugswitch naar php doe ik het de eerste keer fout...quote:Op zaterdag 15 juni 2013 10:52 schreef slacker_nl het volgende:
[..]
Niks mis mee. Zolang het maar duidelijk is. En zonder . al die . stomme . punten . is.
1 | $zoals = "deze regel "+$is+" opgebouwd."; |
Zoals je hebt ontdekt zijn er soms wel wat dingen mis mee . En dan vind ik het duidelijker en consistenter om die syntax überhaupt nooit te gebruiken.quote:Op zaterdag 15 juni 2013 10:52 schreef slacker_nl het volgende:
[..]
Niks mis mee. Zolang het maar duidelijk is. En zonder . al die . stomme . punten . is.
1 2 3 4 | <?php echo "tekst lala {$foo->bar()} blabla zozo"; echo 'tekst lala '. $foo->bar() .' blabla zozo'; ?> |
1 2 3 4 | <?php echo "<a href=\"{$this->getLink()}\">link</a>"; echo '<a href="'. $this->getLink() .'">link</a>'; ?> |
1 2 3 4 5 6 | <?php echo sprintf('<a href="%s">%s</a>', $this->getLink(), $this->getTitle() ); ?> |
Ik vind dat een mindere optie, in dat geval zou ik gewoon (s)printf gebruiken. Als ik code review van mijn collega's krijgen ze het terug als het zo is opgebouwd.quote:Op zaterdag 15 juni 2013 10:56 schreef Maringo het volgende:
[..]
Eens dat de punten stom zijn. In elke andere taal die ik beheers zijn het plustekens en bijna altijd als ik terugswitch naar php doe ik het de eerste keer fout...
Maar ik vind het logischer qua taal dat je de variabele buiten de string zet.
[ code verwijderd ]
1 2 3 4 | <?php $route['^(en|nl|de)/(news|nieuws)/(:num)'] = 'news/article'; $route['^(news|nieuws)/(:num)'] = 'news/article'; ?> |
Klopt. Dus eigenlijk moet ik een functie maken die het juiste stukje url opzoekt.quote:Op zaterdag 15 juni 2013 18:58 schreef Sitethief het volgende:
Als uri->segment(3) het derde stukje in je uri teruggeeft, werkt uri->segment(4) in dit geval dan niet? Omdat je uri nu een stukje langer is.
1 2 3 4 5 6 | <?php // oud $route = "/:controller/:action/:id"; // nieuw $route = "/:lang/:controller/:action/:id"; ?> |
Dit is inderdaad een veel mooiere oplossing.quote:Op zaterdag 15 juni 2013 19:28 schreef zoem het volgende:
Ik ken CI niet zo heel goed, maar ik neem aan dat er een soort router in zit. Met een route pattern zoals in ZF kun je urisegmenten labelen, zodat je niet afhankelijk bent van de volgorde.
[ code verwijderd ]
Dit lijkt me de mooiste oplossing voor het probleem, maar ik weet niet in hoeverre CI dergelijke patterns toestaat en in hoeverre die gemapped worden richting je controllers.
De regex-patterns die in je post staan zijn onderhoudstechnisch niet zo ideaal. Bij elke nieuwe controller moet je het pattern aanpassen, waardoor het op de lange termijn een complexe regex kan worden.
1 2 3 4 5 | <?php $langs = array('nl','en','de'); $pattern = '~^(('. implode('|', $langs) .')/)?(news|nieuws)/(\d+)~'; ?> |
Ik zal het zo eens proberen. Bedankt.quote:Op zaterdag 15 juni 2013 20:22 schreef zoem het volgende:
Ik weet te weinig van de controlflow van CI af om er een concreet antwoord op te geven.
De routepatterns die je nu hebt zouden al iets dynamischer kunnen:
[ code verwijderd ]
Mooi is anders, maar scheelt het telkens herhalen van de talen bij alle routes.
Misschien heb je hier iets aan: https://github.com/EllisL(...)nationalization-i18n mbt tot het i18n probleem.
Hoe kan het eigenlijk dat je zowel /news/article als /en/news/article kan krijgen? Lijkt mij dat er ergens anders iets niet goed zit dan.quote:Op zaterdag 15 juni 2013 19:24 schreef pascal08 het volgende:
[..]
Klopt. Dus eigenlijk moet ik een functie maken die het juiste stukje url opzoekt.
Ik heb nog eens goed nagedacht over jullie tips.quote:Op zaterdag 15 juni 2013 21:13 schreef Maringo het volgende:
[..]
Hoe kan het eigenlijk dat je zowel /news/article als /en/news/article kan krijgen? Lijkt mij dat er ergens anders iets niet goed zit dan.
En anders misschien beter om /news/article door te verwijzen naar /en/news/article om zo de consistentie van je urls te behouden.
Youtube bekijkt uit welk je land komt dmv IP-adres geloof ik. Via meta-tags kan je aangeven welke taal de GoogleBots moeten gebruiken.quote:Op maandag 17 juni 2013 17:22 schreef pascal08 het volgende:
Previously...
Gisteren ben ik zover gekomen dat ik de taal in de URL werkend heb gekregen. Alle links werden dynamisch opgebouwd met behulp van de ingestelde taal in de config-file van CodeIgniter. Echter liep ik al gelijk tegen het probleem aan dat URL's van ajax requests ook werden veranderd, waardoor URL's niet meer klopten en ik kwam er al snel achter dat dit waarschijnlijk niet de juiste oplossing was.
Ik probeer zoveel mogelijk te lezen over de mogelijkheden van CodeIgniter, maar ik loop toch een beetje vast, omdat ik in grote lijnen niet precies weet wat ik moet doen.
Hoe ik denk dat het zit:
Er zijn 4 mogelijkheden om een taalvoorkeur te kunnen bepalen, namelijk d.m.v:
1. een cookie
2. een sessievariabele
3. de browsertaal
4. een database
Optie 1, 2 en 4 vereisen dat de gebruiker op de site is, of al eens is geweest.
De browsertaal is de enige manier om een voorkeur te kunnen bepalen zonder dat de gebruiker de site al eens heeft gezocht.
Het volgende voor mij een beetje onduidelijk:
Een cookie blijft voor een ingesteld periode op de computer van de gebruiker. Een sessie verloopt (zo heb ik het althans ingesteld) op het moment dat de gebruiker zijn/haar browser sluit. En de database is vanzelfsprekend altijd toegankelijk voor CI. Deze 3 opties zijn dus volgens mij allemaal geschikt om voor CI te bepalen welke taal er ingesteld moet worden.
Ik heb heel wat gegoogeld naar i18n scripts, maar bijna alle scripts gebruiken $config['language'] om de taal in op te slaan en uit te lezen. Mij is het nu onduidelijk wat $config['language'] precies is en wat het doet. Waar wordt deze instelling opgeslagen? Op de computer van de gebruiker, in een geheime database? Ik weet het echt niet.
Wat ik wil bereiken:
Ik wil hetzelfde als YouTube. Is er geen informatie in de vorm van een stukje URL, een sessievariabele, een cookie of wat dan ook? Dan wordt de browsertaal gebruikt.
Bezoekt de gebruiker de site via een URL die een taalvoorkeur bevat? Sla de taal op als sessievariabele (of in een cookie).
Stelt de gebruiker een andere taal in, maar is hij/zij niet ingelogd? Sla de taal op in een cookie.
Is de gebruiker ingelogd en stelt hij/zij een andere taal in? Sla de taal op in de database.
Wat nu nog onduidelijk is:
Hoe gaan de Google-bots hiermee om? Ik kwam namelijk door het googlen naar "browsertaal" erachter dat die bots logischerwijs geen browser gebruiken en dus ook geen browsertaalvoorkeur hebben. Moet ik dus nog een extra scenario toevoegen waarbij er dus helemaal geen informatie is en er wordt teruggevallen op een standaard taal?
Conclusie:
Op deze manier heb ik volgens mij alle mogelijke scenario's gedekt en hoeven de URL's niet per se informatie over de taal te bevatten. Wat ik nu moet doen is de core van CodeIgniter uitbreiden met een class die dus elke keer de juiste vertalingen ophaalt op basis van de taal die de gebruiker heeft ingesteld of de browsertaal.
PS: Ik hoop dat ik deze post zo overzichtelijk mogelijk heb gehouden. Er zitten een hele hoop vragen in verwerkt waar ik waarschijnlijk onmogelijk allemaal antwoord op kan krijgen. De belangrijkste vraag is in ieder geval welke volgorde ik moet aanhouden in het bepalen van de taal (als dit aan de orde is).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Array ( [id] => 95 [titel] => nieuwsbericht 1! [inhoud] => eorighreg [url] => nieuwsbericht-1 [type] => nieuws [volgorde] => [images] => 0 [parent_id] => 0 [client_id] => 3 [menu] => 0 [subsite] => 2 ) |
1 2 3 4 5 6 7 8 9 10 11 | 9 n e n n 0 0 3 0 2 |
1 2 3 | foreach($res as $output){ echo $output["titel"]."<br />"; } |
print_r $res geeft wel gewoon ditquote:Op dinsdag 18 juni 2013 11:40 schreef Pakspul het volgende:
print_r $res en dat soort grappen, tot hoever ben je zelf al gekomen met debuggen?
Pleur error_reporting(E_ALL); ook eens aan, want $res moet een array zijn waarin arrays zitten met daarin de id => 95, etc.
print_r($output); zou nu de volgende dingen moeten weer geven: 95, nieuwsbericht 1!, eorighreg, nieuwsbericht-1, etc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Array ( [id] => 95 [titel] => nieuwsbericht 1! [inhoud] => eorighreg [url] => nieuwsbericht-1 [type] => nieuws [volgorde] => [images] => 0 [parent_id] => 0 [client_id] => 3 [menu] => 0 [subsite] => 2 ) |
In dit geval kun je direct echo $res['titel'] doen. Je hebt een foreach nodig als deze item nog in een array zit.quote:Op dinsdag 18 juni 2013 13:01 schreef boskameel het volgende:
[..]
print_r $res geeft wel gewoon dit
[ code verwijderd ]
Print_r $output zoals op de manier die jij beschrijft. De array bevat 1 item met de juiste dingen die ik wil, het gaan alleen mis in de loop. Die error_reporting(E_ALL) staat aan, de errorlog blijft leeg, dus zijn er geen fouten neem ik aan? Alleen een verkeerde manier van loopen denk ik?
1 2 3 4 5 6 | Array ( [0] => Array( [id] => 95 ) ) |
1 | int i = (dx + 2*5) % 5; |
1 2 3 4 5 6 7 8 | int i; if (dX == -1) { i = 4; } else if (dX == 5) { i == 0; } else { i = dx; } |
1 2 3 4 5 6 | <?php $foo = (string) 'bar'; echo $foo[0]; //output: b echo $foo[1]; //output: a echo $foo['onbestaande-index']; //output: b ?> |
Geef de gehele php code es vanaf het aanmaken van de query tot en met het uitvoeren van de result set.quote:Op dinsdag 18 juni 2013 13:01 schreef boskameel het volgende:
[..]
print_r $res geeft wel gewoon dit
[ code verwijderd ]
Print_r $output zoals op de manier die jij beschrijft. De array bevat 1 item met de juiste dingen die ik wil, het gaan alleen mis in de loop. Die error_reporting(E_ALL) staat aan, de errorlog blijft leeg, dus zijn er geen fouten neem ik aan? Alleen een verkeerde manier van loopen denk ik?
Als $res een 1-dimensionale array teruggeeft zal een foreach loopen over de elementen in die array, de index ['titel'] is er dan niet.quote:
Die laatste levert waarschijnlijk ook een notice op. Maar die wordt standaard genegeerd.quote:Op dinsdag 18 juni 2013 13:13 schreef KomtTijd... het volgende:
Stukje php-weirdness.
[ code verwijderd ]
Ik ben wel benieuwd watvoor MySQL-functie je gemaakt hebt dat'ie inconsistent is in de opbouw van de output.
Mijn vermoeden bleek niet te kloppen:quote:Op dinsdag 18 juni 2013 13:13 schreef KomtTijd... het volgende:
Stukje php-weirdness.
[ code verwijderd ]
1 | Warning: Illegal string offset 'onbestaande-index' in php shell code on line 1 |
Hoewel de uitkomst raar lijkt, is het gedocumenteerd gedrag:quote:Op dinsdag 18 juni 2013 13:13 schreef KomtTijd... het volgende:
Stukje php-weirdness.
[ code verwijderd ]
Ik ben wel benieuwd watvoor MySQL-functie je gemaakt hebt dat'ie inconsistent is in de opbouw van de output.
Positie 0 bevat dus het karakter 'b'.quote:String conversion to numbers
When a string is evaluated in a numeric context, the resulting value and type are determined as follows.
If the string does not contain any of the characters '.', 'e', or 'E' and the numeric value fits into integer type limits (as defined by PHP_INT_MAX), the string will be evaluated as an integer. In all other cases it will be evaluated as a float.
The value is given by the initial portion of the string. If the string starts with valid numeric data, this will be the value used. Otherwise, the value will be 0 (zero).
Alleen nog een beetje mee gespeeld, nog geen volwaardige applicatie omheen gebouwd.quote:
Zulke reacties hoor ik vaker, lijkt alsof ZF2 een beetje de boot gemist heeftquote:Op dinsdag 18 juni 2013 21:41 schreef zoem het volgende:
[..]
Alleen nog een beetje mee gespeeld, nog geen volwaardige applicatie omheen gebouwd.
De ontwikkeling heeft gewoon te lang geduurd en daardoor hebben andere frameworks zoals Symfony 2 een voorsprong gekregen. ZF2 is op bepaalde punten radicaal anders dan ZF1, dus je migreert (projecten) niet zomaar even. Daarnaast is de performance van ZF2 nog niet optimaal; in het beste geval gelijk aan ZF1. Veel meer function calls. De steilere learning curve van ZF helpt natuurlijk ook niet echt.quote:Op dinsdag 18 juni 2013 21:45 schreef henrivo het volgende:
[..]
Zulke reacties hoor ik vaker, lijkt alsof ZF2 een beetje de boot gemist heeft
Das inderdaad erg jammer. Ik heb ook het idee dat de reputatie van Zend Framework 2 een stuk lager is dan die van Zend Framework destijds. Mee eens?quote:Op dinsdag 18 juni 2013 21:54 schreef zoem het volgende:
[..]
De ontwikkeling heeft gewoon te lang geduurd
Ja, zoiets zou je wellicht kunnen stellen. Niet in de zin dat het een slechte reputatie heeft, maar dat het zich nog moet bewijzen. En daar gaat tijd overheen.quote:Op dinsdag 18 juni 2013 22:09 schreef henrivo het volgende:
[..]
Das inderdaad erg jammer. Ik heb ook het idee dat de reputatie van Zend Framework 2 een stuk lager is dan die van Zend Framework destijds. Mee eens?
quote:
+ allemaal hendig chique features.quote:Op dinsdag 18 juni 2013 22:47 schreef Juicyhil het volgende:
Sublime Text is echt de meest geniale editor. Lekker licht, maar toch uit te breiden met allerlei coole dingen.
Weet je of er een FTP plugin beschikbaar is?quote:Op dinsdag 18 juni 2013 22:47 schreef Juicyhil het volgende:
Sublime Text is echt de meest geniale editor. Lekker licht, maar toch uit te breiden met allerlei coole dingen.
Ja, ik kwam toen wel een betaalde plugin tegen. Maar helaas nog geen gratis plugin gezien. Ik werk, helaas, ook met enige regelmaat via FTP. Moet dan iedere keer via Cyberduck werken enzo. Heb je natuurlijk weer twintig Sublime-vensters openstaan.quote:Op dinsdag 18 juni 2013 22:51 schreef xaban06 het volgende:
[..]
Weet je of er een FTP plugin beschikbaar is?
Ik vind het maar niks om lokaal te editten en vervolgens moet uploaden.
Mja, en anders de folder op de server mounten op mijn desktop mbv samba oid. Thanks.quote:Op dinsdag 18 juni 2013 22:53 schreef Juicyhil het volgende:
[..]
Ja, ik kwam toen wel een betaalde plugin tegen. Maar helaas nog geen gratis plugin gezien. Ik werk, helaas, ook met enige regelmaat via FTP. Moet dan iedere keer via Cyberduck werken enzo. Heb je natuurlijk weer twintig Sublime-vensters openstaan.
Ja leuk, een Netbeans gebruiken met 1893 functies waarvan je er 5 regelmatig gebruikt. Maar ondertussen wel je geheugen opvreet. Zelfs voor Java gebruik ik gewoon Sublime. Je hebt niets meer nog dan code highlighting en een treeview links.quote:
quote:
quote:Op dinsdag 18 juni 2013 23:00 schreef Juicyhil het volgende:
[..]
Ja leuk, een PhpStorm gebruiken met 1893 functies waarvan je er 5 regelmatig gebruikt. Maar ondertussen wel je geheugen opvreet. Zelfs voor Java gebruik ik gewoon Sublime. Je hebt niets meer nog dan code highlighting en een treeview links.
Dat het gedocumenteerd is wil niet zeggen dat het logisch/praktisch isquote:Op dinsdag 18 juni 2013 21:40 schreef zoem het volgende:
[..]
Hoewel de uitkomst raar lijkt, is het gedocumenteerd gedrag:
[..]
Positie 0 bevat dus het karakter 'b'.
Even teruggelezen: dit is dus ook precies waarom boskameel telkens de eerste letter te zien krijgt. Zoals anderen al aangaven wordt de foreach losgelaten op een platte (ééndimensionale) array en niet op een tweedimensionale array.
Geheugen genoeg, geen last van.quote:
Het is maar net wat je erin zoekt. Een IDE is zo veel meer dan een text editor. Denk aan refactoren, deployment, references traceren, unit tests, libraries linken, debugging en nog veel meer. Een text editor heeft over het algemeen geen weet van de context, behalve wat highlighting en eventueel wat hints.quote:Op dinsdag 18 juni 2013 23:00 schreef Juicyhil het volgende:
[..]
Ja leuk, een Netbeans gebruiken met 1893 functies waarvan je er 5 regelmatig gebruikt. Maar ondertussen wel je geheugen opvreet. Zelfs voor Java gebruik ik gewoon Sublime. Je hebt niets meer nog dan code highlighting en een treeview links.
Code highlighting en een treeview zijn wel het absolute minimum. Dat wil niet zeggen dat je niet meer functionaliteit gebruikt. Ik vind een goede auto-complete op functienamen en class names ook erg handig en nuttig, om eens wat te noemen.quote:Op dinsdag 18 juni 2013 23:00 schreef Juicyhil het volgende:
[..]
Ja leuk, een Netbeans gebruiken met 1893 functies waarvan je er 5 regelmatig gebruikt. Maar ondertussen wel je geheugen opvreet. Zelfs voor Java gebruik ik gewoon Sublime. Je hebt niets meer nog dan code highlighting en een treeview links.
Auto-complete zoals IntelliSense in Visual Studio is inderdaad heel erg fijn. Maar zo goed als die ben ik hem voor PHP nergens tegengekomen. Zeker niet in combinatie met frameworks (zeker niet de wat onbekendere).quote:Op woensdag 19 juni 2013 00:22 schreef Light het volgende:
[..]
Code highlighting en een treeview zijn wel het absolute minimum. Dat wil niet zeggen dat je niet meer functionaliteit gebruikt. Ik vind een goede auto-complete op functienamen en class names ook erg handig en nuttig, om eens wat te noemen.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |