Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

PHP code blok: variabele binnen string met dubbele quote's

Pagina: 1
Acties:

  • Alain
  • Registratie: Oktober 2002
  • Niet online
PHP:
1
2
3
4
5
6
<?php

$substring = "substring";
$string = "Deze string heeft een substring: $substring";

?>


De laatste $substring zou ook blauw moeten zijn. :)

[ Voor 4% gewijzigd door Alain op 26-05-2008 21:51 ]

You don't have to be crazy to do this job, but it helps ....


  • Noork
  • Registratie: Juni 2001
  • Niet online
Is dat wel zo? Is deze syntax niet beter?
PHP:
1
$string = "Deze string heeft een substring: " . $substring;

  • Alain
  • Registratie: Oktober 2002
  • Niet online
Wat beter is, is een discussie voor in Programming

Een variabele binnen dubbele quote's wordt gezien als variabele en niet als string en dus zou ie blauw moeten zijn. :P

You don't have to be crazy to do this job, but it helps ....


  • Xander
  • Registratie: Oktober 2002
  • Laatst online: 00:45
Noork schreef op maandag 26 mei 2008 @ 21:53:
Is dat wel zo? Is deze syntax niet beter?
Net wat je wilt, ik vind het beter. ;)

AlainS' voorbeeld is ook gewoon correct PHP. Maar of dat betekent dat de highlighter het anders zou moeten doen? Op de PHP site is het niet anders...

PC specs!---Pulse mee voor GoT!
[22:49:37] <@Remy> ik wil een opblaasbare dSLR :+


  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 22:04

AW_Bos

Liefhebber van nostalgie... 🕰️

Ik vind eerder van niet. Want variabelen horen niet in een string.
En ook de higlighter in het PHP-progje wat ik gebruik thuis houdt voet bij stuk :).

Telecommunicatie van vroeger
🚅Alles over spoor en treintjes


  • BCC
  • Registratie: Juli 2000
  • Laatst online: 23:24

BCC

Qua leesbaarheid maakt het niets uit, dus welke is het snelst? Ik weet toevallig dat in Ruby de eerste variant vele malen sneller is... ff checken

2 Miljoen keer:
$substring = 'substring';
$string = "Deze string heeft een substring: $substring";

868 ms

2 Miljoen keer:
$substring = 'substring';
$string = 'Deze string heeft een substring: ' . $substring;

555 ms

Gebruik de tweede :) Dus de syntax checker heeft het voordeel van de twijfel :P

[ Voor 70% gewijzigd door BCC op 26-05-2008 22:14 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

BCC schreef op maandag 26 mei 2008 @ 22:03:
Qua leesbaarheid maakt het niets uit, dus welke is het snelst? Ik weet toevallig dat in Ruby de eerste variant vele malen sneller is... ff checken

2 Miljoen keer:
$substring = 'substring';
$string = "Deze string heeft een substring: $substring";

868 ms

2 Miljoen keer:
$substring = 'substring';
$string = 'Deze string heeft een substring: ' . $substring;

555 ms

Gebruik de tweede :) Dus de syntax checker heeft het voordeel van de twijfel :P
Dat zal in PHP waarschijnlijk niet anders zijn. Je geeft er ook duidelijk mee aan dat er een string ge-concatenate wordt. De eerste variant pleurt de variabele in de string en dan moet de interpreter eerst gaan bekijken of het toevallig een variabele is, en dat kost extra tijd.

Iemand een Tina2 in de aanbieding?


  • BCC
  • Registratie: Juli 2000
  • Laatst online: 23:24

BCC

Ik zal mezelf even wat verduidelijken:

In Ruby is "iets #{blaat}" sneller dan "iets" + blaat
In PHP is "iets" . $blaat sneller dan "iets $blaat"

Maar verder is dit volledig offtopic :) En single of double quotes heeft geen invloed op de resultaten :)

[ Voor 15% gewijzigd door BCC op 26-05-2008 22:24 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • Alain
  • Registratie: Oktober 2002
  • Niet online
De reden waarom ik dit meld, is omdat mijn eigen programmeertool dit wel blauw maakt. Op het forum wordt het gebruik van variabelen binnen dubbele quote's regelmatig gebruikt en dan lees je dus makkelijk over een variabele heen. Dat andere highlighters het niet doen is jammer, en voor korte stukjes code wel te doen. Bij langere stukken waarbij je soms op variabelen let, ga je niet elke string af voor eventuele variabelen. Daar is die highlighting voor bedoeld toch?

En zover ik weet staan de devvers van T.net altijd open voor verbeteringen. :)

You don't have to be crazy to do this job, but it helps ....


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Mjah, het gaat er niet om of het beter, het gaat erom dat het hoort, maar ik vraag me af of het wel zo simpel is om aan te passen dat hij bij double quotes de variablen moet verven. Het is tenslotte een highlighter, geen complete parser.

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 23:57

crisp

Devver

Pixelated

Punt is dat je dan ook de complexe syntax (met curly braces) moet gaan ondersteunen en dus, zoals moto-moi al zegt, de string-content al bijna aan het parsen bent in plaats van enkel simpel highlighten. Je zal dan eigenlijk ook moeten detecteren dat dit ongeldig is:
PHP:
1
$a = "tralala $foo['bar']";

Intentionally left blank


  • BCC
  • Registratie: Juli 2000
  • Laatst online: 23:24

BCC

Kun je ook niet gelijk de code uitvoeren en de output weergeven :)?

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • Alain
  • Registratie: Oktober 2002
  • Niet online
Bij de highlighter die ik gebruik wordt: $<variabele> en $<variabele>[<integer>] als variabele gezien. Ik gebruik btw kate om te programmeren en daar zit geen parser in.

You don't have to be crazy to do this job, but it helps ....


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Het is gewoon (iig voor PHP) bij iedereen bekend als slechte code style. Als we dan toch code style zaken gaan meenemen, lijkt het corrigeren van indenting mij een stuk nuttiger. ;)

Dat je nu die variabele niet ziet is gewoon het gedrag van >90% vd highlighters, en zelfs met jouw voorgestelde highlighting ziet het er stom uit. Dat zou gewoon een incentive moeten zijn om je aan het denken te zetten of de var niet buiten de string moet. Het niet highlighten is een feature voor betere code style. :Y)

{signature}


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Voutloos schreef op woensdag 28 mei 2008 @ 07:56:
Het is gewoon (iig voor PHP) bij iedereen bekend als slechte code style. Als we dan toch code style zaken gaan meenemen, lijkt het corrigeren van indenting mij een stuk nuttiger. ;)
Het gaat er helemaal niet om of het netjes is, de taal akn eht, dus hoort het in theorie in de highlighter thuis ;) probleem is alleen zoals ik al eerder zei, dat het nogal wat werk is om dat erin te bouwen.

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Dat het bepaald niet triviaal is snap ik ook, maar ik zet gewoon graag het 'je code kan uberhaupt netter' argument in. :P

{signature}


  • Arjan90
  • Registratie: September 2005
  • Laatst online: 23:21
Het zit trouwens wel in phpDesigner, deze geeft hem geen aparte kleur maar maakt hem gewoon dikgedrukt volgens mij ;)

Geshi heeft het er ook niet inzitten zie ik, toch wel jammer! Zeker als je het wel een keer gebruikt

[ Voor 10% gewijzigd door Arjan90 op 28-05-2008 11:58 ]

"Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid."

Pagina: 1