2016-06-29 5 views
0

Ich arbeite in CakePHP 3 Projekt und möchte globale Variable erstellen, um einige Informationen zu speichern, die in der gesamten Anwendung verwendet werden können.CakePHP 3: globale Variable für die Verwendung überall

Ich muss Firmeninformationen wie Name, Slogan, Beschreibung usw. und auch einige Links wie, ich verwende eine Subdomain aus der Hauptanwendung, um Mediendateien wie http://media.website.com speichern und Anwendung ist unter . Jetzt möchte ich http://media.website.com in einer globalen Variablen speichern, so dass ich es überall in meiner Anwendung wie WWW_ROOT verwenden kann.

Dafür habe ich versucht, Configure::write('mediaLink', 'http://media.website.com'); und versuchte, es als <img src="<?= Configure::read('mediaLink') . DS . 'files' . DS . 'image.jpg'"> in Sicht zu verwenden, aber es gibt Fehler als Class Configure is not found. Ich habe versucht, use Cake\Core\Configure; zu der Steuerung hinzuzufügen, aber es gibt denselben Fehler.

+1

'use' (Import) Aussagen über eine Arbeit [** pro Datei-Basis zu schreiben ** ] (http://stackoverflow.com/questions/32443159/cakephp-3-include-use-cake-orm-tabletregistry-in-appcontroller-to-be-available/32443678#32443678). Vielleicht möchten Sie noch einmal lesen: ** http: //stackoverflow.com/questions/37762119/cakephp-3-define-global- contant-variable** – ndm

+0

Verwenden Sie keine Konstante. Irgendwann wirst du die Konstante nicht mehr benutzen wollen/müssen, und dann musst du den Code neu schreiben. Das typische erstmalige Auftreten geschieht beim Hinzufügen von Komponententests. – AD7six

Antwort

0

Machen Sie eine separate Datei, sagen constants.php

hier Definieren Sie Ihre globalen Konstanten und Configure. Vergessen Sie nicht, diese auf der Datei in Ihrem bootstrap.php
use Cake\Core\Configure;

und schließen Sie diese Datei hinzufügen, indem require __DIR__ . DS.'constants.php';

+0

'und konfigurieren Sie hier '- der richtige Ort dafür ist die app.php oder bootstrap.php Datei. – AD7six

+0

@ AD7six Ich denke 'bootstrap.php' ist der richtige Ort –

+0

Diese Antwort sagt nicht, dass – AD7six

Verwandte Themen