[PHP] Variabelen parsen met include

Pagina: 1
Acties:
  • 136 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
Ik wil het volgende bereiken,

Ik heb een javascript systeem op mijn website waarvoor data moet komen uit een database, het liefst wil ik de javascipt gewoon los opslaan in een file en das via php include

voorbeeld: java.js bevat:
code:
1
 function blaat ( hier één of ander functie $strVariabeleData };


PHP:
1
2
3
4
5
6
7
<?php
  $strVariabeleData = "Data uit database";
  
  $strToParse = inlcude("java.js");  

  print $strVariabeleData; 
?>   


de output van die script is
code:
1
 function blaat ( hier één of ander functie $strVariabeleData };


echter ik zou heel graag willen dat dat het volgende word:
code:
1
 function blaat ( hier één of ander functie Data uit databasea };


Daarmee zou ik de javascript kunnen scheiden van de php code, is er iemand die een oplossing weet?

Acties:
  • 0 Henk 'm!

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

NMe

Quia Ego Sic Dico.

Gewoon echo-en, zoals je nu ook doet? Ik snap je probleem niet echt...kun je iets duidelijker zijn?

'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!

  • Maxxi
  • Registratie: Mei 2004
  • Laatst online: 19-04 19:18
Sowieso zal je eerst een include moeten doen VOORDAT je er data uitopvraagd.

en idd wees eens wat duidelijker?
En wat is er mis met een SQL query in php draaien, en vervolgens met java verder gebruiken?

Acties:
  • 0 Henk 'm!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
Ik bedoel het anders om..

als je een string hebt met dubbel qoutes en een variabele

$var = 12

$string = "getal is $var";

dan zal echo $string 'getal is 12' opleveren. Bij het valueren van de String worden de variabelen geparsed en dus verwerkt (is het zo duidelijk?). Dat wil ik dus ook met een include zodat de de inhoud van de string gewoon in een los bestandje staat inplaats van in de ph pcode.

[ Voor 4% gewijzigd door martijnvanegdom op 30-09-2005 21:09 ]


Acties:
  • 0 Henk 'm!

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

NMe

Quia Ego Sic Dico.

'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!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
Geen van beide is wat ik prefeer (het gaat om ongeveer 40 variabelen (en ook nog varieerend in aantal) dan kun je net zo goed de meuk in je php laten zijn

Acties:
  • 0 Henk 'm!

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

NMe

Quia Ego Sic Dico.

str_replace werkt ook met arrays. En verder heb je niet echt opties ben ik bang. Je wil ook nogal vreemde dingen. Code hoort in je bestandssysteem, niet in je database.

'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!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
-NMe- schreef op vrijdag 30 september 2005 @ 21:21:
str_replace werkt ook met arrays. En verder heb je niet echt opties ben ik bang. Je wil ook nogal vreemde dingen. Code hoort in je bestandssysteem, niet in je database.
Of ik ben echt niet duidelijk of het is het einde van de week:

1) Data in Database
2) Javascript in los bestandje
3) php haalt gegevens op uit database (data dus geen code) en moet ook even de javascript lezen, en deze aan elkaar knutselen

is het nu duidelijk?

Acties:
  • 0 Henk 'm!

Verwijderd

Het is niet anders dan een HTML bestand of wat dan ook. Je wilt uiteindelijk dat er een stuk javascript in elkaar wordt gezet. Zorg gewoon dat het PHP script die javascript genereert. Als er ergens in de javascript iets variabels moet worden neergezet, doe je dat net zo goed door een variabele in PHP naar de standaard output te echo'en, zodat dit direct in de javascript code terecht komt. Gewoon echo dus.

Acties:
  • 0 Henk 'm!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
Verwijderd schreef op vrijdag 30 september 2005 @ 21:31:
Het is niet anders dan een HTML bestand of wat dan ook. Je wilt uiteindelijk dat er een stuk javascript in elkaar wordt gezet. Zorg gewoon dat het PHP script die javascript genereert. Als er ergens in de javascript iets variabels moet worden neergezet, doe je dat net zo goed door een variabele in PHP naar de standaard output te echo'en, zodat dit direct in de javascript code terecht komt. Gewoon echo dus.
Dat is dus de plain forward manier van php, dit systeem is echter heel wat gecompliceerder, en dat ben je heel erg blij als je php en html / javascript code gescheiden kunt houden. Ik neem aan dat jij bedoelde

PHP:
1
2
3
4
5
6
7
<?php 
   // data laden
 ?>
     javascipt <?php echo $variabele; php ?>javascript
<?php 
     //  spul outputen 
?>

Dat is voor mij echt geen goede optie, hooguit als opslag methode, maar dat moet veel netter kunnen zou ik zeggen

[ Voor 8% gewijzigd door martijnvanegdom op 30-09-2005 21:38 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Het kan vast netter. Maar jij wilt dynamisch stukken javascript genereren. Dan kom je toch echt op zo'n oplossing uit.

Sowieso zou je geen code binnen functies moeten genereren, en gewoon alle functies in javascript apart laten inladen. Het liefst in een apart, statisch bestand zodat het gecachet kan worden. En dan eventueel wel losse javascript genereren met alleen data. Bijvoorbeeld:
JavaScript:
1
var data = [ 'melp', 'spef' ];

Acties:
  • 0 Henk 'm!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
Is allemaal best leuk, alleen dan moet je nog voor elk javascript alle var met de hand gaan opbouwen, daarnaast, op zijn max zijn het 80 vars, is het nog enorm veel, is dus niet handig. Ik weet niet of jullie bekend zijn met smarty, html template, engine, voor html werkt het perfect, maar om netjes javascript dynamisch te parsen werkt het niet, het kan wel in de header van je html, maar de html is al erg groot, dus ook dat is niet echt een optie. Eigenlijk wil ik 'smary for javascript' natuurlijk niet zo uitgebreid maar toch een beetje dat idee. Punt gaat bij mij dus mis bij het includen van de handel

Acties:
  • 0 Henk 'm!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
Heb nu een oplossing die enig zins lijkt op wat hier geoperd is, heb nu een php aangemaakt met enkele zaken om data in de javascript te krijgen en verder komt alle code binnen als een string met gebruik making van curly syntax

Acties:
  • 0 Henk 'm!

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

NMe

Quia Ego Sic Dico.

Sowieso vind ik het vaag dat je via PHP Javascript variabelen wil vullen met data uit de database. Waarom haal je die data niet gewoon op met een XMLHTTP request in Javascript zelf?

'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!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
-NMe- schreef op vrijdag 30 september 2005 @ 23:26:
Sowieso vind ik het vaag dat je via PHP Javascript variabelen wil vullen met data uit de database. Waarom haal je die data niet gewoon op met een XMLHTTP request in Javascript zelf?
Ik ben eigenlijk niet echt bekend met xmlhttp, ik het alleen een beetje van .net. Dus daar heb ik sowieso niet aangedacht, daarnaast waarom is het vaag, laat php zijn werk op de server doen, en laat javascript het op de client doen.

Daarnaast heb ik de php een framework achtig systeem zitten die alle database flow regelt, alle sql controleerd, alle input controleerd, alle fouten verwerkt, eventueel kan debuggen en backtracking kan geven van aangeroepen functies, lijkt me eigenlijk een beetje jammer om dat een apart ding te bouwen voor dit

[ Voor 24% gewijzigd door martijnvanegdom op 01-10-2005 00:35 ]


Acties:
  • 0 Henk 'm!

  • joopst
  • Registratie: Maart 2005
  • Laatst online: 01-10-2024
dynamisch javascript maken is vanuit design oogpunt gezien een domme bezigheid.

het is overzichtelijke, makkelijker te onderhouden als je vaste js files hebt met stateless functies erin. Alle parameters die de afhankelijk zijn van de context moet je meegeven in de aanroep, of als ze pagina-specifiek zijn als global (javascript) variable instantieren.

Als je zelf javascript gaat zitten klussen wordt het een zootje. Daarnaast kan niemand anders dan jijzelf het straks nog aanpassen als je er per ongeluk een bug in hebt geklust.

Acties:
  • 0 Henk 'm!

  • joopst
  • Registratie: Maart 2005
  • Laatst online: 01-10-2024
Ik las dat je ook .net programmeert ?

een artikel van iemand die hard heeft nagedacht over javascript in controls in .net kan je hier lezen

Acties:
  • 0 Henk 'm!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
joopst schreef op zaterdag 01 oktober 2005 @ 10:05:
Ik las dat je ook .net programmeert ?

een artikel van iemand die hard heeft nagedacht over javascript in controls in .net kan je hier lezen
Ik heb ooit wel wat geklierd met .net en .net 2.0 beta.. Maar ik blijft bij php, klinkt misschien een beetje appart maar wil ik een taal echt kunnen coden dat moet ik die taal aanvoelen. .net voel ik absoluut niet aan, dus verder dan wat huis-tuin-en-keuken .net ben ik niet gekomen.

Acties:
  • 0 Henk 'm!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
joopst schreef op zaterdag 01 oktober 2005 @ 10:02:
dynamisch javascript maken is vanuit design oogpunt gezien een domme bezigheid.

het is overzichtelijke, makkelijker te onderhouden als je vaste js files hebt met stateless functies erin. Alle parameters die de afhankelijk zijn van de context moet je meegeven in de aanroep, of als ze pagina-specifiek zijn als global (javascript) variable instantieren.

Als je zelf javascript gaat zitten klussen wordt het een zootje. Daarnaast kan niemand anders dan jijzelf het straks nog aanpassen als je er per ongeluk een bug in hebt geklust.
Ben ik het op zekere hoogte wel met je eens, maar mijn php kan voor een aantal standaard forms javacript klussen, dus formpje toevoegen en php doet de rest.

En dat het niet meer te debug valt is aardig onzin, zolang je maar goed doc's en spec's bouwt. Dan komt het meestal wel goed.

but Real Programmers don't document, It was hard to write so it should hard to read
Pagina: 1