‘壹’ php 类中方法之间参数怎么调用
class A
{
public $bb,$cc;
function othersomething()
{
return $this->cc;
}
}
function dosomething()
{
$bb = $this->bb;
$othersomething = $this->othersomething();
}
方法的参数是新定义一个变量,注意是新定义,方法结束自动销毁,
2.PHP类中方法定义的参数与调用时的参数名称可以不同。
带默认值的就是指当这些参数没有给出的时候可以按照预定义内容进行赋值(按参数顺序调用)。
functiontext($i,$a="test1",$test="test2"){
echo"<h1>{$i}</h1>";
echo"<h1>{$a}</h1>";
echo"<h1>{$test}</h1>";
}
2.调用:
text("test");
----显示
test
test1
test2
text("test","test3","test4");
----显示
test
test3
test4
‘贰’ phpclass是什么意思,怎么用
class关键字在PHP中用于声明类。类是面向对象编程的核心,它封装了数据和操作这些数据的方法。在PHP中创建类时,使用"class"关键字开头,后面跟类名。
类定义后,可以创建类的实例,即对象。对象是类的具体化,它包含了类定义的数据和方法。通过实例化类,可以调用类中的方法并访问其属性。
类的定义通常包含属性(数据成员)和方法(函数)。属性用于存储对象状态,方法用于描述对象的行为。属性可以是私有的(仅类内部访问)、公有的(所有位置访问)或受保护的(类内部和继承类访问)。方法则提供了一种执行特定操作的方式。
面向对象编程的基本原则之一是封装,即隐藏对象的内部细节,并只暴露必要的接口供外部使用。在类中,可以通过公共方法访问和修改属性,而类的内部实现细节对外部隐藏。
实例化类后,可以通过对象名调用其方法,以执行特定操作。方法调用遵循面向对象编程的规则,如链式调用、多态等。多态允许同一方法名在不同类中有不同的实现,提供了一种灵活的编程方式。
在PHP中使用class关键字声明类后,可以创建具有特定功能的模块化代码,使程序更易于维护和扩展。通过类的继承,可以实现代码的重用,即一个类可以从另一个类派生,继承其属性和方法。这有助于构建复杂系统时组织和管理代码。
总之,class关键字在PHP中用于声明类,它是面向对象编程的基础,通过封装数据和方法,提供了更强大、更灵活的程序设计能力。在实际应用中,合理使用类可以显着提高代码的可读性、可维护性和复用性。
‘叁’ php class中public,private,protected,static
1. public:权限是最大的,可以内部调用,实例调用
2. protected: 受保护类型,用于本类和继承类调用
常用场景在权限设置
有需要用到权限的Class,只要继承Base这个Class即可用到登录验证。执行Login的时候会先运行Base里面的方法
3. private: 私有类型,只有在本类中使用。
4. static: 一般是在传值的时候使用,表示值不会被修改,默认为public,可用::访问
‘肆’ 在php中如何设置类的属性,如何调用类的方法
PHP访问类的属性、方法使用箭头语法(->)。这里我给你一个例子供你参考:
<?php
classMyClass{//定义MyClass类
public$name;//定义了一个公有属性
protected$_age;//定义了一个保护属性
private$_email;//定义了一个私有属性
publicfunctionmy_method(){//定义my_method方法
}
protectedfunction_my_method2(){//定义_my_method2方法
}
}
$obj=newMyClass;//实例化
$obj->name='noname';//设置name属性
$obj->_age=12;//这是错误的,不能设置保护属性
$obj->address='KingStreet.'//设置一个未声明的属性是允许的,效果和公有属性类似,但未赋值前不能使用。
$obj->my_method()//调用公有方法
$obj->_my_method2();//这是错误的,不能调用保护方法
你需要理解继承、公有、保护和私有的概念。
继承:子类继承父类的公有、保护属性和方法。
公有:类的实例可以访问的属性和方法。
保护:只能在类的内部及其子类内部访问的属性和方法。
私有:只能在类的内部访问的属性和方法。
这是个很基础的问题,建议你多看书。
‘伍’ PHP 类之间传递参数
1. 用继承,B继承A,其中A的mm方法里面的参数k作为方法的返回值,这样就可以给到A去使用了。
classBextendsA{
publicfunctiontt(){$k=$this->mm();}
}
2.在A类里面实例化B类。
classA{
publicfunctiontt(){
$class=newB();
$k=$class->mm();
}
}
两个方法的前提条件都是需要mm方法的k变量作为返回值,然后在A类调用的时候就可以得到这参数了。
3.将k参数储存到A类的属性中。
步骤大致和2方法差不多,也是要在tt方法里面实例化B类,但是B类的mm方法改为:
publicfunctionmm()
{$this->k=$k;}
这样就不用k为返回值了,然后在A类中这样:
classA{
publicfunctiontt(){
$class=newB();
$class->mm();
$k=$class->k;
}
}
不保证代码的完全正确,但是思路是对的。