Include_once in een array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Francoi gckx

Francoi gckx

24/07/2013 15:11:03
Quote Anchor link
Is het mogelijk om een include_once 'url' in een key-value array te stoppen
zoiets

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
case  'info_opleidingen';
                    $returned_array = array('title' => 'Opleidingen',
                                       'content' => include_once('inc/inc_info_opleidingen.php'));
                    return $returned_array;
?>
 
PHP hulp

PHP hulp

27/04/2024 04:48:18
 
TJVB tvb

TJVB tvb

24/07/2013 15:11:40
Quote Anchor link
Probeer het eens :)
 
Francoi gckx

Francoi gckx

24/07/2013 15:14:25
Quote Anchor link
Gedaan maar dan echod die gelijk alles als ik dit doe

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$title_and_content
= getPageAction($_GET['page']);
?>


Hier echoed hij gelijk alles al

Ik wil het later aanroepen

zoals zo: $title_and_content['title']

en dan stukje verder de include
zoals zo: $title_and_content['content']
 
Kris Peeters

Kris Peeters

24/07/2013 15:18:44
Quote Anchor link
Mijn eerste idee: dat klinkt niet echt als een goed idee.

Is er iets speciaal dat je hiermee wil doen?
 
TJVB tvb

TJVB tvb

24/07/2013 15:18:51
Quote Anchor link
Je voert op dat moment gewoon dat bestand uit.

includebestand.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
return 'Dit is de waarde die ik terug wil geven';
?>


basisbestand.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
echo 'Ik probeer wat <br>' . PHP_EOL;
$variabele = include('includebestand.php');
echo 'Ik heb includebestand.php geladen <br>' . PHP_EOL;
echo $variabele;
?>


@Kris, Kohana gebruikt dit bijvoorbeeld voor het laden van config bestanden. Het kan handig zijn
Gewijzigd op 24/07/2013 15:19:40 door TJVB tvb
 
Francoi gckx

Francoi gckx

24/07/2013 15:22:14
Quote Anchor link
Ja oorspronklijk returned ik de include_once binnen in een functie

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
case  'info_opleidingen';
                    return include_once('inc/inc_info_opleidingen.php')
?>


Maar ik heb de titel van die include ook nodig, en ik wil het graag zo hebben dan ziet het er geordend uit,
maar aan jou reactie te zien gaat dat niet?
 
TJVB tvb

TJVB tvb

24/07/2013 15:24:22
Quote Anchor link
Volgens mij moet je in ieder geval een include i.p.v. include_once gebruiken, anders is de 2e keer je variabele leeg.
Maar wat krijg je nu terug dan? (Met die array versie?)
 
Francoi gckx

Francoi gckx

24/07/2013 15:24:28
Quote Anchor link
O voor de duidelijkheid de functie is voor het ophalen van de juiste get pagina met content
zodat ik het in een .php bestand kan laden.

Toevoeging op 24/07/2013 15:25:27:

TJVB tvb op 24/07/2013 15:24:22:
Volgens mij moet je in ieder geval een include i.p.v. include_once gebruiken, anders is de 2e keer je variabele leeg.
Maar wat krijg je nu terug dan? (Met die array versie?)



Ik krijg gelijk alles van die include pagina zonder dat ik het aanroep dus loopt alles door de pagina heen
 
TJVB tvb

TJVB tvb

24/07/2013 15:26:23
Quote Anchor link
geeft die include pagina het dan wel met een return?
 
Francoi gckx

Francoi gckx

24/07/2013 15:28:25
Quote Anchor link
Ja dus zonder in een array te stoppen: return include_once('inc/inc_info_opleidingen.php')

dan lukt het wel dan kan ik in de hoofdpagina gewoon dit doen

echo getPageAction($_GET['page'])
 
TJVB tvb

TJVB tvb

24/07/2013 15:31:05
Quote Anchor link
Raar, dan zou ik het met een tussenstap doen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$inhoud
= include('bestand');
return array('title' => 'titeltje' , 'content' => $inhoud);
?>

Toevoeging op 24/07/2013 15:36:25:

Waarom heb je de titel niet bij in je inhoudsbestand staan? Dan kan je daaruit de gehele array returnen.
Gewijzigd op 24/07/2013 15:37:18 door TJVB tvb
 
Francoi gckx

Francoi gckx

24/07/2013 15:36:53
Quote Anchor link
Hmm zelfde probleem

Toevoeging op 24/07/2013 15:38:28:

Waarom heb je de titel niet bij in je inhoudsbestand staan? Dan kan je daaruit de gehele array returnen.


Ja maar dan moet ik ook een array maken van heel de content met lijsten enzo erin

Toevoeging op 24/07/2013 15:50:21:

Dit geeft vardump

array(2) { ["title"]=> string(17) "Opleidingen" ["content"]=> int(1) }
 
TJVB tvb

TJVB tvb

24/07/2013 16:00:32
Quote Anchor link
Kun je wat meer van je code laten zien? En heb je error reporting aan staan?

Want dat je content een int is lijkt erop alsof er in het bestand dat je include geen return staat.
 
Francoi gckx

Francoi gckx

24/07/2013 16:01:12
Quote Anchor link
Het lijkt mij duidelijk dat je een include_once niet in een variable of array kan stoppen...
Want hij negeert dat compleet en laadt gelijk heel die bestand:(

Toevoeging op 24/07/2013 16:04:31:

TJVB tvb op 24/07/2013 16:00:32:
Kun je wat meer van je code laten zien? En heb je error reporting aan staan?

Want dat je content een int is lijkt erop alsof er in het bestand dat je include geen return staat.



Er staat ook geen return in mij include bestand er zit alleen puur html met informatie er in.

Dat content een int is hoeft geen probleem te zijn
is gewoon een boolean waarde die je toch kan manipuleren door == false aan toe te voegen
 
TJVB tvb

TJVB tvb

24/07/2013 16:04:37
Quote Anchor link
Gebruik eens een include i.p.v. include_once (al eerder gezegd al zou het in dit geval niet echt verschil moeten maken)

Toevoeging op 24/07/2013 16:06:38:

Francoi gckx op 24/07/2013 16:01:12:
Er staat ook geen return in mij include bestand er zit alleen puur html met informatie er in.

Tja, als jij geen return gebruikt maar meteen weergeeft zal dat ook gebeuren.
Je zal het moeten returnen om in een variabele te kunnen gebruiken.
Gewijzigd op 24/07/2013 16:05:18 door TJVB tvb
 
Francoi gckx

Francoi gckx

24/07/2013 16:08:47
Quote Anchor link
Ik heb
case 'info_opleidingen';
$returned_array = include('inc/inc_info_opleidingen.php');
return $returned_array;

al geprobeerd inderdaad geen verschil

Maar ik vind het zonde om alle normale teksten en html opmaak in een lange variable te stoppen
is er echt geen ander manier?

Toevoeging op 24/07/2013 16:09:49:

Je vergeet dat die het zo wel deed
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
case  'info_opleidingen';
                    return include_once('inc/inc_info_opleidingen.php')
?>
 
TJVB tvb

TJVB tvb

24/07/2013 16:12:11
Quote Anchor link
Lees anders php.net/include eens door.
Het kan niet zonder gebruik te maken van de ob_* functies, en daar wordt je ook niet vrolijk van. Wat is het probleem van een lange variabele?
 
Francoi gckx

Francoi gckx

24/07/2013 16:12:21
Quote Anchor link
Ik denk dat ik maar de titel eruit haal en gewoon wel de include returen en de titel op een ander manier ga doen

Toevoeging op 24/07/2013 16:13:45:

TJVB tvb op 24/07/2013 16:12:11:
Lees anders php.net/include eens door.
Het kan niet zonder gebruik te maken van de ob_* functies, en daar wordt je ook niet vrolijk van. Wat is het probleem van een lange variabele?


Het is gewoon niet netjes en denk dat ik er later moeilijkenheden door ga krijgen
al weet ik nou neit wat

Toevoeging op 24/07/2013 16:16:12:

Toch bedankt voor je hulp
 
Kris Peeters

Kris Peeters

24/07/2013 16:33:05
Quote Anchor link
Francoi gckx op 24/07/2013 16:12:21:
... en denk dat ik er later moeilijkenheden door ga krijgen
al weet ik nou neit wat...


Hier is mijn visie op je opmerking

Php-logica hoort bovenaan de code te staan; apart en los van alles van HTML.
HTML staat onderaan de code (of in templates...)

Het vergt denk- en puzzlewerk om dat te realiseren.

de ob_ functies laten je toe om dat puzzlewerk achterwege te laten.
Het maakt je lui. Voor je het weet, zit je met honderden lijnen spaghetticode. Alles verspreid op willekeurige plaatsen.

En probeer zo'n scripter maar eens terug te sleuren naar het scripten zoals het hoort. Die hebben zoveel tijd geïnvesteerd in die code dat ze liever blijven doordoen zoals ze bezig waren.
Hoe langer ze bezig zijn, hoe pijnlijker het wordt als ze opeens realiseren dat ze zowat van nul moeten herbeginnen.


Daarom dus :)
 
Francoi gckx

Francoi gckx

24/07/2013 16:44:55
Quote Anchor link
je heb helemaal gelijk

in principe gaat alleen alles wat je wil echoen tussen html, toch?
 
- SanThe -

- SanThe -

24/07/2013 17:42:12
Quote Anchor link
In de pagina die je wilt includen moet je ALLES in een $variabele zetten en onderin return $variabele dan werkt het.
Gewijzigd op 24/07/2013 17:45:39 door - SanThe -
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.