我正在尝试合作Nginx
和Yii
。我已将nginx root
目录设为yii webapp
为 - yiic webapp /usr/share/nginx/app
在这个目录中,我有一些默认文件,例如yii的index.php
,index-test.php
以及基本文件夹,例如protected
,themes
,css
和images
。我也有自己的文件; phpinfo.php
打印phpinfo()
和getAttribute.php
以打印mysql
表history
中的某些列。我点击http://localhost/phpinfo.php
时能够显示phpinfo,但我无法显示getAttribute.php
的输出 -
#getAttribute.php
<?php
public function attributeLabels() {
return array(
Yii::t('app','model.history.sfExternalfield')=>array(
'External Field'=>Yii::t('app','model.history.sfExternalfield'),
'Delivery Status'=>Yii::t('app','model.history.deliveryStatus'),
)
);
}
?>
<html>
<body><?php
print_r(attributeLabels());
?></body>
</html>
<?php ?>
此代码有问题吗?
答案 0 :(得分:1)
代码有两个问题:
正如我在评论中提到的,如果没有课程,您就不能拥有public
关键字,因此您必须先将其删除。
其次,由于此文件不是通过index.php访问的,而是直接访问,这意味着框架尚未加载/初始化。因此,您还无法访问Yii
课程。要做到这一点,你必须包括Yii类,有点像这样:
$yii='path/to/framework/yii.php';
require_once($yii);
// now Yii is available and you can call Yii::t();