我有班上的人
前任:
class People{
function name($name){
echo "the name".$name;
}
}
如何在无需调用方法的情况下自动创建类调用函数:
$var=new People ()
请给我答案?
我有班上的人
前任:
class People{
function name($name){
echo "the name".$name;
}
}
如何在无需调用方法的情况下自动创建类调用函数:
$var=new People ()
请给我答案?
你可以通过使用构造函数来做你想做的事。在 php 中,这是通过在名为 __construct() 的类中声明一个方法来完成的。构造函数在对象创建时运行。所以在你的例子中
<?php
class People{
public function __construct($name)
{
name($name);
}
function name($name){
echo "the name".$name;
}
}
$var = new People("dave");
您可能指的另一件事是静态,但您确实调用了一个方法,您只是不实例化该类的实例
<?php
class People{
static function name($name){
echo "the name".$name;
}
}
People::name("Dave");
这将输出“nameDave”
每次创建实例构造函数时,您只需在类中显式添加它即可。例如:
class People{
public function __construct() {
echo 'constructing';
}
function name($name){
echo "the name".$name;
}
}
但在开始做实际的事情之前,我建议阅读: http: //php.net/manual/en/language.oop5.php
编辑:从您的评论看来,您想静态调用方法。如果您想在不实例化的情况下调用方法,则应将函数标记为static
. 在您的示例中:
public static function name($name){
echo "the name".$name;
}
和用法:
Person::name('my name');
您正在寻找构造函数。
class Bla {
public function __construct() { // runs when class is instantiated
}
}
测试这个:
class Family {
private $myself;
private $mother = '';
private $father = '';
public function __construct($myname) {
$this->myself = $myname;
}
public function printFamily() {
print_r($this);
}
public function setFather($name) {
$this->father = $name;
}
public function setMother($name) {
$this->mother = $name;
}
}
$fam = new Family('George Walker Bush');
$fam->setFather('George Herbert Walker Bush');
$fam->setMother('Barbara Pierce Bush');
$fam->printFamily();