2016-07-28 34 views
1

Ich habe ein Plugin in CakePHP 2.x entwickelt und es funktioniert gut Ich bin die grundlegende Konfiguration für die Website für diese ich habe die folgenden Dinge und unten ist der CodeCakePHP 2.x Plugin funktioniert nicht in CakePHP 3.x

in AppController

public $uses = array(
    'Configuration.Configuration', 
); 

public function beforeFilter() { 
     $this->Configuration->load(); 

} 

danach in der Modell der meine Plugin i erstellen habe die Funktion

function load(){ 
    $settings = $this->find('all'); 
    foreach ($settings as $variable){ 
     Configure::write("{$variable['Configuration']['name']}",$variable['Configuration']['value']); 
    } 
} 

dann in meiner Haupt-Admin-Login-Datei ia mit Konfiguration

<?php 

    echo $this->Html->link($this->Html->image(Configure::read('Site.logo'),array('alt' => 'logo','title'=>Configure::read('Site.title'),'style'=>'max-width:148px;max-height:33px;')),array('controller'=>'users','action' => 'login','plugin'=>false), array('escape'=>false)); 

?> 

seine Arbeit gut, aber wenn ich mit CakePHP 3.x diesen Prozess bin mit seiner whoing den Fehler

Error: Class 'Configure' not found 
File E:\xampp\htdocs\cakephp\src\Template\Layout\login.ctp 
Line: 67 

mir plesae sagen, wie ich das lösen kann, und was ist das Problem

Antwort

0

Ja, CakePHP 3 bringt viele drastische Änderungen in der Dateistruktur und der Namensraumnutzung mit sich. Jedes in 2.x entwickelte Plugin wird in 3.x nicht funktionieren.

Dafür müssen Sie das Migrationsleitfaden-Dokument beziehen. http://book.cakephp.org/3.0/en/appendices/3-0-migration-guide.html

Auch CakePHP bietet Upgrade-Tool, das Ihnen helfen wird. https://github.com/cakephp/upgrade

Dank

+0

i geprüft, aber ich weiß nicht, wie die Arbeit $ this-> Configuration-> load() zu machen; Funktion, die in Kuchen 2.x vorfilter in App-Ordner ist, so dass ich Plugins-Modell-Funktion in der Hauptsite App Controller aufrufen und diese Daten in der vollständigen Website verwenden kann –