Interface.quote:Op dinsdag 15 juli 2014 12:55 schreef remi1986 het volgende:
[..]
Interface? Of de desbetreffende query?
1 2 3 4 5 6 7 | my $rs = $schema->resultset('Bar')->search_rs({ naam => { '~' => '^foo' } , { order => 'id' }); if ($rs->count) { print yay } else { print found nothink } |
Dat is gewoon het gebruik van een bepaalde class om je query te bouwen. Heeft niks te maken met interfaces. Een interface kan je dan ook niet aanmaken met een object.quote:Op dinsdag 15 juli 2014 15:19 schreef slacker_nl het volgende:
[..]
Interface.
Want als ik DBIx::Class gebruik onder perl moet ik m'n queries zo maken:
[ code verwijderd ]
Eens, zodra de queries wat ingewikkelder worden gebruik ik voor de overzichtelijkheid ook liever gewoon SQL. Met Doctrine gebruik ik dan DQL wat hetzelfde effect heeft (ziet er ook vrijwel hetzelfde uit).quote:Op dinsdag 15 juli 2014 15:44 schreef remi1986 het volgende:
[..]
Dat is gewoon het gebruik van een bepaalde class om je query te bouwen. Heeft niks te maken met interfaces. Een interface kan je dan ook niet aanmaken met een object.
Waar ik op doelde is die querybuilder (wat gewoon een class is).
In dat voorbeeld (en ook die van jou) is het nog wel makkelijk te lezen. Maar als je echter 3 of 4 tabellen moet joinen, vind ik het persoonlijk fijner en overzichtelijker om gewoon de SQL query uit te schrijven.
Volgens mij noemen we dat dan een interface, of een API, zoals je een module kan aanroepen.quote:Op dinsdag 15 juli 2014 15:44 schreef remi1986 het volgende:
Dat is gewoon het gebruik van een bepaalde class om je query te bouwen. Heeft niks te maken met interfaces. Een interface kan je dan ook niet aanmaken met een object.
Waar ik op doelde is die querybuilder (wat gewoon een class is).
In dat voorbeeld (en ook die van jou) is het nog wel makkelijk te lezen. Maar als je echter 3 of 4 tabellen moet joinen, vind ik het persoonlijk fijner en overzichtelijker om gewoon de SQL query uit te schrijven.
Die zijn er wel?quote:Op dinsdag 15 juli 2014 22:02 schreef Super-B het volgende:
Even een vraag aan de web dev'ers: wat doen jullie zoal met de kennis?
Waarom zijn er overigens geen topics over andere programmeertalen zoals Java, Phyton etc. ?
Euh, onthouden en toepassen?quote:Op dinsdag 15 juli 2014 22:02 schreef Super-B het volgende:
Even een vraag aan de web dev'ers: wat doen jullie zoal met de kennis?
Ik ben geen webdevver, ik schrijf backend calls die een frontend dude moet gebruiken, in Perl. Maar niemand op Fok lijkt het te gebruiken.quote:Op dinsdag 15 juli 2014 22:02 schreef Super-B het volgende:
Even een vraag aan de web dev'ers: wat doen jullie zoal met de kennis?
Waarom zijn er overigens geen topics over andere programmeertalen zoals Java, Phyton etc. ?
Scherp. Ik bedoelde meer of jullie een baan hebben binnen de IT of dat jullie het leren als hobby.quote:
Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mijquote:Op woensdag 16 juli 2014 13:21 schreef Super-B het volgende:
[..]
Scherp. Ik bedoelde meer of jullie een baan hebben binnen de IT of dat jullie het leren als hobby.
Same here.quote:Op woensdag 16 juli 2014 15:48 schreef Tijn het volgende:
[..]
Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mij
quote:Op woensdag 16 juli 2014 15:48 schreef Tijn het volgende:
[..]
Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mij
Hier ookquote:Op woensdag 16 juli 2014 15:48 schreef Tijn het volgende:
[..]
Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mij
Bij mij ookquote:Op woensdag 16 juli 2014 15:48 schreef Tijn het volgende:
[..]
Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mij
+1quote:Op woensdag 16 juli 2014 15:48 schreef Tijn het volgende:
[..]
Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mij
Omdat ik de functie zo had gemaakt dat je daar een array ingooit met column=>value.quote:Op zaterdag 19 juli 2014 09:04 schreef Tijn het volgende:
Waarom zou je niet in je eigen class ook bindParam() kunnen aanroepen op de waarden in je array?
Er zijn maar een paar mogelijkheden met PDO (null, bool, int en string). Je kunt makkelijk via PHP achterhalen welk type je variabele is (bv met is_null(), is_bool() en is_int()). PDO::PARAM_STR gebruik je dan als fallback als het niet een van de andere typen is.quote:Op zaterdag 19 juli 2014 09:12 schreef remi1986 het volgende:
[..]
Omdat ik de functie zo had gemaakt dat je daar een array ingooit met column=>value.
Dit kan dus van alles zijn. Ik weet dus van tevoren niet wat voor waarde erin zit
Hmm ik zie het inderdaad. Dan kan ik beter gewoon validatie via PHP doen en dan heb ik dat hele bindParam niet nodig.quote:Op zaterdag 19 juli 2014 09:27 schreef Tijn het volgende:
[..]
Er zijn maar een paar mogelijkheden met PDO (null, bool, int en string). Je kunt makkelijk via PHP achterhalen welk type je variabele is (bv met is_null(), is_bool() en is_int()). PDO::PARAM_STR gebruik je dan als fallback als het niet een van de andere typen is.
Ik zou juist gebruik maken van het feit dat je met bindParam() automatische escaping kado krijgt waardoor SQL-injectie wordt voorkomen. Dat dat niet gebeurt met de mysql_-functies is de voornaamste reden dat ze het aan het uitfaseren zijn.quote:Op zaterdag 19 juli 2014 09:43 schreef remi1986 het volgende:
[..]
Hmm ik zie het inderdaad. Dan kan ik beter gewoon validatie via PHP doen en dan heb ik dat hele bindParam niet nodig.
Zo doe ik het ookquote:Op zaterdag 19 juli 2014 09:27 schreef Tijn het volgende:
[..]
Er zijn maar een paar mogelijkheden met PDO (null, bool, int en string). Je kunt makkelijk via PHP achterhalen welk type je variabele is (bv met is_null(), is_bool() en is_int()). PDO::PARAM_STR gebruik je dan als fallback als het niet een van de andere typen is.
escaping gebeurt toch middels de prepare functie? Of heb je daar echt de bindParam functie voor nodig?quote:Op zaterdag 19 juli 2014 09:47 schreef Tijn het volgende:
[..]
Ik zou juist gebruik maken van het feit dat je met bindParam() automatische escaping kado krijgt waardoor SQL-injectie wordt voorkomen. Dat dat niet gebeurt met de mysql_-functies is de voornaamste reden dat ze het aan het uitfaseren zijn.
Als je prepare gebruikt, hoe stop je de variabelen er dan in? Ik doe dat met bindParam, maar ik weet eigenlijk niet eens of het ook anders kanquote:Op zaterdag 19 juli 2014 09:48 schreef remi1986 het volgende:
[..]
escaping gebeurt toch middels de prepare functie? Of heb je daar echt de bindParam functie voor nodig?
quote:Op zaterdag 19 juli 2014 09:50 schreef Tijn het volgende:
[..]
Als je prepare gebruikt, hoe stop je de variabelen er dan in? Ik doe dat met bindParam, maar ik weet eigenlijk niet eens of het ook anders kan
Zo dus:quote:So what's going on here? The prepare method sends the query to the server, and it's compiled with the '?' placeholders to be used as expected arguments. The execute method sends the arguments to the server and runs the compiled statement. Since the query and the dynamic parameters are sent separately, there is no way that any SQL that is in those parameters can be executed... so NO SQL INJECTION can occur! This is a much better and safer solution than concatenating strings together.
1 2 3 4 | <?php $stmt = $db->prepare("INSERT INTO table(field1,field2,field3,field4,field5) VALUES(:field1,:field2,:field3,:field4,:field5)"); $stmt->execute(array(':field1' => $field1, ':field2' => $field2, ':field3' => $field3, ':field4' => $field4, ':field5' => $field5)); ?> |
Nee inderdaad. Ben er inmiddels al uit hoe ik het hebben wil. Ik laat dat bindParam gewoon weg, zodat ik dynamische insert, update en delete functies kan maken, waar ik gewoon een tabelnaam en array ingooi met column=>value.quote:Op zaterdag 19 juli 2014 09:54 schreef Tijn het volgende:
Ah, ja. Ik denk eigenlijk dat het dan niet zoveel uitmaakt.
Let er dan wel op dat die tabelnaam niet automatisch ge-escaped wordt en dat je daarmee dus nog wel potentieel sql-injection hebt.quote:Op zaterdag 19 juli 2014 09:59 schreef remi1986 het volgende:
[..]
Nee inderdaad. Ben er inmiddels al uit hoe ik het hebben wil. Ik laat dat bindParam gewoon weg, zodat ik dynamische insert, update en delete functies kan maken, waar ik gewoon een tabelnaam en array ingooi met column=>value.
dat zou ik kunnen opvangen door van de tabelnaam ook een parameter te makenquote:Op zaterdag 19 juli 2014 10:02 schreef Light het volgende:
[..]
Let er dan wel op dat die tabelnaam niet automatisch ge-escaped wordt en dat je daarmee dus nog wel potentieel sql-injection hebt.
Volgens mij kun je niet alle onderdelen van een query via bindParam meegeven, o.a. table names en velden achter de SELECT etc.quote:Op zaterdag 19 juli 2014 10:10 schreef remi1986 het volgende:
[..]
dat zou ik kunnen opvangen door van de tabelnaam ook een parameter te maken
dus INSERT INTO :table
en dan :table meegeven in de array of voor deze wel bindParam te gebruiken.
De tabelnaam door de gebruiker laten invullen lijkt me sowieso niet handig.quote:Op zaterdag 19 juli 2014 10:02 schreef Light het volgende:
[..]
Let er dan wel op dat die tabelnaam niet automatisch ge-escaped wordt en dat je daarmee dus nog wel potentieel sql-injection hebt.
Correct. Tabelnamen en kolomnamen kun je niet op die manier meegeven, al was het maar omdat je daar niets aan kunt 'preparen'.quote:Op zaterdag 19 juli 2014 10:24 schreef Sitethief het volgende:
[..]
Volgens mij kun je niet alle onderdelen van een query via bindParam meegeven, o.a. table names en velden achter de SELECT etc.
True, maar het is wel iets waar je je bewust van moet zijn bij het schrijven van de code.quote:Op zaterdag 19 juli 2014 10:34 schreef mstx het volgende:
[..]
De tabelnaam door de gebruiker laten invullen lijkt me sowieso niet handig.
Als het niet door de gebruiker wordt ingevuld hoef je het ook niet te escapen.
Hardcoded via PHP meegeven, is het dan nog mogelijk? (SQL Injection?)quote:Op zaterdag 19 juli 2014 10:49 schreef Light het volgende:
[..]
Correct. Tabelnamen en kolomnamen kun je niet op die manier meegeven, al was het maar omdat je daar niets aan kunt 'preparen'.
1 2 3 | <?php $db->insert("games", array("game_start" => date("Y-m-d H:i:s"))); ?> |
1 2 3 4 5 6 7 | <?php function insert($table, $data)} global $db; $db->prepare("INSERT INTO $table .... "); } ?> |
Nee, SQL-injectie gebeurt op het moment dat je gebruikersinput in je query stopt.quote:Op zaterdag 19 juli 2014 11:10 schreef remi1986 het volgende:
[..]
Hardcoded via PHP meegeven, is het dan nog mogelijk? (SQL Injection?)
[ code verwijderd ]
[ code verwijderd ]
Dat is voor Symfony2, hij vraagt voor ZF2.quote:Op dinsdag 22 juli 2014 09:45 schreef KomtTijd... het volgende:
Dat kun je aangeven dmv annotations.
http://symfony.com/doc/cu(...)ting-an-entity-class
De getters en setters en De fysieke database structuur maak je in een paar seconden aan dmv een command-line tool .
Daar werk ik nu ook mee, ik vroeg me alleen af of er net als in Symfony2 een geautomatiseerd tooltje was om variabelen te declareren, waarna je bijv kon aangeven of het om een string of integer gaat. Ik begin net pas met Doctrine, dus dat zou het voor mij (in het begin in elk geval) wat makkelijker makenquote:Op dinsdag 22 juli 2014 16:42 schreef Tijn het volgende:
Kun je dit niet gewoon gebruiken?
http://docs.doctrine-project.org/en/2.0.x/reference/tools.html
Laravel, en wat CodeIgniter applicaties die we moeten onderhouden.quote:Op dinsdag 22 juli 2014 17:10 schreef henrivo het volgende:
Met welke frameworks werken jullie hier zelf eigenlijk? Ik kom de laatste tijd ook steeds meer berichten tegen over Laravel
Keuzes... Keuzes...
Wat hij zegt inderdaad, ik zou overwegen over te stappen naar Symfony2quote:Op dinsdag 22 juli 2014 16:55 schreef Tijn het volgende:
Als je toch een beginner bent, waarom stap je dan niet over naar Symfony2? Dat is toch wel hét framework op het moment voor PHP. Tenzij je zwaar vastzit aan Zend Framework, zou ik lekker overstappen naar Symfony.
Als je ZF2 een beetje begint door te krijgen helpt dat ook voor de overstap naar Symfony2. Ik vond SF2 een stuk makkelijker dan ZF2. En ZF1 was misschien een standaard, maar ZF2 valt tegen waardoor steeds meer mensen overstappen naar SF2quote:Op dinsdag 22 juli 2014 16:59 schreef henrivo het volgende:
Omdat ik net ZF2 begon door te krijgen
Maar misschien heb je wel gelijk. De reden waarom ik voor ZF2 koos was omdat ik had begrepen dat het de industriestandaard is
Voorlopig nog SF2, maar als er een klant komt die met Laravel werkt of wil werken dan gaan we dat vast ook proberenquote:Op dinsdag 22 juli 2014 17:10 schreef henrivo het volgende:
Met welke frameworks werken jullie hier zelf eigenlijk? Ik kom de laatste tijd ook steeds meer berichten tegen over Laravel
Keuzes... Keuzes...
Is dat nóg makkelijker dan?quote:Op donderdag 24 juli 2014 21:40 schreef TwenteFC het volgende:
[..]Dan zal je van Laravel helemaal klaar komen.
Ik zit even naar de tutorials te kijken, zag dat phpacademy laatst een aantal tutorials had gepost maar had er nog niet naar gekeken. Denk dat ik voorlopig toch maar even bij symfony blijf, anders kun je zowat elk half jaar wel overstappen denk ik zo. Maar misschien als laravel meer voordelen blijkt te hebben dat ik de overstap alsnog waagquote:Op donderdag 24 juli 2014 21:50 schreef TwenteFC het volgende:
[..]
Zitten wel leuke dingen in ja![]()
http://laravel.com/docs
Welke voordelen zoek je, ligt ook maar net aan wat je wil maken natuurlijk.quote:Op donderdag 24 juli 2014 21:57 schreef henrivo het volgende:
[..]
Ik zit even naar de tutorials te kijken, zag dat phpacademy laatst een aantal tutorials had gepost maar had er nog niet naar gekeken. Denk dat ik voorlopig toch maar even bij symfony blijf, anders kun je zowat elk half jaar wel overstappen denk ik zo. Maar misschien als laravel meer voordelen blijkt te hebben dat ik de overstap alsnog waag
Ja weet ik eigenlijk ook nietquote:Op donderdag 24 juli 2014 21:58 schreef TwenteFC het volgende:
[..]
Welke voordelen zoek je, ligt ook maar net aan wat je wil maken natuurlijk.
Symfony heb ik zelf niet in productie gebruikt
Eloquent van Laravel is ook wel mooi.quote:Op donderdag 24 juli 2014 22:02 schreef henrivo het volgende:
[..]
Ja weet ik eigenlijk ook nietik vind de doctrine-tools in symfony iig erg handig werken, die heb je bij zf2 bijvoorbeeld weer niet
Ben gewoon een amateur die wat aanklooit met frameworks
1 2 3 | <?php Topic::with('reacties') ?> |
Netjes. Hebben ze een soort Builder pattern voor gebruikt?.quote:Op donderdag 24 juli 2014 22:42 schreef TwenteFC het volgende:
[..]
Eloquent van Laravel is ook wel mooi.
Als je alle Topics met bij behorende reacties wil hebben bijvoorbeeld dan kan de code er zo uit zien:
[ code verwijderd ]
Je hebt 2 classes die de Eloquent extenden, en in die models geef je dus aan welke relaties die hebben.quote:
1 2 3 4 5 6 7 8 9 10 | <?php class Topic extends Eloquent { public function reacties() { return $this->hasMany('Reactie') } } ?> |
1 2 3 4 5 6 7 8 9 10 | <?php class Reactie extends Eloquent { public function topic() { return $this->belongsTo('Topic'); } } ?> |
Ze hebben alleen wat te veel static methods gebruikt bij Laravel.quote:Op donderdag 24 juli 2014 21:50 schreef TwenteFC het volgende:
[..]
Zitten wel leuke dingen in ja![]()
http://laravel.com/docs
Die je niet hoeft te gebruiken, het is een keuze die bij de developer ligt.quote:Op vrijdag 25 juli 2014 08:46 schreef Light het volgende:
[..]
Ze hebben alleen wat te veel static methods gebruikt bij Laravel.
Als je het zelf wil doen (en dat moet je sowieso even overwegen): kwestie van een database aanleggen, een backend inbouwen (met of zonder gebruikerssysteem, wel aan te raden) en je URLs routen.quote:Op vrijdag 25 juli 2014 20:05 schreef Super-B het volgende:
Iemand bekend met het zelf in elkaar knutselen van een CMS?
Ik heb namelijk een single page website gemaakt. Als er op de hyperlink 'voorraad' geklikt wordt, dan zal de voorraadartikelen tevoorschijn komen. Echter vraag ik mij af hoe ik hiervan een soort CMS systeem op kan toepassen, zodat de voorraadartikelen gewijzigd kunnen worden en er zo nodig voorraadartikelen toegevoegd kunnen worden?
Qua back-end (PHP/MySQL) heb ik dus nog niks gedaan. Ik heb in principe alles via de front-end gemaakt. Het punt is dus dat de front-end gewijzigd moet kunnen worden.
Wiel opnieuw uitvinden?quote:Op vrijdag 25 juli 2014 20:05 schreef Super-B het volgende:
Iemand bekend met het zelf in elkaar knutselen van een CMS?
Ik heb namelijk een single page website gemaakt. Als er op de hyperlink 'voorraad' geklikt wordt, dan zal de voorraadartikelen tevoorschijn komen. Echter vraag ik mij af hoe ik hiervan een soort CMS systeem op kan toepassen, zodat de voorraadartikelen gewijzigd kunnen worden en er zo nodig voorraadartikelen toegevoegd kunnen worden?
Qua back-end (PHP/MySQL) heb ik dus nog niks gedaan. Ik heb in principe alles via de front-end gemaakt. Het punt is dus dat de front-end gewijzigd moet kunnen worden.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |