new View

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Donald Boers

Donald Boers

08/08/2018 08:03:59
Quote Anchor link
Normaal gesproken declareer ik een new View op de volgende manier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$this->render('/admin/content', compact('titel', 'content') + $pagina_vars);

Waarbij titel en content specifiek voor content.php bedoeld zijn en pagina_vars variabelen bevat voor de gehele layout, e.a. metatags etc. Nu heb ik echter een situatie waar ik geen template gerelateerde variabelen hoef mee te sturen dus eigenlijk het compact gedeelte niet nodig heb. Als ik dat echter weglaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$this->render('/admin/content') + $pagina_vars;

worden pagina_vars niet meer herkent. Wat doe ik fout?

Edit:

Mijn fout
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$this->render('/admin/content', $pagina_vars) ;

geeft het beoogde resultaat
Gewijzigd op 08/08/2018 08:19:40 door Donald Boers
 
PHP hulp

PHP hulp

17/10/2018 12:56:01
 
Thomas van den Heuvel

Thomas van den Heuvel

08/08/2018 12:49:12
Quote Anchor link
Bij dit soort vragen is het ook handig als je er even bij vermeldt wat voor library of pakket je gebruikt. Anders is het compleet onduidelijk welk "dialect" je spreekt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
compact('titel', 'content') + $pagina_vars

Klopt dat wel?

Ik neem aan dat compact('titel', 'content') een soort van default is, en $pagina_vars mogelijke afwijkingen van deze defaults bevatten?

Maar als je A + B (waarbij A en B arrays zijn) gebruikt om een resultaatarray te produceren, dan overschrijft A de waarden van B die eenzelfde key hebben. En als compact('titel', 'content') dan toch waarden heeft die niet veranderd mogen/kunnen worden, dan heeft die operatie toch nooit enig effect?

Je zou haast zeggen dat het "compact" deel ("read only") en $pagina_vars ("variabel") een aparte behandeling verdienen en in eerste instantie niet gecombineerd zouden moeten worden?
Gewijzigd op 08/08/2018 12:50:41 door Thomas van den Heuvel
 
Rob Doemaarwat

Rob Doemaarwat

08/08/2018 16:41:48
Quote Anchor link
@Thomas: als in $pagina_vars ander keys zitten dan 'titel' en 'content' (die kun je immers al via de bijbehorende global vars "instellen"), dan is dit geen probleem.
 
Thomas van den Heuvel

Thomas van den Heuvel

08/08/2018 19:09:11
Quote Anchor link
Uiteraard, als er geen overeenkomende keys zijn kan er ook niets overschreven worden.
 
Donald Boers

Donald Boers

09/08/2018 07:53:23
Quote Anchor link
@Thomas

Thomas van den Heuvel op 08/08/2018 12:49:12:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
compact('titel', 'content') + $pagina_vars

Klopt dat wel?

Dat klopt inderdaad niet maar dat is dan ook niet compleet. Dit is wat ik aangaf en dat klopt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$this->render('/admin/content', compact('titel', 'content') + $pagina_vars);    



Thomas van den Heuvel op 08/08/2018 12:49:12:

Ik neem aan dat compact('titel', 'content') een soort van default is, en $pagina_vars mogelijke afwijkingen van deze defaults bevatten?


Titel en content zijn/is de inhoudelijke content voor een bepaalde template, waar $pagina_vars variabelen bevat voor de metatags, de body_id etc
Gewijzigd op 09/08/2018 08:03:39 door Donald Boers
 



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.