Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Tu sú vhodné spôsoby, ako začleniť funkčnosť súboru PHP do spätného volania stránky Drupal:
1. Pomocou funkcie vo vlastnom module:
Toto je najlepší a odporúčaný prístup. Vytvorte vlastný modul, vložte svoj kód PHP (obsahujúce funkcie) do súboru `.module` a potom tieto funkcie zavolajte z spätného volania stránky.
* `mymodule.module`:
`` `php
Php
/**
* Implementuje Hook_menu ().
*//
funkcia myModule_menu () {
$ položky ['mymodule/mypage'] =array (
'title' => 'moja stránka',
'stránka callback' => 'myModule_Mypage_callback',
'prístupové argumenty' => Array ('Access Content'),
);
návrat $ položky;
}
/**
* Vrátenie na stránku pre MyModule/MyPage.
*//
funkcia myModule_Mypage_callback () {
$ output =myModule_helper_function (); // Zavolajte pomocnú funkciu
return Array ('#markup' => $ výstup);
}
/**
* Funkcia pomocníka na spracovanie logiky z pôvodného súboru PHP.
*//
funkcia myModule_helper_function () {
// Váš kód z pôvodného súboru PHP ide sem.
$ data =[1,2,3,4,5];
$ sum =array_sum ($ data);
vrátiť sa
Súčet poľa je:„. $ Sum.“
„;}
`` `
* Vysvetlenie:
* Definujeme položku ponuky (`myModule_menu ()`), ktorá ukazuje na spätné volanie našej stránky (`myModule_MyPage_Callback ()`).
* Spätné volanie stránky využíva pomocnú funkciu (`mymodule_helper_function ()`) na zapuzdrenie logiky z pôvodného súboru PHP. Tým sa vaša stránka udržuje čistá a zameraná na spätné volanie na stránke.
* Prvok `'#markup'` render Array sa používa na výstup výsledku.
2. Pomocou funkcie témy (pre aspekty tematiky):
Ak sa váš súbor PHP primárne zaoberá logikou prezentácie, zvážte umiestnenie jeho kódu do funkcie témy.
* `Mytheme.Theme` (v priečinku vašej témy):
`` `php
Php
/**
* Implementuje Hook_preprocess_page ().
*//
Funkcia mytheme_preprocess_page (&$ premenné) {
$ premenné ['my_data'] =mytheme_get_data ();
}
/**
* Pomocník na načítanie údajov. Táto funkcia by obsahovala kód z vášho pôvodného súboru.
*//
funkcia mytheme_get_data () {
// Váš kód z pôvodného súboru PHP ide sem (načítanie údajov atď.).
Vráťte „údaje z mojej funkcie témy“;
}
`` `
* Potom v súbore šablóny (napr. `Page.tpl.php`):
`` `php
php tlač $ my_data; ?>
`` `
3. Vrátane kódu v rámci vlastného bloku (menej odporúčané):
Aj keď je to možné, vytvorenie vlastného bloku na zadržanie kódu z pôvodného súboru PHP je vo všeobecnosti menej štruktúrované ako použitie modulu. Je vhodný iba pre veľmi jednoduché prípady. Stále by ste potrebovali používať API Drupal's Rendering API vo vlastnom bloku.
Dôležité úvahy:
* Zabezpečenie: Vždy dezinfikujte a overte všetky údaje, ktoré používate zo súboru zahrnutých, aby ste zabránili skriptovaniu na skripte (XSS) a ďalších zraniteľnostiach.
* Drupal's API: Využite API Drupal (napr. Funkcie prístupu k databáze, formuláre API) namiesto priameho interakcie s databázou alebo formulám v zahrnutom súbore. To zaisťuje kompatibilitu a bezpečnosť.
* caching: Drupalov ukladací systém nebude fungovať správne, ak priamo zahrniete súbory do spätného volania na stránke. Používanie funkcií v moduloch alebo funkciách témy umožňuje efektívne fungovanie mechanizmov ukladania do vyrovnávacej pamäte spoločnosti Drupal.
Prvá metóda (s použitím vlastného modulu s pomocnými funkciami) je silne uprednostňovaná pre udržateľnosť, bezpečnosť a integráciu s ekosystémom Drupal. Vyhnite sa priamemu zahrnutiu súborov PHP do spätného volania stránok, kedykoľvek je to možné.