
php 私有方法的问题
classCC{private$attr1;functionCC(){$this->attr='123';}privatefunctionshow(){return123...
class CC{
private $attr1;
function CC(){
$this->attr = '123';
}
private function show(){
return 123;
}
public function __get($name){
return $name;
}
}
$c = new CC();
echo $c->attr1.'<br/>'; // 123
echo $c->show(); // 错误
__get,是不是只能返回私有属性?
私有方法,如何返回? 展开
private $attr1;
function CC(){
$this->attr = '123';
}
private function show(){
return 123;
}
public function __get($name){
return $name;
}
}
$c = new CC();
echo $c->attr1.'<br/>'; // 123
echo $c->show(); // 错误
__get,是不是只能返回私有属性?
私有方法,如何返回? 展开
2015-07-10
展开全部
php 私有方法简单来说是防止外人用这个方法,用$ob->name()调用私有方法就会出错,为了避免混乱。
私有方法主要是服务类的内部的,因为累的内部有很多重复的东西 或者模块的东西,就可以用私有方法把这些东西分离出去,同时又不让外面的访问,另外也为安全性着想;
例如:
class Product {
public function index() {
$this->geList();
}
private function getList() {
//...........................
}
}
私有方法主要是服务类的内部的,因为累的内部有很多重复的东西 或者模块的东西,就可以用私有方法把这些东西分离出去,同时又不让外面的访问,另外也为安全性着想;
例如:
class Product {
public function index() {
$this->geList();
}
private function getList() {
//...........................
}
}
展开全部
你的理解不大正确
__get($name)方法会在你请求了未定义为public的属性时被调用
对于未定义为public的方法,对应的处理函数为__call($name, $parameters...)
class c {
public function __get($name) {
if (isset($this->$name)) {
return $this->$name;
} else {
die('Invalid attribute:' . $name);
}
}
public function __call($name) {
....//这个比较复杂,看手册吧
}
}
__get($name)方法会在你请求了未定义为public的属性时被调用
对于未定义为public的方法,对应的处理函数为__call($name, $parameters...)
class c {
public function __get($name) {
if (isset($this->$name)) {
return $this->$name;
} else {
die('Invalid attribute:' . $name);
}
}
public function __call($name) {
....//这个比较复杂,看手册吧
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private function show(){
return 123;
}
这个只能在类里面使用。。。
你可以设为公共
public function show() {}
就可以使用了
return 123;
}
这个只能在类里面使用。。。
你可以设为公共
public function show() {}
就可以使用了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |