我试图继承另一个文件/类中的常量var。但是我尝试了几乎所有的东西而且由于某种原因我无法做到这一点,有人能告诉我什么是错的或只是在我的代码中发生了吗?
这是我的主要课程,我称之为BasePage。
class BasePage extends CI_Controller {
const $TITLE = "My Own DB";
}
这是另一个类/文件,它通过将常量var TITLE赋予数组来尝试继承到其他类。
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require 'BasePage.php';
class Home extends BasePage {
public function index()
{
$data = array('title' => $TITLE);
$this->load->helper('url');
$this->load->view('page_login', $data);
}
}
答案 0 :(得分:0)
常量不应该在开头有$。
并且您不会像$TITLE
或TITLE
那样访问它,而是使用self::TITLE
。在这种情况下,使用parent::TITLE
是最正确的,因为它属于父类。
这应该有效:
class BasePage extends CI_Controller {
const TITLE = "My Own DB";
}
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require 'BasePage.php';
class Home extends BasePage {
public function index()
{
$data = array('title' => parent::TITLE);
$this->load->helper('url');
$this->load->view('page_login', $data);
}
}