2011-06-21 36 views
7

Tôi vừa nâng cấp lên CakePHP 2.0 alpha và ngay lập tức gặp phải sự cố. Tệp app_controller.php trong ứng dụng/thư mục không được tải trong bộ điều khiển của tôi. Thay vào đó các controller sử dụng AppController.php của CakePHP trong lib/Cake/Controller/AppController.php.Tại sao CakePHP 2.0 không sử dụng AppController của tôi?

Tôi đã thử đổi tên app_controller thành AppController.php nhưng vẫn không hoạt động. Tôi đã thử xóa toàn bộ tệp và sau đó sao chép tệp lib/Cake/Controller/AppController.php và sau đó chỉnh sửa tệp nhưng không hoạt động.

Tôi cũng đã thử xóa các tệp bộ nhớ cache.

Tôi chỉ đơn giản là sử dụng:

class AppController extends Controller { 
    public function beforeFilter() { 
     die; 
    } 
} 

Và ứng dụng sẽ không chết.

điều khiển của tôi cũng là đơn giản chỉ:

class NewsController extends AppController { 
    function beforeFilter() { 
     parent::beforeFilter(); 
    } 
    function index() { 
    } 
} 

Vì vậy, những gì tôi có thể làm sai? Im cũng sử dụng Windows 7 + Netbeans với Subversion để cập nhật dự án (nếu có liên quan gì đến nó: p).

Trả lời

11

Có nhiều tìm kiếm và không nhìn từ vị trí rõ ràng nhất: tài liệu bánh Github: https://github.com/cakephp/docs/blob/master/en/controllers.rst. Tôi nghĩ rằng họ vẫn còn 1,3 tài liệu nhưng nó xuất hiện chúng được cập nhật. Kể từ khi chúng được cập nhật, nó nói rằng tôi nên đặt app_controller.php cũ vào thư mục Controller và trường hợp lạc đà nó vào AppController.php.

+0

Gaaah bạn đã cứu tôi! Cảm ơn bạn đã tìm thấy điều này. Tôi đoán đó là những gì bạn nhận được khi bạn tinker với phiên bản beta. Tôi đã theo dõi Cookbook với những ngón tay của tôi vượt qua. Đã không giúp lol. – MikeMurko

2

Tạo tập tin AppController.php trong app/điều khiển thư mục

class AppController extends Controller { 
    public $helpers = array('Html', 'Form', 'Javascript'); 
    public function beforeFilter() { 
     die('app/Controller/AppController.php file called'); 
     parent::beforeFilter(); 

    } 

} 
Các vấn đề liên quan