Gebruik PHP code in PHP code

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

De vraag is simpel:

Ik ben bezig een Wordpress-template aan te passen.
Ik gebruik een plugin welke met behulp van shortcodes te gebruiken is. Deze shortcode wil ik gebruiken in één van de template bestanden. Tot nu toe ziet dit er zo uit:

code:
1
<?php echo do_shortcode( "[testimonials category=" hier moet php code "); ?>


Zoals je ziet moet er nog iets achter 'category' komen te staan. Dat moet de titel zijn van de pagina's waarop de inhoud moet verschijnen. De categorie-titels komen namelijk overeen met de pagina-titels.

Wat ik heb geprobeerd:

code:
1
<?php  echo do_shortcode("[testimonials category=" .$get_the_title(). "]"); ?>

Dit geeft geen errors, maar laat ook geen veranderingen zien.

Hoe los ik dit op met een simpel stukje code?

Ik hoop dat mijn probleem zo goed is uitgelegd.

Bijvoorbaat dank.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als je nou eens geen $ voor een functieaanroep zet werkt dat vast beter. ;) Dat zou je ook uitgevonden hebben als je (alleen op je ontwikkelomgeving!!!1) display_errors op on hebt staan en error_reporting op E_ALL.

Daarnaast: Waar hoort mijn topic?

WEB>>PRG

[ Voor 57% gewijzigd door NMe op 17-07-2014 13:13 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oh mijn god. Hoe simpel kan iets zijn?! Bedankt het werkt! Opgelost.

Acties:
  • 0 Henk 'm!

  • xehbit
  • Registratie: Februari 2009
  • Laatst online: 26-08 22:19

xehbit

Hihi, zelfde probleem gehad door een stagiar, in boostrap file display errors aangezet, maar een collega had ergens random in een andere file ini_set('display_errors', false); neergezet, en ik maar afvragen waarom ik die errors niet kon vinden...

Even een vraagje, wanneer je spaties van de get_page_title krijgt, gaat dit dan goed? Volgens mij moet je dat nog tussen quotes zetten, bijvoorbeeld zo iets als dit:
PHP:
1
2
3
echo do_shortcode("[testimonials category='" .$get_the_title(). "']");
// Of
echo do_shortcode("[testimonials category=\"" .$get_the_title(). "\"]");

Acties:
  • 0 Henk 'm!

Verwijderd

Dragon707 schreef op donderdag 17 juli 2014 @ 16:22:
Even een vraagje, wanneer je spaties van de get_page_title krijgt, gaat dit dan goed? Volgens mij moet je dat nog tussen quotes zetten, bijvoorbeeld zo iets als dit:
PHP:
1
2
3
echo do_shortcode("[testimonials category='" .$get_the_title(). "']");
// Of
echo do_shortcode("[testimonials category=\"" .$get_the_title(). "\"]");
of (misschien iets netter):
PHP:
1
echo do_shortcode('[testimonials category="' .get_the_title(). '"]');

[ Voor 6% gewijzigd door Verwijderd op 17-07-2014 16:27 . Reden: - ]


Acties:
  • 0 Henk 'm!

  • xehbit
  • Registratie: Februari 2009
  • Laatst online: 26-08 22:19

xehbit

En is nog iets sneller ook wat ZippieZap zegt, PHP parsed die string dan niet!

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

Wat nonsens is, de string moet nog steeds doorzocht worden op escape sequences (namelijk \\ en \')

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • xehbit
  • Registratie: Februari 2009
  • Laatst online: 26-08 22:19

xehbit

.oisyn schreef op donderdag 17 juli 2014 @ 16:35:
Wat nonsens is, de string moet nog steeds doorzocht worden op escape sequences (namelijk \\ en \')
Hoe bedoel je dat precies ?

http://preview.zdev.nl/test.phps
PHP:
1
2
3
    $test = '123';
    echo "Hello\r\nWorld $test";
    echo 'Hello\r\nWorld $test';


Uitvoer:
http://preview.zdev.nl/test.php
code:
1
2
Hello
World 123Hello\r\nWorld $test

[ Voor 7% gewijzigd door xehbit op 17-07-2014 16:41 ]


Acties:
  • 0 Henk 'm!

  • ytterx
  • Registratie: Januari 2009
  • Laatst online: 17-09 12:23
Als nog zie ook: http://www.phpbench.com/
Performance verschil tussen single en dubbel quotes is vrij klein.

Acties:
  • 0 Henk 'm!

  • xehbit
  • Registratie: Februari 2009
  • Laatst online: 26-08 22:19

xehbit

ytterx schreef op donderdag 17 juli 2014 @ 16:41:
Als nog zie ook: http://www.phpbench.com/
Performance verschil tussen single en dubbel quotes is vrij klein.
Het performance verschil is inderdaad erg klein, maargoed ik ben daar weer een mierenneuker in en wil applicaties altijd zo goed mogelijk proberen te schrijven :-)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dragon707 schreef op donderdag 17 juli 2014 @ 16:39:
[...]

Hoe bedoel je dat precies ?
Net wat hij zegt: binnen enkele quotes kunnen enkele quotes ook geëscaped worden (want anders kun je geen ' in die string kwijt ;)) en omdat dat kan moet je ook de backslash kunnen escapen omdat je anders geen backslash als laatste karakter kan opnemen. Er wordt dus ook in enkele quotes gewoon geparset, alleen wordt er naar wat minder verschillende situaties gezocht. ;)

En uiteindelijk is het verschil in snelheid zoals hierboven al gezegd dermate minimaal dat het geen argument mag zijn. Gebruik vooral dubbele quotes als je dat mooier of handiger vindt, of gebruik ze vooral niet als je er om de een of andere reden problemen mee hebt. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Dragon707 schreef op donderdag 17 juli 2014 @ 16:42:
[...]

Het performance verschil is inderdaad erg klein, maargoed ik ben daar weer een mierenneuker in en wil applicaties altijd zo goed mogelijk proberen te schrijven :-)
goed =/= elke ms performancewinst eruit geperst hebben. Dat zorgt vaak voor slecht onderhoudbare code (in dit geval trouwens niet van toepassing).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • xehbit
  • Registratie: Februari 2009
  • Laatst online: 26-08 22:19

xehbit

NMe schreef op donderdag 17 juli 2014 @ 17:16:
[...]

Net wat hij zegt: binnen enkele quotes kunnen enkele quotes ook geëscaped worden (want anders kun je geen ' in die string kwijt ;)) en omdat dat kan moet je ook de backslash kunnen escapen omdat je anders geen backslash als laatste karakter kan opnemen. Er wordt dus ook in enkele quotes gewoon geparset, alleen wordt er naar wat minder verschillende situaties gezocht. ;)
Aha, zo bedoel je dus..
NMe schreef op donderdag 17 juli 2014 @ 17:16:
En uiteindelijk is het verschil in snelheid zoals hierboven al gezegd dermate minimaal dat het geen argument mag zijn. Gebruik vooral dubbele quotes als je dat mooier of handiger vindt, of gebruik ze vooral niet als je er om de een of andere reden problemen mee hebt. :)
Persoonlijk vind ik enkele quote's mooier omdat ik weer dubbele quotes gebruik bij mijn HTML. Scheelt hoop escapen van de " in PHP strings :-)

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Op t moment dat performance van single of dubbele quotes belangrijk wordt ben je al veel te laat. Ik heb ook voorkeur om single quotes te gebruiken maar dat is puur uit leesbaarheid, niet vanwege performance.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Heel veel mensen gebruiken juist liever dubbele quotes omdat in veel andere talen enkele quotes gebruikt worden voor characters en dubbele quotes voor character arrays (oftewel strings). ;)
Dragon707 schreef op zondag 20 juli 2014 @ 11:09:
[...]

Persoonlijk vind ik enkele quote's mooier omdat ik weer dubbele quotes gebruik bij mijn HTML. Scheelt hoop escapen van de " in PHP strings :-)
Persoonlijk gebruik ik meestal dubbele quotes (inclusief constructies als "Er zijn {$nrUpdates} updates."), tenzij ik inderdaad een string heb waarin wel dubbele quotes voorkomen maar geen enkele quotes. Komt maar zelden voor omdat HTML in mijn templates staat en vrijwel nooit in code.

[ Voor 60% gewijzigd door NMe op 20-07-2014 17:04 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • phex
  • Registratie: Oktober 2002
  • Laatst online: 17-09 09:59
Ik vind single ook mooier, voornamelijk omdat Symfony en Zend Framework het doen. 15 jaar geleden riepen veel mensen dat single quote sneller was omdat er geen variables geparsed werden, blijkbaar is dat (nu) niet (meer) waar, maar het is daardoor wel zo gegroeid bij mij voor PHP projecten.

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

De performance-overweging is echt quatsch. Zeker als je een bytecode cache gebruikt. Double quoted strings worden namelijk ook gewoon gelext, dus dat maakt echt geen bal uit. Dat is net zoiets als zeggen dat kortere variabelenamen sneller is. Dat zal ongetwijfeld zo zijn, maar daar hoef je het toch ook niet heel lang over te hebben.

NMe:
Heel veel mensen gebruiken juist liever dubbele quotes omdat in veel andere talen enkele quotes gebruikt worden voor characters en dubbele quotes voor character arrays (oftewel strings). ;)
Da's inderdaad wél een hele goeie reden. :P

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
phex schreef op zondag 20 juli 2014 @ 14:53:
15 jaar geleden riepen veel mensen dat single quote sneller was omdat er geen variables geparsed werden, blijkbaar is dat (nu) niet (meer) waar, maar het is daardoor wel zo gegroeid bij mij voor PHP projecten.
Het was 15 jaar geleden ook al onzin hoor. Als een string niet geparst hoeft te worden betekent dat concreet dat je er bepaalde tekens niet in kan gebruiken.

Want dan is elke start en stop char echt alleen een start en stop char zijn en kan je die dus niet outputten kan je toch een start-stop char in je output krijgen (door bijv te escapen) dan wordt het geparsed.

Het enige wat zo is is dat single-quote minder parsings-regels hanteert dan double-quote.
Pagina: 1