CakePHP-2.0:使用public和var的区别

4
CakePHP-2.0有以下特点:
// Even in your cakephp 2.1.x we have this format
    <?php
    class PostsController extends AppController {
        public $helpers = array ('Html','Form');
        public $name = 'Posts';

        public function index() {
            $this->set('posts', $this->Post->find('all'));
        }
    }
    ?>

CakePHP-1.3.10 有这样一个特性:
<?php
class PostsController extends AppController {
    var $helpers = array ('Html','Form');
    var $name = 'Posts';

    function index() {
        $this->set('posts', $this->Post->find('all'));
    }
}
?>

使用 public 和使用 var 有什么区别?
2个回答

7

var是一个已经被废弃的可见性关键字,其功能与public相同。

从文档中可以看到:

注意:出于兼容性原因(作为public关键字的同义词),PHP 4使用var关键字声明变量的方法仍然受到支持。在PHP 5之前的版本中,它的使用会生成E_STRICT警告。

由于它已被public关键字取代,所以新的教程将遵循这个新标准。点击此处查看工作示例。


但我仍然看到在book.cakephp.org中使用了var,http://book.cakephp.org/2.0/en/plugins.html。 - shibly
2
@guru 嘿...是的,这本书并不总是100%更新。幸运的是,CakePHP是一个协作项目,而且这本书也是如此!这意味着您可以登录并编辑它以纠正此类错误。这是为这样的项目做出贡献的好方法,特别是因为它需要很少的时间(如果您愿意,您可以进行一次编辑并停止),并且不需要太多技术专业知识。以FOSS的名义,我在此委托您在蛋糕书中将“var”更改为“public”。权力就在你手中! :) - Stop Slandering Monica Cellio

3

"var"在PHP5之前就已经存在,但是PHP5引入了对象的可见性。虽然它仍然在技术上有效,但你应该避免使用它,而是使用适当的可见性关键字。

回答你的问题,它们在功能上是相同的。然而,"var"已经被弃用,很快将会消失。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接