Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Datumbereik

CategorieŽn

AND

Onderwerpen

AND

Subforum

Topicstarter

Topicstatus

11.150 topics - Pagina 1 van 446

[PHP] Het grote Laravel topic

23:14 discussie 575
LARAVEL Wat is Laravel?Laravel is een PHP 5.4+ Framework dat zich probeert te onderscheiden door een elegante syntax, moderne tools en snelle ontwikkeling. Het bevat standaard een Active Record ORM (Eloquent), templating engine (Blade) en oa. routing, queues, authentication en migrations.

Laravel is in korte tijd uitgegroeid tot een van de populairste PHP frameworks met een actieve community. Het gebruikt van Symfony componenten (zoals Http Foundation) zorgt voor een stabiele basis, maar Laravel onderscheidt zich door een simpele API met goede documentatie aan te bieden. De drempel om in te stappen is hierdoor wat lager dan voor het Symfony framework.

In een aantal punten wijkt Taylor Otwell (de ontwikkelaar van Laravel) af van de standaard conventies, wat regelmatig op kritiek komt te staan van andere frameworks/ontwikkelaars. Dit leidt dan ook regelmatig tot stevige discussies tussen voor- en tegenstanders, met name over de zgn. 'Facades'.

In februari 2015 is Laravel 5 uitgekomen, wat meer stabiliteit (SemVer) moet bieden en de basis moet zijn voor de komende jaren.Laravel.com - de officiŽle siteOfficiŽle documentatieHet framework op GithubBeginnen met LaravelDe eerste plek waar je kan beginnen met leren is natuurlijk de officiŽle documentatie. Daarnaast zijn er veel blogs, screencast, tutorials en boeken over Laravel. Een onmisbare site voor veel beginners is Laracasts, waar veel screencasts over Laravel te vinden zijn, zowel om te beginnen met Laravel maar ook geavanceerdere onderwerpen buiten Laravel om. De meeste video's zijn betaald, maar er zijn ook veel gratis series.CommunityDe community is erg actief, op verschillende platforms. Hieronder de belangrijkste:GithubTwitter (@laravelphp)Laracasts forumLaravel.io forum#laravel, #laravel-dev en #laravel-offtopic op IRC (Freenode)Tools / PackagesIn principe zijn alle algemene composer packages te gebruiken binnen Laravel, maar er zijn ook veel Laravel specifieke packages. Deze bieden meestal een Service Provider aan om snel bepaalde functionaliteit te configureren, op basis van de Laravel conventies wat betreft configuratie, views, migraties ed. Deze packages zijn naast op Packagist, op http://packalyst.com/ te vinden.

De 5 populairste Laravel packages volgens Packalyst:way/generatorsintervention/imagebarryvdh/laravel-ide-helperbarryvdh/laravel-debugbarcartalyst/sentryEen overzicht per categorie is ook te vinden op https://github.com/chiraggude/awesome-laravelBlogs & mensen om te volgenLaravel NewsTaylor OtwellLaravel PodcastMatt Stauffer BlogLaracon EUSinds 2013 is er een EU editie van Laracon. Dit jaar wordt op 25 + 26 augustus de 3de editie gehouden in Amsterdam. Hier worden 2 dagen lang verschillende sprekers aan het woord gelaten over Laravel, PHP of programmeren in het algemeen. In voorgaande jaren waren er veel bekenden uit de PHP wereld, zoals Fabien Potencier (Symfony), Jordi Boggiano (Composer), Frank de Jonge (FuelPHP/Flysystem) en natuurlijk Taylor Otwell zelf.

Meer informatie en kaartjes zijn te vinden op http://laracon.eu/Waarom dit topic?Er werd al eerder gesproken over een Laravel topic ([Laravel] Het wel en wee van dit framework*) en ik heb er voor gekozen om een nieuw topic met frisse start hiervoor op te zetten. Hopelijk kunnen we hier samen discussiŽren over de toekomst van Laravel, handig tips&trucs, nuttige packages, aanwezigheid op Laracon etc etc. Het is niet de bedoeling om hier problemen voor te leggen. Daar moet nog steeds een los topic voor aangemaakt worden!

PHP sql met koppeltabel

08-02 09:34 discussie 28
Goedemiddag,

Ik zit met een opdracht voor school waar ik niet uit kom. Het gaat om het volgende:
Ik ben bezig met een vriendenboekje. Mijn code bestaat voornamelijk uit PHP en wat sql er tussendoor. Ik heb hier 2 tabellen en een koppeltabel. In tabel 1 staan personen, in tabel 2 dingen. De koppeltabel geeft aan welke personen in het bezit zijn van welke dingen. Tabel 1 heeft dus een primary key, tabel 2 ook en de koppeltabel maakt de koppeling tussen deze 2. Mijn koppeltabel heeft bestaat uit een primary key, en vervolgens 2 kolommen met de waarde van de primary keys van de andere 2 tabellen. dus zoiets:
Koppeltabel
Primary key Mensen dingen
1 1 1
2 1 2
3 2 1
4 2 4

Nu wil ik een overzicht maken van de mensen, met daarachter de dingen die ze hebben. Dit lukt me, maar wat me niet lukt is de mensen die meerdere dingen hebben maar ťťn keer te laten zien. Ik ben zo ver dat dit waarschijnlijk met een for loopje moet, maar ik krijg het niet werkend. Iemand toevallig enig idee?

Ik kan mijn scriptje laten zien welke nu dus alle mensen en dingen laat zien, maar de mensen dubbel. Maar gezien dat enkel een while loopje is dat door de requltaten heen gaat en deze in een tabel zet heeft dat weinig nut lijkt me.

Ik hoop dat iemand me kan helpen. In ieder geval onwijs bedankt.

[Ervaringen] Het grote Drupal-topic

03-02 14:02 discussie 1047
DRUPALWat is Drupal?Drupal is een CMS/framework. De core bestaat uit enkele noodzakelijke modules en daar omheen kan je naar keuze eigen modules toevoegen. Het systeem kent een aantal handige API's om makkelijk dingen gedaan te krijgen. De form API stelt je bijvoorbeeld in staat in snel en dynamisch formulieren te maken.

Drupal is gemakkelijk te gebruiken. Er is een volledig grafische installatiewizard, dus naast het aanmaken van een database (wat al voor je gedaan is als je hosting hebt gehuurd) hoef je niks te doen. Het installeren duurt nog geen minuutje, waarna de site volledig klaar voor gebruik is.Drupal.org - de officiŽle siteDrupal.nl - de officiŽle Nederlandse siteAls je Drupal op een eigen computer wil testen, dan moet je zelf een webserver installeren. Weet je niet hoe dat moet, probeer dan MAMP (Mac) of Xampp (Windows).FAQQ: Na de installatie krijg ik een wit scherm te zien? Is Drupal nu kapot?
A: Waarschijnlijk mag PHP niet genoeg geheugen gebruiken. Zoek in php.ini even naar de instelling voor de 'memory limit' en verhoog die een stukje, net zolang totdat het werkt. Soms kan je ook in .htaccess de memory limit instellen met php_value memory_limit 128M, waarbij '128' dus het aantal megabytes is.

Q: Wat zijn nodes?
A: Elk stukje content dat op zichzelf staat is een node. Denk hierbij aan forumtopics, blogposts, maar ook statische pagina's.

Q: Hoe doe ik *willekeurig iets*?
A: De API-documentatie is een ontzettend handig hulpmiddel. Het is voornamelijk bruikbaar als je wil weten hoe je met PHP-code iets voor elkaar kan krijgen, maar je kan ook standaard bestanden, zoals de template files van meegeleverde themes, raadplegen.

Ervaringen: Groupware

02-02 23:52 discussie 55
Ik heb een tijdje thuis verschillende groupware gebruikt (m.n. Horde), maar momenteel ben ik in verband met een herinstallatie en vernieuwde eisen (activesync-exchange-ondersteuning) nieuwe oplossingen aan het onderzoeken. Er zijn echter enorm veel open/free/semi-free/closed oplossingen op de markt. De topics over dergelijke software die op GoT te vinden zijn zijn (blijkens mijn relatief vluchtige zoektocht) allemaal toch wat gedateerd (behalve exchange -gerelateerde zaken). Ik zie zelf door de bomen het bos niet meer, en groupware goed (of maar enigszins voldoende) testen is toch een hele klus. Een link&ervaringenverzameltopic lijkt me daarom heel nuttig.

Ik zal beginnen met een verzameling links naar bekende en of eventueel minder bekende redelijk complete (of overcomplete) programma's. De lijst is zeker niet volledig zijn, niet-vermelde noemenswaardige software zal ik toevoegen.

Horde
EGroupware
Zarafa
Zimbra
Scalix
OBM
phpGroupWare
Simple Groupware
Citadel
Kolab
SOGo
Kerio Connect
Open-Xchange
Group-Office
Tine 2.0
AtMail Commercial
IGSuite
GROUP-E
Feng Office
Cyn.in
Microsoft Exchange en SharePoint
IBM Lotus Domino
Novell GroupWise
Oracle Beehive
Google Apps
Bynari Collaboration Suite
IceWarp
ownCloud
CommuniGate
OpenText FirstClass
AXIGEN

Mijn ervaring beperkt zich eigenlijk tot Horde, en in mindere mate EGroupware. Exchange gebruik ik ook, maar dat beheer ik niet. Momenteel ben ik (ivm SyncML&ActiveSync-vereisten) Horde 4 en OBM aan het onderzoeken. Kolab zou ook tot de mogelijke kandidaten gerekend kunnen worden als ik me niet vergis.

Wat zijn andere mogelijkheden/hoe zijn de ervaringen met de diverse programma's?

'Groupware is een heel breed begrip, getuige ook wikipedia nl,en,de. Delen van agenda, adressen berichten en bestanden kan natuurlijk ook in een wiki, maar ik denk dat de in dit topic te bespreken software in ieder geval gerichte functies voor agenda, adressen en berichten moet hebben.

[PHP] url triggeren in PHP

27-01 12:42 vraag 7

Vraag

Ik wil vanuit PHP deze url laten uitvoeren / triggeren:

http://mijnsite.nl:8080/j...p;idx=57&switchcmd=On

Ik plaats het op php forum omdat het volgens mij meer PHP vraagstuk is dan dat het iets met domoticz te maken heeft.
...

Doel: Hiermee in domoticz een lamp inschakelen.
...

Wat ik al gevonden of geprobeerd heb maar wat niet werkt.
code:
1 2 3 4 5 6 7 <?php $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, "http://url:8080/json.htm?type=command&param=switchlight&idx=57&switchcmd=On"); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_exec ($ch); curl_close ($ch); ?>

Totaal van records aangeven met php/mysqli lukt niet

27-01 09:09 vraag 11

Vraag

Ik ben voor mijzelf een projectje begonnen. Het komt er kort op neer dat ik bezig ben met een formulier waar personen gegevens kunnen invullen over een hoeveelheid troepen, van tribalwars, en deze hoeveelheid wordt dan inclusief gebruikersnaam opgeslagen in een database. Het probleem is echter dat ik het totaal aantal troepen van alle gebruikers bij elkaar opgeteld wil zijn en dat gegeven dan outputten in een html tabel. Het is me nu wel gelukt om een totaal van troepen per gebruiker weer te geven, maar het lukt me niet om dat van alle gebruikers in totaal te doen.

Dit is de code die ik nu gebruik:
PHP: test.php
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 $mysqli = new mysqli($servername, $username, $password, $db); if ($mysqli->connect_errno) { printf("Connect failed: %s\n", $mysqli->connect_error); exit(); } $query = "SELECT * FROM Troepen"; if ($result = $mysqli->query($query)) { echo "<table border=1 width=70% bgcolor=white>"; echo "<tr>"; echo "<th> Speler</th>"; echo "<th> Aanvallend</th>"; echo "<th> Verdedigend</th>"; echo "<th> Totaal</th>"; echo "</tr>"; while ($row = $result->fetch_assoc()) { $username = $row["username"]; $aanvallend = $row["bijlvechter"] + $row["cavalerist"] + $row["boogschutter_te_paard"] + $row["ram"] + $row["katapult"]; $verdedigend = $row["speervechter"] + $row["zwaardvechter"] + $row["boogschutter"] + $row["gepantserde_cavalerist"]; $totaal = $aanvallend + $verdedigend; echo "<tr>"; echo "<td> $username</td>"; echo "<td> $aanvallend </td>"; echo "<td> $verdedigend </td>"; echo "<td> $totaal </td>"; echo "</tr>"; ob_flush(); flush(); } echo "</table>"; $result->free(); } $mysqli->close();

Sessie data komt bij mij wel door bij klant niet.

27-01 08:15 vraag 5

Vraag

Mijn vraag
Ik ben voor een klant van mij bezig om omnikassa op zijn site te zetten.
Het omnikassa gedeelte werkt goed en de betalingen werken wel gewoon. Ik heb alleen het probleem dat ik geen orderdata van klanten in mijn database krijg. Ik doe dit door de data eerst in de database te drukken en vervolgens te verwijderen als de betaling bijvoorbeeld fout is gegaan. Het probleem waar ik tegen aan loop is dat als ik zelf een order plaats dit netjes in het systeem komt en bij de klant dit somehow niet wil lukken.

Wat ik zelf denk is dat dit komt doordat ik een session start uitgecomment heb. Dit heb ik de week erop opgelost maar de bestelling van vandaag is alsnog weer leeg aangekomen en mijn eigen willen weer wel.Heeft het misschien te maken dat de website korte tijd zonder deze session heeft gedraaid? Ik heb hier niet veel ervaring mee gehad tot nu toe.

Relevante software en hardware die ik gebruik
Hier zijn wat relevante stukjes code die ik hier heb gebruikt. Ik haal de data uit de session op zodat ik zowel de gebruiker id en de items uit het winkelmandje heb.
Met de for loop ga ik de artikelen door en voeg ik ze in de loop toe aan de orderregels tabel toe vervolgens voeg ik hier de verzendkosten aan ten zet ik ook de order zelf in de db.
PHP:
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 session_start(); $sOrderId = date("Y") . "." . $ordernummer; $userid = $_SESSION['Zend_Auth']['storage']; $userid = $userid->user_id; $t=time(); $status = '1'; /* Tel het aantal artikelen wat in de winkel wagen zit */ $aantalartikelen = count($_SESSION['winkelwagen']); $msg = "Er is iemand op start.php beland" ; $msg .= "User id= " . $userid . " / order_id= " . $ordernummer ."/ "; for ($i = 0; $i < $aantalartikelen; $i++){ $artikel = $_SESSION['winkelwagen'][$i]['article_id']; $nummer = $_SESSION['winkelwagen'][$i]['number']; $titel = $_SESSION['winkelwagen'][$i]['title']; $aantal = $_SESSION['winkelwagen'][$i]['aantal']; $artikelprijs = $_SESSION['winkelwagen'][$i]['price']; //invoegen order regels voor mail systeem. $msg .= "Dit is het " . $i . "e artikelnummer wat besteld is: " . $_SESSION['winkelwagen'][$i]['number'] ." aantal = " . $_SESSION['winkelwagen'][$i]['aantal'] . "/ "; //query voor plaatsen order regels mysqli_query($con,"INSERT INTO orders_regels (order_id, article_id, number, title, aantal, price, status_id) VALUES('" . $ordernummer . "', '" . $artikel . "', '" . $nummer . "', '". $titel ."', '" . $aantal . "', '" . $artikelprijs . "', '". $status ."')"); } mysqli_query($con,"INSERT INTO orders_regels (order_id, article_id, number, title, aantal, price, status_id) VALUES('" . $ordernummer . "', ' 10000 ', ' V-1000 ', ' Verzendkosten ', ' 1 ', '7.00', '". $status ."')"); mysqli_query($con,"INSERT INTO orders (order_id,user_id, nr, datumtijd, payment_type, send_data_id) VALUES (" . $ordernummer . ", ". $userid .", " . $sOrderId . ", " . $t . ", 2, 0)"); mail ('------------@------.nl, "start.php benaderd", $msg);
Wat ik al gevonden of geprobeerd heb
Ik heb al gekeken of dit ligt aan de browser die gebruikt wordt heb alle varianten van zowel desktop en mobiele versies geprobeerd dit geeft geen problemen bij mij.
Ik heb een mail functie in het bestand toegevoegd dat mij de data stuurt voordat dit na de rabobank gaat. Hier krijg ik net als voorheen een gevulde mail als ik hem verstuur en als de klant dit doet gaat het weer fout.


Ik hoop dat jullie hier iets in kunnen zien ik zie er in elk geval niks in.

Design plan voor een grote website met veel data

26-01 14:21 discussie 39
Ik zit al een tijdje te stoeien met wat gedachtes in mijn hoofd om een huidige applicatie om te gooien. 1 van de problemen waar ik mee zit is dat het dermate groot is, dat het gewoon geleidelijk gedaan moet worden.
Daarbij zit ik nu al met wat "problemen" in de huidige applicatie die ik uiteindelijk dan ook wil oplossen. Denk hierbij dan aan traagheid, dingen die soms onnodig vaak worden opgehaald uit de DB en geen scheiding tussen logica, view en de database. Daarbij kunnen derden geen gebruik maken van onze functionaliteiten, of zelfs ik persoonlijk niet als ik stukjes wil herbruiken voor een andere website..

Mijn eerste gedachte is dan ook om een service te maken. In feite ťťn grote bak die van alles loopt te rekenen, data ophaalt en prepareert voor de 'frontend' op het moment dat er een request wordt gedaan. Nu zit ik echter wel met een paar vraagstukken.

Gegeven is dat de 'backend' c.q. service in PHP draait, de frontend in een mix van html, css, js en eventueel dan nog een deel PHP.

Wat zou een goede oplossing zijn voor de frontend, zodat je makkelijk 'calls' kunt maken naar je data?
Ik heb wel ervaring met wat API's maar dat is dan 9 van de 10x pure 'domme' calls en uiteindelijk ben je dan alsnog relatief lang bezig met het verwerken van de calls. Is de data returned wel goed?, heb ik alles? en dan moet je nog alles netjes stylen/plaatsen.

Voor mijn gevoel moet er gewoon iets zijn wat mijn leven een stuk makkelijk kan maken door echt de 'logic' & data als een service aan te bieden, waarbij het ook nog eens makkelijk is om dit door de frontend op te laten pakken. Ik zou echt alleen nog niet precies weten wat, hoe of met wat. Ik sta overigens ook open om andere talen te gebruiken mocht dat echt veel profijt opleveren. Denk aan NodeJS, of iets in .NET. In feite is alles wel mogelijk, echter zit de voorkeur in iets met PHP.

[Laravel] Onverwacht reultaat van sortBy()

21-01 19:30 vraag 7

Vraag

Als oefening voor mezelf probeer ik een adres boek te maken met Laravel. Als ik mijn adres lijst wil sorteren krijg ik niet het resultaat dat ik verwacht. ik heb de volgende code in mijn controller:
PHP:
1 2 3 4 5 public function test(){ $adres = Adres::all()->sortBy( 'surname' ); return View::make('adres.test') ->with('adres', $adres); }
en in mijn view dit:
PHP:
1 2 3 4 5 6 7 @section('content') <div class="col-md-10 table-responsive"> @foreach ($adres as $test) {{ $test->surname }}<br> @endforeach </div> @stop
Als resultaat krijg ik een achternamen lijst met eerst alle namen met 1 woord, dan alle namen met 2 woorden, daarna alle namen met 3 woorden. dus zoiets als:Akkermans...Wagenaarde Bekker...van Zeelandvan den Heuvel...van der ZeeMijn verwachting is dat een spatie tussen de letters niet uit maakt voor de manier van sorteren. Als ik met phpMyadmin naar de dataset kijk en sorteer dan krijg ik wel de achternamen gesorteerd zoals ik zou verwachten. Ik heb geprobeerd dit te googelen maar vind niks. (Kan er ook aan liggen dat ik geen goede steek woorden kan verzinnen)
Waarom wordt er op deze manier gesorteerd en voor kom ik het?

Beste antwoord

Je kan ook een flag meegeven om case insensitive te sorteren:
PHP:
1 Adres::all()->sortBy('surname', SORT_STRING | SORT_FLAG_CASE)
Zie http://php.net/manual/en/function.sort.php

Maar in dit geval kan je ook via MySQL sorteren, dat is waarschijnlijk efficienter ook.

PHP7, nieuwe features

13-01 09:09 discussie 29
Sinds deze week zit PHP 7 in de Arch repo, ben ik aan de slag gegaan met aantal nieuwe features.
Wel zijn er voor mij een paar verwarrend, vandaar dit topic.

De nieuwe namespace parameters ontzettend handig, zo kun je nu meerdere sub-namespaces definiŽren:
PHP:
1 Namespace\{sub,sub}
Verder zijn de type declarations eindelijk toegevoegd.

Deze nieuwe feature vind ik wat vreemd:
PHP:
1 $v = $x ?? $z;
Dit wordt gedaan d.m.v. een isset, terwijl ik een empty() logischer zou vinden. Helaas kun je dit niet doen:
PHP:
1 $v = !empty($x) ?? $z;
Dan krijg je volgensmij empty op een isset?
Waarom empty? Dat is gezet is, wil nog niet zeggen dat het 'gevuld' is. Als voorbeeld op PHP.net wordt een $_GET gebruikt, en die wil je juist (in de meeste gevallen) niet leeg hebben.

Alleen merk ik wel op dat ik de PHP manual altijd zo cryptisch vind, en altijd ergens anders (op een blog/SO) moet kijken om te zien hoe ze echt bedoelen (praktijkvoorbeelden).

Ik heb dan ook de vraag of we de nieuwe functies wat verder zouden kunnen laten zien.

[PHP] Opcache op grote vps

19-12-2015 discussie 20
Er zijn op internet tal van sites te vinden die Opcache tutorials hebben met hoe je het aanzet en dergelijke. Je hebt ook mensen die toegeven dat er niet heel veel documentatie over is:
https://www.scalingphpboo...e-settings-tuning-config/

Wij zitten met het probleem dat we een vps hebben waar tientallen sites op draaien, allemaal redelijk low-volume (daarom kan het nog op ťťn redelijk krachtige VPS). Maar er komen problemen als je opcache dan wilt gebruiken.

Laatst probeerden we wat met een aardig grote cache size en dergelijke, maar je krijgt een interessante error als je gewoon niet al je files kan cachen voor zover wij merkten, namelijk
white page of death...
(Dit is eigenlijk nog best een interessant issue, mocht je ideeŽn hebben hoor ik het graag. In de opcache error log kwam in ieder geval niet iets te staan de afgelopen keer. Het repliceren is nogal een lastige boel helaas )

De performance gains zijn echter significant, 10x zo snel is niet ongehoord.... Hoe kunnen we dit nou handig aanpakken? We hebben beperkte cache capaciteit uiteraard.

edit: Op vps staan momenteel 137k php bestanden.

Databasekeuze-discussie

15-12-2015 discussie 52
Ik ben met een vriend bezig met een project(je) wat als het goed gaat, flink uit de hand kan lopen(positief gezien). Echter is er een kleine discussie ontstaan betreft database keuze :-)


70,000 regels per user per jaar
elke regel is +/- 15Kb

verwacht word een max van 300,000 users in +/- 5 jaar, voor al deze users is er ook historische data beschikbaar. Dus stel user x is in jaar 1 al actief is dat na 5 jaar dus 70,000 * 5 = 350000 regels voor 1 user met 5 jaar aan historische data.

vanuit deze data worden grafieken gegenereerd die weer als rapport gestuurd worden naar de user.

Nu wil ik het genereren van deze data door PHP laten doen voor al deze users. Dit kan op een aparte server waardoor deze server zich alleen maar bezig hoeft te houden met het genereren van de rapporten. Nu heb ik alleen een discussie met diegene waarmee ik dit wil gaan realiseren.

Hij zegt dit kan je vergeten met MySQL en PHP dat gaat nooit goed en snel werken. Waarop mijn reactie was, er zal vast een combinatie zijn php met ?? waarbij dit normaal mogelijk is.

Wat is jullie gedachten hierover ? Het staat al wel vast dat het een taal of database moet zijn die op een (l)unix server moet kunnen draaien.

[PHP] htaccess gebruiken

07-12-2015 discussie 29
Ik heb een site gemaakt waarbij ingelogde gebruikers scans kunnen uploaden en nadien bekijken. Die scans komen in een met htaccess beveiligde map te staan. De gebruikersnaam + het wachtwoord van de map wil ik intern gebruiken in de php code, zodat gebruikers deze niet zelf moeten invoeren.

Zulke URL's komen er dan zo uit te zien: username:pswd@http://www.blabla.nl/scans/bla.jpg

Het probleem is dat de gebruikersnaam en het wachtwoord zichtbaar zijn zodra je de cursor op de link plaatst. Hetzelfde geldt voor rechter muistoets en view source. Nu zou ik de statusbalk kunnen wissen en rechter muistoets + view source kunnen blokkeren, maar bestaat er niet een betere mogelijkheid?

[PHP/GD] Specifieke grafiekdata ophalen uit txt-file

03-12-2015 discussie 32
Hoi allemaal,

ik hoop dat ik hier goed zit met deze vraag, ik heb de headers gelezen, normaal woon ik in EL en van PHP heb ik weinig kaas gegeten. Belangrijk is, vind ik, om meteen te vermelden dat alles wat ik hier ga vragen, moet draaien op een RPi B+. Ik ben bezig met een meet en regelsysteem. Er wordt e.e.a. geregeld aan de hand van bepaalde metingen. Een soort mini domotica, maar toch net anders. De hele RPi moet uiteindelijk "bediend" worden vanuit een webpagina. Dat lukt an sich wel, een knopje maken in HTML en daar een actie aan verbinden kan zelfs ik.

Ik heb GD gevonden en geÔnstalleerd, mooie library om grafiekjes mee te maken. Deze pagina bood een hele mooie basis, aan de hand daarvan heb ik een grafiekje doorgebouwd. Op dit moment genereer ik data aan de hand van een random formule met gedempte output. Levert voor de bŁhne een leuke grafiek op, maar zegt nog helemaal niets.

In een ander deel van de programmatuur lees ik met behulp van een C routine data van een I2C connectie uit naar een txt file. Dat gaat goed, ik krijg een waarde van 0 tot 255 terug (1 byte data per sending) en die schrijf ik, voor nu, direct naar het txt file. Gewoon mooi keurig 1 byte per regel, na iedere schrijfactie start ik dus weer op een nieuwe regel. Eventueel kan ik daar nog een index getal voor zetten, dat is 2 seconde schrijfwerk. Ik verwacht dat het makkelijker is om de conversie naar bruikbare data te doen in het C bestandje dan in het PHP scriptje, omdat het PHP scriptje al relatief veel uit moet voeren en eigenlijk snel klaar moet zijn, dus dat laat ik even ter zijde. Die conversie maken gaat mij nog wel lukken.

Nou wil ik natuurlijk die data weer uitlezen. Eenieder die wel eens een grafiekje met GD gemaakt heeft, weet dat je daarvoor een aantal samples nodig hebt. En daar zit mijn vraag. Ik wil graag die samples uitlezen uit het txt filetje. En daarin blijken zoveel mogelijkheden te zijn, dat ik met mijn beperkte PHP kennis door de bomen het bos niet meer zie.

Volgens mij zou het script in de basis zo moeten werken, maar ik wil meer, dat heb ik alvast in comments in de code gezet.
PHP:
1 2 3 4 5 6 7 8 9 $f = fopen("file.txt", "r"); #count samples; #while(current sampe < total samples){ #use specific column data echo fgets($f); #$ypoint = echoed data } fclose($f);
Ik wil niet meer samples lezen dan dat er opgeslagen zijn. dus overal waar geen waarde is, hoeft ook geen grafiek getekend te worden. De vertalingsslag van waarde uit mijn I2C communicatie naar waarde die de GD library zal kunnen gebruiken, is zo gedaan. Eigenlijk wil ik nog een extra kolom met daadwerkelijke waarde (niet de waarde die de grafiek nodig heeft), dus zal ik ook de juiste kolom moeten selecteren.

Voor een deel heb ik dan ook wel wat aan deze en deze HTML lessons, maar niet voldoende. Vandaar mijn vraag hier. Van Google word ik ook niet wijzer, heel veel is in perl of juist het opslaan van data ofzo, maar niets geeft echt antwoord op mijn specifieke situatie of draagt het lastige deel bij. Combineren van oplossingen zou kunnen, maar de juiste combinatie heb ik nog niet gevonden.

Alvast bedankt voor jullie hulp.

[php] [Laravel] mathiasverraes/money gebruiken in Laravel

26-11-2015 discussie 7
Iemand hier die https://github.com/mathiasverraes/money gebruikt in Laravel? Zit toch met wat dingen die me heel vanzelfsprekend lijken, maar toch niet duidelijk zijn ofzo

- In een formulier laat je de klant § 9,95 invullen, niet 995 toch?
- Hoe van 9,95 naar 995 als integer voor Money?
- Met Eloquent mutators veld teruggeven als Money object is een goed idee denk ik?
PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 use Money\Money; class Product extends Model { public function getPriceAttribute($value) { return Money::EUR($value); } public function setPriceAttribute($value) { $this->attributes['price'] = Money::EUR(intval($value))->getAmount(); } }
Bij setPriceAttribute is $value een attribute geen integer, maar die 9,95 die de ingevuld is in het formulier. Los ik dat hier op, of in de controller?

Er is op Google genoeg te vinden over money en integers, maar directe voorbeelden voor implementatie in Laravel kon ik zo niet vinden .

Het grote WordPress topic

24-11-2015 discussie 773
Wat is WordPress?Iedereen kent WordPress (opgericht door Matt Mullenweg en Mike Little) als de tool om weblogs mee aan te drijven, posts in omgekeerd chronologische volgorde laten zien. In mei 2003 wordt het project gestart als een fork van het project b2/cafelog. WordPress is geschreven in PHP en maakt gebruik van MySQL als database.

WordPress kan gebruikt worden in de gratis hosted versie op WordPress.com. Hier kan iedereen een weblog registreren en meteen aan de slag met het schrijven van posts. Hierbij zijn er echter wel een aantal beperkingen waar je rekening mee dient te houden; je kunt geen eigen plugins of themes installeren en je kunt de beschikbare themes niet aanpassen. Gelukkig is er ook een variant waarbij dat wťl kan!

De code van WordPress is te downloaden en op een eigen webserver te installeren. Deze procedure staat overigens bekend om zijn eenvoudige installatie. Zodra je WordPress op een eigen webserver geÔnstalleerd hebt, heb je alle vrijheid om te doen met jouw installatie wat je maar wilt!

Systeemvereisten voor WordPressZoals elk open source pakket heeft WordPress een aantal minimale systeemvereisten.

Deze gaan echter binnenkort veranderen; WordPress versie 3.1 is de laatste zijn die PHP en MySQL 4 zal ondersteunen (lees: PHP 4 en MySQL 4 End of Life Announcement voor meer informatie daar over). Vanaf WordPress versie 3.2 zal PHP 5.2 en MySQL 5.0.15 als minimale systeemvereisten hebben.

WordPress documentatieDe grootste bron van documentatie over WordPress is te vinden in de WordPress Codex.

Belangrijke pagina's in deze codex zijn:Template tags geeft een lijst van alle template tags die je kunt gebruiken bij het maken van een eigen theme. Plugin API met alle documentatie die je nodig hebt om een eigen plugin te gaan schrijven. Action Reference geeft een overzicht van alle actions die WordPress heeft en waar je met een plugin gebruik van kunt maken. Filter Reference geeft een overzicht van alle filters die WordPress heeft en waar je met een plugin gebruik van kunt maken.
Support vragen (en krijgen) door de communityDe community van WordPress wordt door velen als erg prettig beschreven.Dit komt met name doordat het team achter WordPress erg open is en actief communiceert met haar gebruikers. Niet alleen via de Support Forums, maar ook via onofficiŽle kanalen als Twitter, IRC en Instant Messaging.

Veel vragen ter ondersteuning worden geplaatst op de Support Forums en de Nederlandse Support Forums. Er is een goede omschrijving van - en richtlijnen voor het gebruik van - het forum: Welcome to the WordPress Support Forum.

Op dit moment kunnen de forums nog wat rommelig over komen, maar er is een team aan de slag gegaan met het actiever modereren en beheren van de forums. Er zijn nog vrij veel vragen die niet beantwoord worden en vaak is dit door miscommunicatie of onduidelijkheden in de vraag. Daarom is het zo belangrijk dat de richtlijnen gevolgd worden. Ook artikelen als Where To Start en First Steps With WordPress helpen nieuwe gebruikers met het opstarten met WordPress en hopelijk het actiever deel gaan nemen in de community.

WordPress als een CMSMet plugins en doelgerichte code in de thema's viel in het verleden functionaliteit van een volledig CMS na te bootsen, maar voor het grote publiek is dit nog niet haalbaar.

In juni van het jaar 2010 is daar dan de release van WordPress 3.0. Deze versie introduceerde features die nog ontbraken, om het tot een volledig CMS te maken; Custom Post Types, Custom Taxonomies en ondersteuning om menu's te beheren vanuit het administratiepaneel.

Hoewel er nog steeds een stevige groep mensen zijn die WordPress per definitie geen echt CMS vinden, zijn er al enorm veel websites te vinden die aangedreven worden door WordPress. Door de jaren heen heeft WordPress zich opgewerkt in de wereld van de open source content management systemen.

De toekomst van WordPressWie op de hoogte wil blijven van de ontwikkeling van WordPress, doet er goed aan om het WordPress Development Updates blog te volgen. Hier schrijven leden van het WordPress Core team van tijd tot tijd over wat de toekomst van WordPress gaat brengen en waar ze mee bezig zijn.

Wat gaat WordPress 3.2 brengen?Mark Jaquith heeft op het eerder genoemde WordPress Development Updates blog een post geschreven over de plannen die ze hebben voor WordPress 3.2: WordPress 3.2, the plan: faster, lighter.

De belangrijkste punten:Snellere release cycle dan rondom 3.1: Sneller kleinere updates uitbrengen, of in elk geval kleiner dan de enorme stap die 3.1 was. PHP 5.2 en MySQL 5 is vereist vanaf WordPress 3.2 Einde Internet Explorer 6 ondersteuning voor het administratiepaneel Verbeteringen in snelheid door optimalisatie en refactoring van codeDe langverwachte verbeteringen aan de Media Library staan (nog) niet op de planning voor versie 3.2.

Gebruik van plugins binnen WordPressMet plugins kun je de functionaliteit van WordPress uitbreiden of veranderen. Middels een uitgebreid API-systeem, stelt het ontwikkelaars in staat om code aan bepaalde hooks te koppelen en op het juiste moment uit te voeren. Op dit moment zijn er ruim 13.000 plugins beschikbaar in de WordPress plugin directory.

Het installeren en beheren van plugins is erg eenvoudig. Tegenwoordig is het zelfs mogelijk om vanuit het administratiepaneel van WordPress een nieuwe plugin te installeren. De zoekfunctie die je ziet in de WordPress plugin directory, zit tegenwoordig verwerkt in het scherm om de plugins te beheren in het administratiepaneel.

Meest bekende pluginsZoals gezegd, er zijn enorm veel plugins beschikbaar. Ook zijn er veel lijstjes te vinden van 'plugins die elke WordPress installatie zou moeten hebben'. Dat is natuurlijk voor iedereen verschillend en voor elke installatie anders. De volgende plugins hebben echter zo'n status verworven dat ze in de meeste installaties aanwezig zijn:Akismet is de meest gebruikte plugin om spam reacties er automatisch uit te filteren. Deze plugin is gemaakt door de mensen van Automattic (het bedrijf van oprichter Matt Mullenweg) en wordt standaard meegeleverd in het download-pakket van WordPress. WordPress SEO is een redelijk nieuwe plugin, maar heeft inmiddels al grote roem verworven. Het is op dit moment de meest toonaangevende zoekmachine optimalisatie plugin voor WordPress. W3 Total Cache verzorgt een uitgebreid pakket aan caching opties. Veel grote websites en weblogs aangedreven door WordPress gebruiken W3 Total Cache als plugin voor de caching van alle pagina's.
Themes bepalen het uiterlijk van WordPressIn de WordPress theme directory zijn ruim 1.300 gratis thema's te downloaden. Net zoals bij plugins, is het installeren en beheren van themes erg eenvoudig en volledig te doen vanuit het administratiepaneel.

Maar naast deze officiŽle plaats om te zoeken naar een mooi uiterlijk voor jouw WordPress installatie, is er enorm veel aanbod aan themes vanuit externe partijen.

Mobiele WordPress applicatiesVoor de bekendste smartphones heeft WordPress een applicatie. Zo kun je overal jouw inhoud bewerken, reacties goedkeuren en nieuwe posts schrijven.

offtopic:
De eerste versie van deze topicstart is een feit. Er is nog veel meer informatie die opgenomen kan worden in dit topic. Reacties in de vorm van tips, opmerkingen en vragen zijn natuurlijk altijd welkom!
Still to come:
- Betrouwbare externe bronnen van themes en plugins
- Premium themes en plugins
- Showcase van grote websites en weblogs aangedreven door WordPress
- Concurrentie van andere (open source) content management systems
- Inhoudsopgave toevoegen

Changelog:
07-02-2011 22:22 - Eerste versie van de topicstart staat online.
26-04-2011 19:22 - Update met onder andere: Ontwikkeling en toekomst WordPress

[PHP] Array - alle unieke combinaties

21-11-2015 discussie 16
Hi allen,

Lang geleden dat ik het Tweakers forum actief gebruikte als hulpmiddel. Ik was zelfs m'n account vergeten vandaar mijn "eerste post" onder nieuw account, excuses hiervoor

De afgelopen jaren leerde ik mezelf PHP aan om die statische websites van me toch wat dynamiek te bezorgen. Ondertussen ben ik op het punt gekomen dat ik eigenhandig een webshop aan het uitwerken ben. Een beetje het warm water opnieuw uitvinden maar dan op mijn manier. Deze uitdaging lukt goed, tot nu. * I'm stuck *

Meerbepaald bij hetvolgende...
Zoals menig webshops kunnen bezoekers filters gebruiken om hun keuze te specifiŽren. In mijn geval creŽer ik een array als volgt :
PHP:
1 2 3 4 5 $filterParams = array( 'processor' => array('Intel Core i3', 'Intel Core i5'), 'opslagHDD' => array('500', '1000'), 'scherm' => array('15.6', '17.3') );
De lengte van de array is afhankelijk van de unieke gekozen filters.

Nu wens ik een nieuwe array te verkrijgen met alle combinaties om hiermee uiteindelijk mijn filter query te kunnen uitbouwen (SELECT ... FROM Artikels ...... WHERE ({filterQuery}) ...).

Momenteel kon ik volgende uitwerken, weliswaar hard-coded volgens aantal keys in mijn filterParams array..
PHP:
1 2 3 4 5 6 7 8 $combinations = array(); foreach($filterParams['processor'] as $value1) { foreach($filterParams['opslagHDD'] as $value2) { foreach($filterParams['scherm'] as $value3) { $combinations[] = array('processor' => $value1, 'opslagHDD' => $value2, 'scherm' => $value3); } } }
Resulterend in volgende array met unieke combinaties:
PHP:
1 2 3 4 5 6 7 8 Array ( [processor] => Intel Core i3 [opslagHDD] => 500 [scherm] => 15.6 ) Array ( [processor] => Intel Core i3 [opslagHDD] => 500 [scherm] => 17.3 ) Array ( [processor] => Intel Core i3 [opslagHDD] => 1000 [scherm] => 15.6 ) Array ( [processor] => Intel Core i3 [opslagHDD] => 1000 [scherm] => 17.3 ) Array ( [processor] => Intel Core i5 [opslagHDD] => 500 [scherm] => 15.6 ) Array ( [processor] => Intel Core i5 [opslagHDD] => 500 [scherm] => 17.3 ) Array ( [processor] => Intel Core i5 [opslagHDD] => 1000 [scherm] => 15.6 ) Array ( [processor] => Intel Core i5 [opslagHDD] => 1000 [scherm] => 17.3 )
De code werkt prima en doet wat ik wil, namelijk alle unieke combinaties bijhouden.

Natuurlijk is het zo dat de filterParams array x-aantal verschillende filters kan bevatten, zoals: 'touchscreen', 'opslagSSD', 'geheugen', etc ...

Helaas ben ik slachtoffer van mijn slechte concentratie om dit treffelijk uit te werken
Via Google vond ik heel wat code terug met kernwoorden als Cartesian, permutations etc.. maar het is me net iets te ingewikkeld geworden.

Iemand die me hierbij kan assisteren?

Waarvoor dank !

[Laravel] 3rd party implementatie

28-10-2015 discussie 0
Hier even een voorbeeld voor gebruik van een 3rd party library. Deze LESS compiler zou ik misschien eens wilen veranderen zonder overal waar hij gebruikt wordt alles te moeten veranderen. In dit geval ben ik er met een helper function waarschijnlijk veel sneller, maar goed... even voor het idee.

---
PHP: app/Contracts/LessCompiler.php
1 2 3 4 5 6 7 8 9 <?php namespace App\Contracts; interface LessCompiler { public function compile($less, $variables = array()); }
^ Wat moet de less compiler kunnen; LESS compilen!

---
PHP: app/Providers/LessCompilerServiceProvider.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class LessCompilerServiceProvider extends ServiceProvider { protected $deferred = true; public function register() { $this->app->bind('App\Contracts\LessCompiler', 'App\Services\LesscLessCompiler'); } public function provides() { return ['lesscompiler']; } }
^ Als ik de less compiler aanroep, welke implementatie moet ik dan hebben.

---
PHP: app/Services/LesscLessCompiler.php
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 <?php namespace App\Services; use App\Contracts\LessCompiler; class LesscLessCompiler implements LessCompiler { public function __construct(\lessc $lessc) { $this->lessc = $lessc; } public function compile($less, $variables = array()) { if (empty($variables)) return false; $this->setVariables($variables); $this->lessc->setFormatter('compressed'); return $this->lessc->compile($less); } private function setVariables($variables) { $this->lessc->setVariables($variables); } }
^ De bewuste implementatie voor de Lessc less compiler.

---

Heb ik het gesnapt, of doe ik dit helemaal fout?

[Laravel] scope voor alle models

16-10-2015 discussie 18
In bijna elke model heb ik een scope gemaakt die in al die models het zelfde zijn.
Is er een manier om een scope te maken en dat je die in elke model beschikbaar hebt?

Ik heb al op internet gezocht maar ben nog niet tegen gekomen wat ik zocht.

Verandering in php.ini wordt niet doorgevoerd na restart

13-10-2015 discussie 8
Hallo,

Een paar geleden heb ik Piwik gedownload en een poging gedaan tot installeren. Kwam alleen niet heel ver:



Nu heb ik dit in de php.ini file aangepast en de webserver geherstart maar Piwik blijft hierom zeuren. Ik gebruik php 5.6. Ik lees dat sinds deze versie de variabele '$HTTP_RAW_POST_DATA' deprecated is en 'always_populate_raw_post_data' naar -1 te zetten de oplossing is om de E_DEPRECATED melding weg te houden.

Nu heb ik deze aanpassing gedaan in de php.ini die nginx gebruikt bij mij (/etc/php5/fpm/php.ini). Ik weet vrij zeker dat dit de goede file is. In phpinfo() staat deze file ook aangegeven.

Maar het probleem is nu, het lijkt wel alsof deze aanpassing compleet genegeerd wordt. Piwik zeurt hier nog steed om ondanks deze aanpassing. Ik lees op internet eigenlijk dat er niet veel mensen zijn die dit probleem hebben. (Lees: ik heb geen ander geval die hetzelde heeft als ik kunnen vinden)

Weet iemand hier raad mee? Zou heel fijn zijn!

Gr.
Tom

Btw, ik hoop dat dit de goede plaats is op het forum voor dit topic...

Wat bronnen:
https://issues.piwik.org/6465
https://bugs.php.net/bug.php?id=66763 (Lees vooral de comments)
https://www.bram.us/2014/...oved-in-a-future-version/

Server draait op Debian Jessie icm. PHP 5.6.13-0+deb8u1 en Nginx.

Tekst in invoerveld terug laten komen in gewone tekst

16-09-2015 discussie 10
Hallo allen,

Ik ben geen pro in het programmeren van mijn website, maar ik heb een vraag.

Op mijn website heb ik een invoerveld. Hier kunnen mensen hun postcode of woonplaats invoeren en vervolgens wordt er op de volgende pagina cateraars getoond binnen een straal van 20 km.

Nu wil ik dat als bijvoorbeeld iemand 'Rotterdam' invoert op de volgende pagina komt te staan 'Cateraars gevestigd in Rotterdam' met daaronder de cateraars uit Rotterdam.

Als men 'Amsterdam' invoert dat er dan komt te staan 'Cateraars gevestigd in Amsterdam' enzovoort.

Het gaat hierbij alleen om de tekst. De cateraars tevoorschijn toveren wordt al gedaan.

Is er iemand die mij hierbij kan helpen?

[PHP] Wat is er nou eigenlijk zo slecht aan PHP?

08-09-2015 discussie 166
Hoe meer je er over leest op het internet, hoe meer je het tegenkomt: vrijwel iedereen heeft een mening over PHP, en die mening is bijna altijd dat PHP kut is.

Ik vraag me nou echter toch wel af, wat daar nou goede, concrete voorbeelden van zijn. Veel kritiek die je tegenkomt is ůfwel een amusant bedoelde analogie (zoals de bekende "If PHP was a toolbox"-analogie), ůfwel er is (voor mij) niet duidelijk wat er nou concreet mee bedoeld wordt.

Ik heb zelf (hobby-)ervaring in een aantal programmeertalen, waaronder C++, MATLAB, PHP (plus opmaaktalen zoals HTML en CSS). PHP is echter enige 'webdevelopmenttaal' die ik ken. Ik ben op de hoogte van Ruby on Rails en Django voor Python, maar heb er geen ervaring mee. Ik heb soms wel het gevoel dat ik die ervaring met andere webtalen mis om te begrijpen wat er nou mis is met PHP. Daarom ben ik zeker van plan om voor mijn volgende project voor de verandering eens gťťn PHP te pakken, maar Python of Ruby.

Er zijn uiteraard best wel dingen die ik vervelend vind aan PHP. Ik zou bijvoorbeeld graag willen dat het static typed was geweest. Als iemand die OOP heeft geleerd in C++, erger ik me er ook nog telkens aan dat PHP geen method overloading kent, wat er bijvoorbeeld voor zorgt dat je maar ťťn constructor per class mag hebben. Daarnaast is, vergeleken met C(++), de manier hoe PHP scopes afhandelt wat raar (maar dat is een directe consequentie van het feit dat je in PHP geen variabelen kunt definiŽren). Veel meer dan dat kan ik eigenlijk niet echt bedenken.

Ik vermoed ook dat veel argumenten outdated zijn, en niet meer van toepassing zijn op huidige versies van PHP. In hoe verre klopt dit?

Dan nog iets anders: ben je eigenlijk niet een beetje verplicht om PHP te gebruiken, als je een website of webapp ontwikkelt? Voor zover ik weet, bieden alle webhosters, bijna by default, een LAMP-stack aan. Als iemand die zelf dingen thuis host, is dat ook de enige serversoftware die ik nodig heb om CMS'en of webapplicaties te draaien. Er zijn af en toe wel dingen in Python geschreven (denk aan Couchpotato, SABnzbd) maar die komen altijd met hun eigen ingebouwde webserver. Met andere woorden: ik ben eigenlijk nog nooit iets tegengekomen dat onder een 'normale' webserver (zoals Apache) draait, en niet in PHP is geschreven.

Stel je schrijft een webapplicatie in Ruby of Python, en je wilt dit zelf thuis gaan hosten, onder Apache. Hoe ga je dan eigenlijk te werk? Zijn er Apache modules voor Python/Ruby net zoals er mod-php is? Of bestaat er zoals als python-fpm? En kun je Łberhaupt wel terecht bij de bekende hosters hiermee?

Dus, ik ben benieuwd naar jullie mening: wat is er nou eigenlijk zo slecht aan PHP?

[PHP] Compatibiliteit van composer-packages: howto?

03-09-2015 discussie 10
Ik ontwikkel veel in Symfony2 en maak daarbij veel gebruik van alle aanverwante pakketten die te gebruiken zijn: Doctrine, Twig, Assetic, FOSUserBundle, etc. etc. Het werkt allemaal fantastisch samen en als er een tegenovergestelde is van het NIH-syndrome, dan kan ik die zelf-diagnose denk ik wel stellen.

Er is alleen een pijnpunt waar ik nog mee zit. Zodra ik een nieuwe versie wil gebruiken van een bepaalde Bundle of package (nieuwe features, opgelost bugs, you name it), begint het hele circus aan problemen met de compatibiliteit. Het bij elkaar zoeken van de juiste versies kost me steeds weer erg veel tijd. Een nieuwe versie legt soms problemen in andere packages bloot, maar oudere versies bevatten dan juist zelf weer bugs.

Compatibiliteit van software is natuurlijk een groot issue in het algemeen (wie kent het gezeik niet met nieuwe versies van besturingssystemen?), maar ik kan me voorstellen dat een slimme collega-programmeur zich hier al een keer in heeft verdiept en die kennis wil delen met de rest van de wereld.

Hoe verloopt jullie zoektocht naar de ideale combinatie van dependencies? Is het ook zo'n puzzel, of gebruik je een slimme methode of een handige tool?

Mijn achtergrond is voornamelijk Symfony2, maar het probleem is natuurlijk groter dan dat. Ook inzichten vanuit andere frameworks zijn natuurlijk welkom!

[PHP] [Laravel] Route group parameters

25-08-2015 discussie 0
Op dit moment heb ik onderstaande situatie:

routes.php
PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // Account group Route::group([ 'domain' => '{account}.'.env('APP_DOMAIN') ], function () { // Dashboard group Route::group([ 'prefix' => 'dashboard', 'namespace' => 'Dashboard', ], function () { Route::resource('users', 'UserController'); }); // Algemene routes binnen het account Route::get('/', 'HomeController@index'); });
Een route group waarin 'account' opgenomen is, zie dat als een organisatie. Daarin zit een route group voor 'dashboard', waarin het account en alles wat bij het account hoort beheert kan worden.

---

UserController.php
PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 class UserController extends Controller { protected $account; public function __construct (Request $request) { $this->account = Account::where('slug', $request->account)->firstOrFail(); view()->share('account', $this->account); } public function edit($account_slug, $id) { $user = User::findOrFail($id); return view('dashboard.users.edit')->with(['user' => $user]); } }
Allereerst heb ik een constructor waarin de account opgehaald word en toegevoegd word aan alle views binnen de controller. Vervolgens zijn er dan verschillende methods voor het beheren van de gebruikers.

Problemen

Bovenstaande is maar een voorbeeld; er zijn meer route groups en meer controllers. Hiermee kom ik onderstaande problemen tegen.

1. Is er een manier om iets met subdomeinen te doen zonder env('APP_DOMAIN') te gebruiken? Nu zal het domein niet elke dag veranderen natuurlijk, maar ik kan tot zover geen andere oplossing vinden. Het er hard in zetten kan sowieso niet, meerdere omgevingen (lokaal/staging/productie) gaat dan niet werken.

2. De constructor komt vaker voor, in Controller.php is geen optie, gezien het niet overal het 'account' subdomein gebruikt word. Volgens mij kan ik hier een extra controller voor maken die ik extend, toch?

3. Nu moet ik in meerdere methods $account_slug als argument toevoegen. Ik kon hierover alleen dit vinden, maar dat is al oud en wellicht helemaal niet relevant meer. Zijn hier inmiddels oplossingen voor in Laravel 5.1?

--- Edit ---

Na wat proberen om te zien wat een mooie oplossing is, is het een 'parent' controller geworden.

DashboardController.php
PHP:
1 2 3 4 5 6 7 8 9 10 11 class DashboardController extends Controller { protected $account; public function __construct (Request $request) { $this->account = Account::where('slug', $request->account)->firstOrFail(); view()->share('account', $this->account); } }
---

Dashboard/UserController.php
PHP:
1 2 3 4 5 6 7 8 9 class UserController extends DashboardController { public function edit($account_slug, $id) { $user = User::findOrFail($id); return view('dashboard.users.edit')->with(['user' => $user]); } }
Deze DashboardController gebruik in alle controllers voor het dashboard. Mocht ik de constructor in (bijv.) de UserController nodig hebben, dan kan ik een parent::__construct($request); gebruiken.

Lijkt me hiervoor een nette oplossingen, maar suggesties zijn natuurlijk altijd welkom!

[php] replace element in xml adhv ander element

18-08-2015 discussie 17
Yo devvers,

Ik zit met een probleem waarvan ik voor het eerst niet precies weet hoe ik dit (het beste, if all) kan oplossen. Ik heb een (externe) XML feed. Ik ga werken met voorbeelddata, maar het principe komt op hetzelfde neer
XML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <rss xmlns:x="http://......./" version="2.0"> <lijst> <item> <x:id>1234</x:id> <titel>Banaan rood</titel> <x:image>banaan.jpg</x:image> </item> <item> <x:id>456</x:id> <titel>Wiel</titel> <x:image>wieltje.jpg</x:image> </item> <item> <x:id>7890</x:id> <titel>Michael Jackson</titel> <x:image>mj.jpg</x:image> </item> </lijst> </rss>
Ik wil per item de image vervangen van een bepaalde id. Ik heb dus de id, en de bijbehorende (nieuwe) image.

Voorbeeld:
PHP:
1 2 3 4 5 6 7 8 9 $replaces = array ( 1234 => 'banaanw8rsdf.jpg', 567 => 'wielxzxc495sd.jpg', 7890 => 'michaeltigeh489fns3.jpg', ); $feed = simplexml_load_file($this->externalUrl); //... en nu?
Maar wat is nu praktisch? Ik moet eerlijk bekennen dat ik niet helemaal thuis ben in de XML wereld, maar heb wel gekeken of ik eventueel de inhoud van een element kan replacen. Dat kon volgens mij al niet.

Een andere optie was wellicht de feed als string ophalen, en dan een preg_replace. Echter, de feed kan zomaar 10.000 of meer items bevatten die replaced moeten worden. Dan wordt dat een beetje een 'dure' aangelegenheid.

Zelf een XML feed genereren is ook niet echt een optie omdat ik niet alle data heb helaas. Enkel een ID en de nieuwe image.
Resultaten per pagina: 25 | 50 | 100
1 2 3 ... 446


Huawei Nexus 6P Apple iPad Pro WiFi FIFA 16 Samsung Galaxy S7 Fallout 4 Apple iPhone 6C Athom Homey LG G5

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True