用于设置词汇表的 PHP OO 类

标签 php oop constructor scope

我想创建一个类来存储在许多地方使用的一小部分多语言词汇,我想替换程序中当前使用的大量“include”语句。这是我的想法(它的功能并不完整)。你能帮我做工作并使用正确的面向对象结构吗?

class VocabClass{ 

  public $term = array();    

  public function __construct(){ 
   // my vocabulary... 
   $this->term['hello']['E'] = 'hello';  
   $this->term['hello']['F'] = 'bonjour';  
   $this->term['goodbye']['E'] = 'goodbye';  
   $this->term['goodbye']['F'] = 'aurevoir';       
  }
}

class Program{

 public $vocab;
 function __construct(){ 
   $vocab = new VocabClass();       
   // this works
   echo $vocab->term['hello']['F']; 
 }

 function Main() {

  // this doesn't work
  echo $vocab->term['hello']['E'];   
  echo $this->term['hello']['E'];   


 }
}


$myProgram = new Program();
$myProgram->Main();

?>

最佳答案

在你的主函数中,尝试这个...

function Main(){
    echo $this->vocab->term['hello']['E'];
}

关于用于设置词汇表的 PHP OO 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106114/

相关文章:

java - Swing 组件加载时间太长?

php - Javascript、PHP、保存字段值

php - 生成带有无边距背景图像的 PDF

c# - 泛型派生

c++ - 构造器系列

c++ - 是否可以在构造函数中访问当前的 'to create' 对象?

javascript - 使用 Vanilla Javascript 发布到 Php 文件

php - 推特 API 错误 220 - : twitteroauth

Javascript OOP/类 - 多个实例共享相同的数据

PHP:我是否将事件驱动编程与信号感知接口(interface)(信号和插槽/观察者模式)混为一谈?