首页 热点资讯 义务教育 高等教育 出国留学 考研考公

PHP class内的函数如何调用

发布网友 发布时间:2022-04-23 06:10

我来回答

9个回答

热心网友 时间:2022-05-05 04:32

一个非静态函数必须把类实例化后才能够被调用执行。

所以应该在类的外部 这样写 

$instance = new Company();
echo $instance->getname();

追问

报错了,大哥您办我看下

Parse error:  syntax error, unexpected T_VARIABLE in E:\web\basic\index1.php on line 10

追答

正确的写法应该是这样的:

<?php
class Company{
 $name = '';
 public function getName()
 {
  return $this->name = 'aobaniu';
 }

}
$instance = new Company();
echo $instance->getName();

类的内部只能有方法,也就是说累的内部只能有方法和构造函数。所以你不能有非方法的非静态代码块。

而且推荐用get 或者 set 方法去操作属性,所以应该是set 和 get 方法成对出现的,当然可以由魔术函数替代

热心网友 时间:2022-05-05 05:50

$company=new Company;
echo $company->getname();
想在外调用类的方法时就得先申明类,然后调用,
如想在内里面调用方法的话
$this->getname();

热心网友 时间:2022-05-05 07:25

内部调用 $this->$hello
self::$hello
外部调用 class名::$hello

热心网友 时间:2022-05-05 09:16

步骤如下:
class.php
-------------------------
<?php
class Test{
function a(){

//xxxxx

}
}
function.php
------------------------------------------
<?php
require_once('class.php');//引入类所在文件
function b(){
$test = new Test(); //初始化类实例
$test->a();//调用类中的a方法
}
祝你好运

热心网友 时间:2022-05-05 11:24

你可以试试这样在类内调用函数

$name = $this->getname();

简单说就是$this->加函数名

热心网友 时间:2022-05-05 13:49

$diaoyong= new lei()
echo $diaoyong->zijia(10,20);
class   lei{
  function zijia($i,$b){
   return $i+$b;
}
 }

热心网友 时间:2022-05-05 16:30

class A{
public function a1(){
echo '*******';

}

}

$newA = new A;
$newA->a1();

热心网友 时间:2022-05-05 19:28

常用的class方法的调用分为 A D 两种 这个是TP的 YII框架的话名称::

热心网友 时间:2022-05-05 22:43

毫无意义的问题 连调用什么都不知道

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com