Gemakkelijker om drop table te zeggen dan de selectie die net dood is een query voor te schrijven.quote:
NodeJS is geen taal. JavaScript is de taal, NodeJS is een runtime.quote:Op vrijdag 7 juli 2017 19:04 schreef DevFreak het volgende:
Wtf. Iedereen over op speelgoedtaal NodeJS ofzo?
Anyway, voor degenen die dit lezen,
Ik ben bezig met een nieuw framework en ben nu bezig met een nieuwe implementatie van een authenticatiesysteem.
iknow, ik mag wel wat preciezer zijnquote:Op vrijdag 7 juli 2017 19:08 schreef Monolith het volgende:
[..]
NodeJS is geen taal. JavaScript is de taal, NodeJS is een runtime.
Overigens is speelgoedtaal ook hoe de gemiddelde ontwikkelaar in een wat serieuzere taal over PHP denkt.
Ligt eraan wat je met een taal doet natuurlijkquote:Overigens is speelgoedtaal ook hoe de gemiddelde ontwikkelaar in een wat serieuzere taal over PHP denkt.
Afgezien van het beperkte toepassingsgebied van een taal als PHP is het grootste manco van de taal net als bij JavaScript gewoon dat er heel veel mis is met het fundament. Het is en blijft een laagdrempelig mengelmoesje van een niet al te consistente C wrapper en een halfbakken poging om OO principes uit Java over te nemen.quote:Op vrijdag 7 juli 2017 19:35 schreef DevFreak het volgende:
[..]
iknow, ik mag wel wat preciezer zijn
[..]
Ligt eraan wat je met een taal doet natuurlijk
De meeste webdevelopers die in C# schrijven hebben ooit PHP 5.x aangeraakt en ja, in vergelijking met PHP 7.x zit daar een wereld van verschil. Als ze vervolgens zeggen dat het geen multithreading/websockets ondersteund begin ik al hard te lachen.
Ik zie gebrek aan kennis toch wel als een bedreiging voor de PHP community. Daardoor zitten we nu opgezadeld met troep zoals NodeJS.
Wat wil je bereiken?quote:Op vrijdag 28 april 2017 15:28 schreef BrainOverfloW het volgende:
Even een vraagje over het gebruik van Git. Hoewel dat hier een beetje off-topic ligt, gok ik er op dat er hier wel ontwikkelaars tussen zitten die ook Git gebruiken.
Als ik in een bestaande branch werk kan ik mijn update naar remote sturen met
[ code verwijderd ]
werk ik echter in een nieuwe branch die nog nooit naar remote gestuurd is moet ik deze aanmaken met:
[ code verwijderd ]
Bestaat er een enkel commando dat zegt, push naar brach, als deze niet bestaat, maak de branch automatisch aan?
1 2 3 4 5 6 7 8 | git checkout -t upstream/mainline -b naam-van-de-tak git push origin naam-van-de-tak:naam-van-de-tak # fiddle fiddle git add foo/bar git commit -m "Mooie commit message" git push origin naam-van-de-tak:naam-van-de-tak |
Wat ik, inmiddels succesvol, wou bereiken is dat ik zonder nadenken commando's af kan vuren in mijn terminal om dingen van/naar git te sturen.quote:Op vrijdag 14 juli 2017 13:30 schreef slacker_nl het volgende:
[..]
Wat wil je bereiken?
Ik heb zelf de volgende workflow, upstream is de upstream repo, origin is m'n eigen repo
[ code verwijderd ]
Ik snap niet waarom je --set-upstream in je push gooit. Dat is (volgens mij) alleen nodig om de branch te tracken, maw, als je een git pull doet dat je van die specifieke remote die specifieke branch bij pulled.
Ik gebruik tracking branches om zo de upstream variant te kunnen volgen en net voor m'n final MR een rebase te kunnen uitvoeren waardoor de tree schoon blijft van merges.
1 2 3 4 5 6 7 8 9 10 11 12 | # Ik zit in een up-to-date master gcb newFeature # git checkout -b newFeature # Werk aan de feature gac "Feature doet dit & dat" # git commit -am "Feature doet dit & dat" gps # git push # Hier gaat Git, als het de eerste push is, zeuren dat ik # 'git push --set-upstream origin newFeature' moet gebruiken fuck # Git pushed als nog met de upstream. |
Ja die werkt prima, dank voor de tip .quote:Op vrijdag 14 juli 2017 17:20 schreef KomtTijd... het volgende:
Ja lekker is die he? Daar gebruik ik fuck ook het meest voor.
Ik moet ook nog eens wat handige aliases voor git commando's invoeren. -am gebruik ik nooit meer trouwens, dat heeft me iets te vaak in de kont gebeten met onbedoelde diffs.
Sorry, ik ben een aantal dagen "off the line" geweest.quote:Op vrijdag 7 juli 2017 19:57 schreef Monolith het volgende:
[..]
Afgezien van het beperkte toepassingsgebied van een taal als PHP is het grootste manco van de taal net als bij JavaScript gewoon dat er heel veel mis is met het fundament. Het is en blijft een laagdrempelig mengelmoesje van een niet al te consistente C wrapper en een halfbakken poging om OO principes uit Java over te nemen.
Net als bij JavaScript zijn er wel heel wat frameworks en libraries die de problemen met het fundament repareren, maar het laat zo veel ruimte over voor enorm slechte code dat dat in de praktijk ook erg gebruikelijk is.
Ik heb er zelf ook al tijden niets meer mee gedaan, maar als ik zo even zoek op multithreading in PHP kom ik uit op pthreads. Als ik dat lees dan komt dat in de verste verte niet in de buurt bij wat volwassen talen als C# en Java bieden. Dit is echt de minimale implementatie die 20 jaar geleden al in Java zat.
C# had ik overigens ook al een jaar of acht niet meer gedaan, maar recentelijk weer een project mee gedaan en die taal heeft echt wel flinke stappen gemaakt.
Java is wat conservatiever qua ontwikkeling ook ivm backwards compatibility, maar de kracht van de JVM is dan weer dat je er ook gewoon andere talen op kunt bouwen die de gigantische diversiteit aan Java libraries kunnen gebruiken, dus als Java als taal je niet bevalt pak je Scala of Kotlin.
Gewoon de Javascript client van SignalR gebruiken in je PHP applicatie als je staat op PHP.quote:Op zondag 16 juli 2017 16:24 schreef DevFreak het volgende:
[..]
Sorry, ik ben een aantal dagen "off the line" geweest.
C# heeft zeker grote stappen gemaakt. Kijk alleen al hoe gemakkelijk MS het heeft gemaakt om asynchroom te programmeren.
Ik zit er over na te denken een klein spelletje o.i.d. te maken en zou graag een combinatie willen zien van PHP en SignalR (webpagina's serven en authenticatie etc. met PHP, en SignalR integreren). Ik zou ook over kunnen gaan op ASP.NET, maar ik blijf liever gebruik maken van PHP.
Ik denk dat het technisch wel mogelijk zou moeten zijn maar heb op het moment nog geen idee hoe dit vorm zou kunnen geven.
Ik zit te denken aan iets heel simpels zoals boter-kaas en eieren spelletje of een chatprogramma, zodat ik mezelf eindelijk eens bekend kan maken met SignalR. Heb er al veel over gelezen en gehoord en heb het ook al in actie gezien. Ik kan er behoorlijk enthausiast van worden.quote:Op zondag 16 juli 2017 16:55 schreef Monolith het volgende:
[..]
Gewoon de Javascript client van SignalR gebruiken in je PHP applicatie als je staat op PHP.
Of simpelweg gewoon zelf websockets gebruiken. Ik weet niet wat je precies wilt gaan doen verder, maar er zijn vast de nodige PHP libraries te vinden die daarvoor al wat basisfunctionaliteit bieden.
Er is geloof ik ook een .Net Core variant van SignalR, dus die is dan cross platform en niet afhankelijk van een Windows server.quote:Op zondag 16 juli 2017 17:09 schreef DevFreak het volgende:
[..]
Ik zit te denken aan iets heel simpels zoals boter-kaas en eieren spelletje of een chatprogramma, zodat ik mezelf eindelijk eens bekend kan maken met SignalR. Heb er al veel over gelezen en gehoord en heb het ook al in actie gezien. Ik kan er behoorlijk enthausiast van worden.
Mijn kennis van ASP.NET is echter beperkt dus daarom blijf ik voor simpele dingen als het serveren van webpagina's en inloggen liever nog even hangen op PHP. Maar dan is dus de vraag hoe je het C# programma beveiligd. Ik moet nog even uitzoeken hoe dit allemaal zit. Op basis van wat ik tot nu toe gezien heb, heb je sowieso IIS/Azure nodig.
Laravel REST en dan is het verder weinig boeiend wat voor frontend er tegenaan babbelt. Zou zelf voor React gaan. Veel mooier in de zin hoe het omgaat met verschillende statussen waar je applicatie zich bevindt,quote:Op zondag 16 juli 2017 17:29 schreef Monolith het volgende:
[..]
Er is geloof ik ook een .Net Core variant van SignalR, dus die is dan cross platform en niet afhankelijk van een Windows server.
Als je toch met SignalR aan de slag gaat zou ik eerlijk gezegd PHP er toch echt wel tussenuit knikkeren. Als je in PHP fatsoenlijke applicaties bouwt met bijvoorbeeld een MVC structuur, dan is dat in C# niet heel anders. Bouw je front-end in iets als Angular en bouw back-end services gewoon als REST.
Ja, maar het gaat hier om het gebruik maken van SignalR. Dan moet je toch is C# gaan ontwikkelen en is een PHP laagje voor andere zaken eigenlijk loze ballast.quote:Op zondag 16 juli 2017 17:56 schreef Boze_Appel het volgende:
[..]
Laravel REST en dan is het verder weinig boeiend wat voor frontend er tegenaan babbelt. Zou zelf voor React gaan. Veel mooier in de zin hoe het omgaat met verschillende statussen waar je applicatie zich bevindt,
Oh, sorry, my bad, ik dacht dat ik in het PHP/MySQL-topic zat.quote:Op zondag 16 juli 2017 18:00 schreef Monolith het volgende:
[..]
Ja, maar het gaat hier om het gebruik maken van SignalR. Dan moet je toch is C# gaan ontwikkelen en is een PHP laagje voor andere zaken eigenlijk loze ballast.
Ik zou eens kijken naar zoiets:
https://docs.microsoft.co(...)cations-with-signalr
Het afraden van PHP past ook prima in zo'n topic.quote:Op zondag 16 juli 2017 18:01 schreef Boze_Appel het volgende:
[..]
Oh, sorry, my bad, ik dacht dat ik in het PHP/MySQL-topic zat.
Jaja, Bart.quote:Op zondag 16 juli 2017 18:03 schreef Monolith het volgende:
[..]
Het afraden van PHP past ook prima in zo'n topic.
Omtrent React speelt overigens wat gedoe met licensing.quote:Op zondag 16 juli 2017 17:56 schreef Boze_Appel het volgende:
[..]
Laravel REST en dan is het verder weinig boeiend wat voor frontend er tegenaan babbelt. Zou zelf voor React gaan. Veel mooier in de zin hoe het omgaat met verschillende statussen waar je applicatie zich bevindt,
Ja, ze zijn aan het zijkwijven, dat weet ik. Denk niet dat het ergens heen gaat. Het is spierballen laten zien.quote:Op maandag 17 juli 2017 18:09 schreef Monolith het volgende:
[..]
Omtrent React speelt overigens wat gedoe met licensing.
Ik heb voor het up-to-date houden van m'n master niks nodig, ik fetch gewoon 1x per dag m'n upstream en dan ben ik "bij", voordat ik m'n code aanbied rebase ik en dan is het klaar.quote:Op vrijdag 14 juli 2017 14:31 schreef BrainOverfloW het volgende:
[..]
Wat ik, inmiddels succesvol, wou bereiken is dat ik zonder nadenken commando's af kan vuren in mijn terminal om dingen van/naar git te sturen.
Die upstream melding onderbrak dat steeds omdat Git dan zeurt dat de stream niet bestaat. Dan moet ik met de cursor de suggestie selecteren en plakken om door te kunnen.
Nu met de suggestie van KomtTijd... kan ik voor iedere branch de zelfde serie commando's door blijven typen tot het gepushed is.
Wat ik nu doe, met zelfgemaakte shortcodes, is
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | nr FOO-XXXXX Dit is mijn vet kekke feature of bug branch # vim vim vim git gui # dit werkt zoveel fijner dan git add -p # Dit kan je automaten, maar .. meh. git co sprint git reset --hard upstream/sprint git merge - git push upstream sprint:sprint # Rinse repeat nr FOO-XXXXX Nog meer dingen |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | nr=alias new_repo upstream/master new_repo () { if [ $# -lt 3 ] then echo "Empty branch, ticket or name" >&2 return 1 fi local branch=$1 local ticket=$2 shift shift local name=$(echo $@ | sed -e 's/ \+/_/g') ticket=$(echo $ticket | sed -e 's/^FOO\-\?//i') local br="FOO-$ticket-$name" git co -t $branch -b "$br" if [ $? -eq 0 ] then git push origin "$br:$br" fi } |
Het klinkt alsof je een query uitvoert waar je geen goede indexes voor hebt. Dan moet MySQL een full table scan doen, en met 120 miljoen rijen duurt dat even. Ik zou beginnen met een EXPLAIN SELECT voor die zware query om te zien waar de verbeteringen kunnen worden gedaan.quote:Op zaterdag 2 september 2017 10:28 schreef bondage het volgende:
Iemand hier een idee of een MyISAM tabel gebruik kan maken van meerdere threads? Ik kan er bijzonder weinig over vinden en het meeste is oude meuk. Wat ik wel kan vinden is dat het beter is over stappen op InnoDB, deze engine zou dat wel moeten kunnen.
Ik vraag dit omdat mij opvalt dat MySQL maar een enkele core gebruikt als ik een zware query uitvoer, het doorzoeken van een DB met 120.000.000 records duurt dan ook onnodig lang.
[ afbeelding ]
Voordat ik de tabel om ga zetten (tijdrovende klus) wil ik echter zeker weten of het gaat helpen of dat het eventueel toch mogelijk is met MyISAM.
De serverversie die ik gebruik is: 5.7.19-0ubuntu0.16.04.1
Er zit een index op het veld waar ik op query. Ik heb een hele simpele uitgevoerd, dit duurt ongeveer een halve minuut om weer te geven...quote:Op zondag 3 september 2017 09:50 schreef Light het volgende:
[..]
Het klinkt alsof je een query uitvoert waar je geen goede indexes voor hebt. Dan moet MySQL een full table scan doen, en met 120 miljoen rijen duurt dat even. Ik zou beginnen met een EXPLAIN SELECT voor die zware query om te zien waar de verbeteringen kunnen worden gedaan.
1 2 | id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE fok_post NULL ref year year 2 const 12029801 100.00 NULL |
Gewoon, zo: SELECT * FROM `fok_post` WHERE `year` = 2012quote:Op zondag 3 september 2017 10:23 schreef zoem het volgende:
In de EXPLAIN kun je zien dat MySQL 12M rows moet doorzoeken, dus dat is niet efficient. Hoe ziet de query eruit? Overigens kan een index op jaartal relatief inefficiënt zijn door de lage selectiviteit.
1 | SELECT * FROM fok_post WHERE year = 2012 |
1 | SELECT * FROM fok_post WHERE id < 12000000 |
Als hij een full scan doet lijkt me het nog redelijk snel... Op zich maakt het niet zoveel uit dat het 30 sec. duurt voordat Sphinx de resultaten heeft, het viel me gewoon op dat ik weinig verschil merk ten opzichte van mijn vorige server en dat er slechts één core wordt gebruikt als ik de query uitvoer.quote:Op zondag 3 september 2017 10:52 schreef zoem het volgende:
Id's zijn uniek, dus logisch dat je vrijwel instant resultaat hebt. Bij de jaartallen zijn er waarschijnlijk ~20 unieke waardes, dus het kan zijn dat de optimizer kiest voor een full table scan. Gezien filtered op 100% staat lijkt dat ook het geval te zijn.
quote:Op zondag 3 september 2017 10:57 schreef Light het volgende:
Sowieso zou ik de snelheden van queries als
[ code verwijderd ]
[ code verwijderd ]
Dan neem ik aan dat je in beide gevallen ongeveer evenveel records terugkrijgt. (Dat kun je nog vergelijken met een SELECT COUNT(*))
Data transfer bij zulke aantallen rijen is ook een belangrijke factor.
1 | SELECT * FROM fok_post WHERE id < 12000000 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | root@thuisserver:~# hdparm -Tt /dev/sda /dev/sda: Timing cached reads: 16568 MB in 2.00 seconds = 8291.40 MB/sec Timing buffered disk reads: 594 MB in 3.00 seconds = 197.76 MB/sec root@thuisserver:~# time sh -c "dd if=/dev/zero of=testfile bs=100k count=1k && sync" 1024+0 records in 1024+0 records out 104857600 bytes (105 MB, 100 MiB) copied, 0.0728517 s, 1.4 GB/s real 0m0.774s user 0m0.008s sys 0m0.072s |
Ik ga een kopie van de tabel maken en hem omzetten, kan ik eea testen. Het omzetten gaat een middagje duren denk ik...quote:Op zondag 3 september 2017 11:31 schreef zoem het volgende:
Naar InnoDB converteren zou ik zelf wel gedaan hebben. MyISAM wordt niet echt meer doorontwikkeld en in MySQL 5.6+ kent MyISAM amper nog voordelen boven InnoDB.
Ik vrees dat je deze query met de huidige dataset niet kan versnellen. Wellicht valt de data anders op te vragen (in batches met year=A and id BETWEEN x AND y) of kijken of partitioning iets kan betekenen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | object(InstagramAPI\Response\DirectInboxResponse)#637 (3) { ["httpResponse"]=> object(GuzzleHttp\Psr7\Response)#645 (6) {*knip*} ["_compiledPropertyMapLink":"LazyJsonMapper\LazyJsonMapper":private]=> &array(9) {*knip*} ["_objectData":"LazyJsonMapper\LazyJsonMapper":private]=> array(5) { ["inbox"]=> array(5) { ["threads"]=> array(20) { array(27) { ["thread_id"]=> string(39) "340282366841710300949128162281775301401" ["users"]=> array(1) { [0]=> array(9) { ["pk"]=> int(12345678) *knip* } } } |
Als ik moet gokken $test->getInbox()->getThreads()quote:Op dinsdag 20 februari 2018 22:47 schreef qu63 het volgende:
Topic is al wat langer stil, maar ik hoop toch dat jullie me kunnen helpen..
Uit een var_dump($test) komt het volgende naar voren:
[ code verwijderd ]
Hoe kan ik die 20 arrays in 'threads' nu benaderen?
print_r($test->inbox->threads) geeft geen resultaat..
Ik vermoed zelf dat het het te maken heeft met die ':private', maar hoe ik daar omheen kan werken.....
Na de threads array komen nog 4 arrays, deze weggelaten omdat deze niet relevant zijn. De code hier is dus niet volledig, maar dat maakt niet uit voor hoe ik die array wil benaderen.
Ja, dat dacht ik dus ook.....quote:Op dinsdag 20 februari 2018 22:58 schreef WyriHaximus het volgende:
[..]
Als ik moet gokken $test->getInbox()->getThreads()
https://github.com/mgp25/(...)nboxResponse.php#L10
https://github.com/mgp25/(...)/DirectInbox.php#L12
1 | AH01071: Got error 'PHP message: PHP Fatal error: Uncaught LazyJsonMapper\\Exception\\LazyJsonMapperException: Unknown function "getThreads". in *bla*/LazyJsonMapper.php:2099\nStack trace:\n#0 *bla*.php(134): LazyJsonMapper\\LazyJsonMapper->__call('getThreads', Array)\n#1 {main}\n thrown in*bla*LazyJsonMapper.php on line 2099\n' |
Ok maar wat geeft var_dump($test->getInbox()); dan als class terug?quote:Op dinsdag 20 februari 2018 23:01 schreef qu63 het volgende:
[..]
Ja, dat dacht ik dus ook.....
[ code verwijderd ]
var_dump($test->getInbox()->getThreads()); geeft:quote:Op dinsdag 20 februari 2018 23:03 schreef WyriHaximus het volgende:
[..]
Ok maar wat geeft var_dump($test->getInbox()); dan als class terug?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | array(20) { [0]=> object(InstagramAPI\Response\Model\DirectThread)#637 (2) { ["_compiledPropertyMapLink":"LazyJsonMapper\LazyJsonMapper":private]=> &array(29) { *blablabullshit* } ["_objectData":"LazyJsonMapper\LazyJsonMapper":private]=> array(27) { ["thread_id"]=> string(39) "123456789123456789123456789123456789123456" ["users"]=> array(1) {} *etc etc etc* } } } En dan nog 19 andere arrays met dezelfde opmaak... |
Je hebt 20 instances van DirectThread in je array zitten. Dus foreach (test->getInbox()->getThreads() as $thread) {$thread->method()} en je kunt $thread aanspreken.quote:Op dinsdag 20 februari 2018 23:14 schreef qu63 het volgende:
[..]
var_dump($test->getInbox()->getThreads()); geeft:
[ code verwijderd ]
quote:Op dinsdag 20 februari 2018 23:18 schreef WyriHaximus het volgende:
[..]
Je hebt 20 instances van DirectThread in je array zitten. Dus foreach (test->getInbox()->getThreads() as $thread) {$thread->method()} en je kunt $thread aanspreken.
1 2 3 4 | foreach ($test->getInbox()->getThreads() as $thread123) { $thread123->method(); } |
1 | AH01071: Got error 'PHP message: PHP Fatal error: Uncaught LazyJsonMapper\\Exception\\LazyJsonMapperException: Unknown function "method". in blabla.php |
Hij bedoelde de method die je wil gebruiken. Nu heb ik de voorgeschiedenis niet gelezen,maar ik denk dat je de inhoud wil zien?quote:Op dinsdag 20 februari 2018 23:34 schreef qu63 het volgende:
[..]
[ code verwijderd ]
[ code verwijderd ]
T irritante is dat ik wéét dat ik dichtbij zit, maar het werkt dus net niet.. In een var_dump komt alle info voorbij die ik wil hebben, ik kan deze alleen neit direct benaderen omdat ze dus in een "["_objectData":"LazyJsonMapper\LazyJsonMapper":private]" array zitten..
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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | /** * DirectThreadItem. * * @method ActionLog getActionLog() * @method string getClientContext() * @method DirectExpiringSummary getExpiringMediaActionSummary() * @method mixed getHideInThread() * @method string getItemId() * @method mixed getItemType() * @method mixed getLike() * @method DirectLink getLink() * @method mixed getLiveVideoShare() * @method Location getLocation() * @method DirectThreadItemMedia getMedia() * @method Item getMediaShare() * @method Placeholder getPlaceholder() * @method Item[] getPreviewMedias() * @method User getProfile() * @method Item getRavenMedia() * @method DirectReactions getReactions() * @method ReelShare getReelShare() * @method string[] getSeenUserIds() * @method StoryShare getStoryShare() * @method string getText() * @method mixed getTimestamp() * @method string getUserId() * @method bool isActionLog() * @method bool isClientContext() * @method bool isExpiringMediaActionSummary() * @method bool isHideInThread() * @method bool isItemId() * @method bool isItemType() * @method bool isLike() * @method bool isLink() * @method bool isLiveVideoShare() * @method bool isLocation() * @method bool isMedia() * @method bool isMediaShare() * @method bool isPlaceholder() * @method bool isPreviewMedias() * @method bool isProfile() * @method bool isRavenMedia() * @method bool isReactions() * @method bool isReelShare() * @method bool isSeenUserIds() * @method bool isStoryShare() * @method bool isText() * @method bool isTimestamp() * @method bool isUserId() * @method $this setActionLog(ActionLog $value) * @method $this setClientContext(string $value) * @method $this setExpiringMediaActionSummary(DirectExpiringSummary $value) * @method $this setHideInThread(mixed $value) * @method $this setItemId(string $value) * @method $this setItemType(mixed $value) * @method $this setLike(mixed $value) * @method $this setLink(DirectLink $value) * @method $this setLiveVideoShare(mixed $value) * @method $this setLocation(Location $value) * @method $this setMedia(DirectThreadItemMedia $value) * @method $this setMediaShare(Item $value) * @method $this setPlaceholder(Placeholder $value) * @method $this setPreviewMedias(Item[] $value) * @method $this setProfile(User $value) * @method $this setRavenMedia(Item $value) * @method $this setReactions(DirectReactions $value) * @method $this setReelShare(ReelShare $value) * @method $this setSeenUserIds(string[] $value) * @method $this setStoryShare(StoryShare $value) * @method $this setText(string $value) * @method $this setTimestamp(mixed $value) * @method $this setUserId(string $value) * @method $this unsetActionLog() * @method $this unsetClientContext() * @method $this unsetExpiringMediaActionSummary() * @method $this unsetHideInThread() * @method $this unsetItemId() * @method $this unsetItemType() * @method $this unsetLike() * @method $this unsetLink() * @method $this unsetLiveVideoShare() * @method $this unsetLocation() * @method $this unsetMedia() * @method $this unsetMediaShare() * @method $this unsetPlaceholder() * @method $this unsetPreviewMedias() * @method $this unsetProfile() * @method $this unsetRavenMedia() * @method $this unsetReactions() * @method $this unsetReelShare() * @method $this unsetSeenUserIds() * @method $this unsetStoryShare() * @method $this unsetText() * @method $this unsetTimestamp() * @method $this unsetUserId() |
Ah, natuurlijk.quote:Op woensdag 21 februari 2018 00:00 schreef ViPeRII het volgende:
[..]
Hij bedoelde de method die je wil gebruiken. Nu heb ik de voorgeschiedenis niet gelezen,maar ik denk dat je de inhoud wil zien?
Dan kan je een van de volgende methods gebruiken:
[ code verwijderd ]
In jouw geval $thread123->getText(); ?
Een Thread bevat ThreadItems, die zul je eerst moeten ophalen voordat je ze kunt gebruiken. Dan wordt het zoiets:quote:Op woensdag 21 februari 2018 08:09 schreef qu63 het volgende:
[..]
Ah, natuurlijk.
Helaas krijg ik dan een "Unknown function "getText"" terug.
Vanavond maar weer verder klooien..
1 2 3 4 5 6 7 8 9 | <?php foreach ($test->getInbox()->getThreads() as $thread123) { $items = $thread123->getItems(); foreach($items as $item) { echo $item->getText(); } } ?> |
Die echo was alleen om wat output te zienquote:Op woensdag 21 februari 2018 22:51 schreef Light het volgende:
[..]
Een Thread bevat ThreadItems, die zul je eerst moeten ophalen voordat je ze kunt gebruiken. Dan wordt het zoiets:
[ code verwijderd ]
En natuurlijk kun je ook andere dingen doen in plaats van echo.
coolquote:Op zaterdag 2 juni 2018 12:26 schreef ursel het volgende:
Ik zit eigenlijk volledig in CakePHP de laatste 2/3 jaar. Mee begonnen omdat ze het hier op het werk hebben. Cake2 is een drama. 3 is eigenlijk best wel leuk.
Daarom eigenlijk nooit de moeite genomen om in de hype van Laravel te stappen.
Ben momenteel met een projectje bezig om de scores van het klaverjassen bij te kunnen houden.
Cake? Daar hoor ik ook weinig meer over, is dat nog steeds een ding?quote:Op zaterdag 2 juni 2018 12:26 schreef ursel het volgende:
Ik zit eigenlijk volledig in CakePHP de laatste 2/3 jaar. Mee begonnen omdat ze het hier op het werk hebben. Cake2 is een drama. 3 is eigenlijk best wel leuk.
Daarom eigenlijk nooit de moeite genomen om in de hype van Laravel te stappen.
Ben momenteel met een projectje bezig om de scores van het klaverjassen bij te kunnen houden.
PHP al jaren niet meer aangeraakt. Enkel nog Java / Scala / C# / F# / Python en als het echt moet JavaScript.quote:
ik vind PHP leuker en mooier dan Pythonquote:Op zaterdag 2 juni 2018 12:56 schreef Monolith het volgende:
[..]
PHP al jaren niet meer aangeraakt. Enkel nog Java / Scala / C# / F# / Python en als het echt moet JavaScript.
Ik zou dan eens kijken naar PHP 7.x om de veranderingen en nieuwe features te bekijken.quote:Op zaterdag 2 juni 2018 12:56 schreef Monolith het volgende:
[..]
PHP al jaren niet meer aangeraakt. Enkel nog Java / Scala / C# / F# / Python en als het echt moet JavaScript.
Ik heb niet zo veel met Python als taal an sich (indentations als language construct ), maar het is wel leuk voor even wat snelle data sciencey REPL dingetjes met visualisaties in Jupyter notebooks.quote:Op woensdag 6 juni 2018 08:47 schreef DevFreak het volgende:
[..]
ik vind PHP leuker en mooier dan Python
Ik weet wel dat het minder beroerd is dan een jaar of wat geleden hoor, maar het blijft echt volkomen inferieur aan talen die van meet af aan goed zijn opgezet. PHP is ook een stuk beperkter in haar toepassingsgebieden. Het blijft een back-endtaaltje. Serieuze middlewaretoepassingen gaan mensen er hopelijk niet mee schrijven.quote:Op woensdag 6 juni 2018 09:26 schreef Aether het volgende:
[..]
Ik zou dan eens kijken naar PHP 7.x om de veranderingen en nieuwe features te bekijken.
Bijvoorbeeld hier: PHP 5.6 to PHP 7.0 (plus de guides voor hogere versies).
Ligt er maar aan hoe de taal gebruikt wordt en niet iedere taal is inderdaad handig voor elke toepassing.quote:Op woensdag 6 juni 2018 10:35 schreef Monolith het volgende:
Ik weet wel dat het minder beroerd is dan een jaar of wat geleden hoor, maar het blijft echt volkomen inferieur aan talen die van meet af aan goed zijn opgezet. PHP is ook een stuk beperkter in haar toepassingsgebieden. Het blijft een back-endtaaltje. Serieuze middlewaretoepassingen gaan mensen er hopelijk niet mee schrijven.
Python is toch wel heerlijk als je snel even wat moet neerzetten.quote:Op woensdag 6 juni 2018 08:47 schreef DevFreak het volgende:
[..]
ik vind PHP leuker en mooier dan Python
nee, is misschien wel een idee om een keer naar te kijkenquote:Op woensdag 6 juni 2018 11:26 schreef FlippingCoin het volgende:
[..]
Python is toch wel heerlijk als je snel even wat moet neerzetten.
Verder ook erg veel goed libraries voor, dingen als TensorFlow et cetera.
Is er geen algemren dev topic?
Dat eerste vind ik altijd maar een beetje een non-argument. Als iets in de basis niet goed is, dan is het dat niet.quote:Op woensdag 6 juni 2018 11:01 schreef Aether het volgende:
[..]
Ligt er maar aan hoe de taal gebruikt wordt en niet iedere taal is inderdaad handig voor elke toepassing.
Pussy. Brainfuck of Assembly.quote:Op woensdag 6 juni 2018 17:46 schreef Boze_Appel het volgende:
Elke fatsoenlijke programmeur gebruikt natuurlijk Piet.
Tjah niet echt rare dingen die ze stellen maar ja, elk bedrijf en persoon heeft zo zijn eigen kleine aanpassingen. Zelf ben ik er wel voorstander ervan om als ik { } gebruik dit op nieuwe regels te doen ja. Bij dingen zoals css niet omdat je/ik dat niet zovaak hoeft te veranderen dus dat mag best wat compact (en zijn ook geen tig regels dus ja).quote:
Ik vind het vooral een totaal irrelevante discussie. Indentation als code construct zoals in Python daarentegen is echt één van de domste ideeën ooit.quote:Op donderdag 7 juni 2018 16:40 schreef DevFreak het volgende:
Wat vinden we van de PSR-2 coding standard?
Ik heb iets tegen brackets die niet o pde volgende lijn staan. C# stijl.
Vind het even wennen maar niet vervelend werken. Het switchen wel, mis dan steeds brackets en haakjes rond if statement.quote:Op donderdag 7 juni 2018 19:15 schreef Monolith het volgende:
[..]
Ik vind het vooral een totaal irrelevante discussie. Indentation als code construct zoals in Python daarentegen is echt één van de domste ideeën ooit.
Nou ja vooral dat. Maar sowieso zou het best overzichtelijk kunnen zijn als je de CC laag houdt. Maar ja, dan krijg je code geschreven door de gemiddelde hobbyist voor je kiezen...quote:Op donderdag 7 juni 2018 19:23 schreef FlippingCoin het volgende:
[..]
Vind het even wennen maar niet vervelend werken. Het switchen wel, mis dan steeds brackets en haakjes rond if statement.
Is ook wel aardig makkelijk om Python beetje aan te beunen ja.quote:Op donderdag 7 juni 2018 19:28 schreef Monolith het volgende:
[..]
Nou ja vooral dat. Maar sowieso zou het best overzichtelijk kunnen zijn als je de CC laag houdt. Maar ja, dan krijg je code geschreven door de gemiddelde hobbyist voor je kiezen...
Het belangrijkste is overigens niet zozeer wélke standaard, maar wel dat je één standaard hanteert. Dit maakt het makkelijker om overzicht in de code te houden en het straalt rust uit. Zeker als je met een team binnen hetzelfde project werkt wil je niet allerlei dingen door elkaar.quote:Op donderdag 7 juni 2018 16:40 schreef DevFreak het volgende:
Wat vinden we van de PSR-2 coding standard?
Ik heb iets tegen brackets die niet o pde volgende lijn staan. C# stijl.
De vraag in exact die vorm is inderdaad irrelevant. Het gebruik van een standaard daarentegen niet.quote:Op donderdag 7 juni 2018 19:15 schreef Monolith het volgende:
[..]
Ik vind het vooral een totaal irrelevante discussie. Indentation als code construct zoals in Python daarentegen is echt één van de domste ideeën ooit.
Zoals ik in een eerdere post al aangaf is het echt ideaal om even snel wat verkennende data science te doen, maar ik moet er toch niet aan denken om er een serieuze applicatie in te schrijven. Helemaal niet samen met een paar matige developers.quote:Op donderdag 7 juni 2018 19:45 schreef FlippingCoin het volgende:
[..]
Is ook wel aardig makkelijk om Python beetje aan te beunen ja.
toch is het wel een taal met bizar veel goede libraries, in AI ook een veelgebruikte taal naast C++.quote:Op donderdag 7 juni 2018 20:26 schreef Monolith het volgende:
[..]
Zoals ik in een eerdere post al aangaf is het echt ideaal om even snel wat verkennende data science te doen, maar ik moet er toch niet aan denken om er een serieuze applicatie in te schrijven. Helemaal niet samen met een paar matige developers.
@zoem, YAML vind ik nog net wat minder erg aangezien je er geen volledige applicaties in schrijft. Al kunnen docker files ook best onoverzichtelijk worden.
Python? Ja dat zeg ik. Samen met R het meest gebruikt voor data science. Numpy / SciPy / Seaborn / etcetera zijn ideaal voor data science.quote:Op donderdag 7 juni 2018 20:31 schreef FlippingCoin het volgende:
[..]
toch is het wel een taal met bizar veel goede libraries, in AI ook een veelgebruikte taal naast C++.
1 2 3 4 5 6 7 8 9 | if (isset($_POST['input'])) { $txt = $_POST['input']; $myfile = fopen("output.txt", "w") or die("Unable to open file!"); fwrite($myfile, $txt); fclose($myfile); } ?> |
Lijkt alsof er magic quotes aanstaan. Welke versie van php gaat dit om?quote:Op maandag 4 maart 2019 11:03 schreef webbyplus het volgende:
Hi,
Een irritant probleempje; ik heb in een form een textarea. De inhoud van deze textarea verstuur ik middels een post naar een PHP-pagina die de inhoud opslaat in een textfile;
[ code verwijderd ]
Echter bij het opslaan in de file wordt de text gemanipuleerd opgeslagen.
Een aanhalingsteken (") wordt bijvoorbeeld opgeslagen met een slash ervoor (\").
Ik wil echter dat er geen manipulatie plaats vindt. Iemand een tip hoe ik dit kan voorkomen?
bvd,
Webster
Ah.... hij stond nog op een oude versie van php (5), na aanpassing naar 7 draait hij wel :-) thxquote:Op maandag 4 maart 2019 11:09 schreef Faux. het volgende:
[..]
Lijkt alsof er magic quotes aanstaan. Welke versie van php gaat dit om?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |