1. php中如何定义类及其成员属性与操作
3、类中操作的定义
i. 我本人一般喜欢叫操作为成员方法,以下我会叫操作为方法其实都是一样的
ii. 成员方法的定义:成员方法就是对该类定义的一些函数方法,比如拿这个类来例句例子,人能吃饭,能跑步,能敲代码,这就是成员方法。也就是可以做一些可执行性的动作我们理解为成员方法
iii. 成员方法的访问和成员属性一样可以参照上面成员属性的访问介绍。
iv. 成员方法和成员属性一样也包括public,protected,private,static,final并且作用域也是一样的,接下来举一些例子供大家参考和理解。
v. 静态的成员方法只能访问静态的成员属性和成员方法,并且类内部访问静态方法可以使用self::静态方法(), 类外部访问使用类名::静态方法()
2. PHP在一个类的方法中还可以定义方法吗
不行, 不过你可以调用一个类里面另外一个方法, 也就是你可以在同一个类里面写一个新方法再去调用这个方法, 功能上是没有区别的
3. php 变量定义方法~呢
变量是PHP中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。
PHP 是免费的,并且使用广泛。对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。
PHP 是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。
4. php 如何定义一个数组
php中定义数组的方法:
1、PHP定义数组的格式:
数组名=array();
如:$aa=array();//这样就定义了一个数组,
之后给元素赋值:
$aa[0]="9016";
$aa[1]="9017";
$aa[2]="9018";
2、PHP输出数组的方法:
foreach($aa as $val)
{
echo$val;
}
也可以在定义数组时直接赋值
$aa=array(0=>"9016",1=>"9017";2=>"9018");
3、PHP的数组还可以用字符做下标,不一定要数字:
$aa["name"]="Joan";
$aa["num"]="9018";
$aa["email"]="[email protected]";
也可以这样
$aa=array("name"=>"joan","num"=>"9018","email"=>"[email protected]");
将一个一维数组的元素也定义为数组,就是一个二维数组,
$aa=array(0=>"a1",1=>"a2");
$bb=array(0=>"b1",1=>"b2");
$cc=array(0=>$aa;1=>$bb);此时,$cc[0]也是一个数组,$cc[1]也是一个数组,$cc就是一个二维数组。
同理,三维,四维数组也可以继续定义下去。
4、数组的元素不仅于数字和字符串,可以是类的对象。
5. PHP中抽象类和抽象方法概念与用法分析
本文实例讲述了PHP中抽象类和抽象方法。分享给大家供大家参考,具体如下:
一、抽象关键字
:abstract
抽象就是无法确切的说明,但又有一定的概念或者名称,在PHP中声明一个抽象类或者方法我们需要使用adstract关键字。
二、抽象方法和抽象类的定义
一个类中至少有一个方法是抽象的,我们称之为抽象类。所以如果定义抽象类首先定义抽象方法。
abstract
class
class1{
abstract
function
fun1();
……
}
1、类中至少有一个抽象方法
2、抽象方法不允许有{
}
3、抽象方法前面必须要加abstract
三、抽象类和方法使用规则
抽象类的几个特点:
1、不能被实例化,只能被继承
2、继承的派生类当中要把所有抽象方法重载才能实例化
实例:
<?php
abstract
class
cl1{
abstract
function
fun1();
abstract
function
fun2();
}
class
cl2
extends
cl1{
function
fun1(){
echo
"第一个";
}
function
fun2(){
echo
"第二个";
}
}
$c=new
cl2();
echo
$c->fun2();
?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
6. 如何在PHP中定义一个类
当你声明一个类,你需要列出对象应有的所有变量和所有函数?被称为属性和方法图1中显示了一个类的构成. 注意在大括号({})内你只能声明变量或者函数. 图2中显示了如何在一个类中定义三个属性和两个方法.
以下为引用的内容:
class Name extends Another Class
{
Access Variable Declaration
Access Function Declaration
}
name = $name;
$this->password = $password;
$this->lastLogin = time();
$this->accesses++;
}
// 获取最后访问的时间
function getLastLogin()
{
return(date("M d Y", $this->lastLogin));
}
}
//创建一个对象的实例
$user = new User("Leon", "sdf123");
//获取最后访问的时间
print($user->getLastLogin() ."\n");
//打印用户名
print("$user->name\n");
?>
当你声明属性,你不需要指明数据类型. 变量可能是整型,字符串或者是另一个对象,这取决于实际情况.在声明属性时增加注释是一个好主意,标记上属性的含义和数据类型.
当你声明一个方法,你所做的和在类外部定义一个函数是一样的. 方法和属性都有各自的命名空间. 这意味着你可以安全地建立一个与类外部函数同名的方法,两者不会冲突. 例如,一个类中可以定义一个名为date()的方法. 但是你不能将一个方法命名为PHP的关键字,如for或者while.
类方法可能包含PHP中所谓的type hint. Type hint 是另一个传递参数给方法的类的名字. 如果你的脚本调用方法并传递一个不是类的实例的变量,PHP将产生一个”致命(fatal)错误” . 你可能没有给其它类型给出type hint,就像整型,字符串,或者布尔值. 在书写的时候, type hint是否应当包含数组类型仍存在争议.
Type hint是测试函数参数或者运算符的实例的数据类型的捷径. 你可能总是返回这个方法. 确认你强制让一个参数必须是哪种数据类型,如整型. 图3 确保编译类只产生Widget的实例
以下为引用的内容:
<?php
//组件
class Widget
{
public $name='none';
public $created=FALSE;
}
//装配器
class Assembler
{
public function make(Widget $w)
{
print("Making $w->name\n");
$w->created=TRUE;
}
}
//建立一个组件对象
$thing = new Widget;
$thing->name = 'Gadget';
//装配组件
Assembler::make($thing);
?>
除了传递参数的变量外,方法含有一个特殊的变量. 它代表类的个别实例. 你应当用这个来指向对象的属性和其它方法.一些面向对象的语言假设一个不合格的变量提交给本地属性,但在PHP中方法的任何变量只是在方法的一定范围内. 注意在User类的构造函数中这个变量的使用图2.
7. 怎么在PHP中定义和使用接口interface
1、接口的定义:
接口:一种成员属性为抽象的特殊抽象类,在程序中同为规范的作用
2、其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这 个时候PHP接口类interface就起到作用了,当我们定义了一个接口类时,它里面的方式是下面的子类必须实现的,比如 :
interface Shop
{
public function buy($gid);
public function sell($gid);
public function view($gid);
}
我声明一个shop接口类,定义了三个方法:买(buy),卖(sell),看(view),那么继承此类的所有子类都必须实现这3个方法少一个都 不行,如果子类没有实现这些话,就无法运行。实际上接口类说白了,就是一个类的模板,一个类的规定,如果你属于这类,你就必须遵循我的规定,少一个都不 行,但是具体你怎么去做,我不管,那是你的事,如:
class BaseShop implements Shop { public function buy($gid) { echo('你购买了ID为 :'.$gid.'的商品'); } public function sell($gid) { echo('你卖了ID为 :'.$gid.'的商品'); } public function view($gid) { echo('你查看了ID为 :'.$gid.'的商品'); } }
结论 : PHP接口类interface就是一个类的领导者,指明方向,子类必须完成它指定方法。这样不同的开发者就不要去了解别人怎么命名相应的方法。
3、php中使用接口(interface)实现多重继承:
我们都知道PHP中的类(class)是单继承的,那是不是就没有办法实现多重继承了呢?答案是否定的.我们可以通过其它特殊的方式实现类的多重 继承,比如使用接口(interface)实现,只要把类的特征抽象为接口,并通过实现接口的方式让对象有多重身份,通过这样就可以模拟多重继承了。
下面是一个用接口(interface)实现多重继承的例子,源代码如下:
<?php
interface UserInterface{ //定义User的接口
function getname();
}
interface TeacherInterface{ //teacher相关接口
function getLengthOfService();
}
class User implements UserInterface { //实现UserInterface接口
private $name = "tom";
public function getName(){
return $this->name;
}
}
class Teacher implements TeacherInterface { //实现TeacherInterface接口
private $lengthOfService = 5; // 工龄
public function getLengthOfService(){
return $this->lengthOfService;
}
}
// 继承自User类,同时实现了TeacherInterface接口.
class GraateStudent extends User implements TeacherInterface {
private $teacher ;
public function __construct(){
$this->teacher = new Teacher();
}
public function getLengthOfService(){
return $this->teacher->getLengthOfService();
}
}
class Act{
//注意这里的类型提示改成了接口类型
public static function getUserName(UserInterface $_user){
echo "Name is " . $_user->getName() ."<br>";
}
//这里的类型提示改成了TeacherInterface类型.
public static function getLengthOfService(TeacherInterface $_teacher){
echo "Age is " .$_teacher->getLengthOfService() ."<br>";
}
}
$graateStudent = new GraateStudent();
Act::getUserName($graateStudent);
Act::getLengthOfService($graateStudent);
//结果正如我们所要的,实现了有多重身份的一个对象.
?>
示例运行结果如下:
Name is tom
Age is 5
4、接口类和抽象类的区别
抽象类 :1.类中至少有一个抽象方法
2.前面加abstract
接口: 1.成员属性为常量const
2.前面不用加abstract
3.类中全部为抽象方法,接口抽象方法为public
5、接口类和抽象类 共同点:
1.本身不能被实例化,必须继承或者引用
2.继承和引用后,抽象方法必须重载才能实例化
关键字 interface.引用关键字 implements
8. 怎样定义一个PHP的函数
定义PHP的函数很简单啊:
/**
*注释(函数说明)
*
*@param(参数介绍)
*
*@returnarray(返回值)
*@authorSphenginx
**/
functionmyFunction()//函数头
{
//这里是函数体
}
9. php中函数定义的问题
问题1,不好说明白,你可以把它想象为一个函数,只是这个函数放在这个对象里面看着比较舒服。静态的方法不用new对象,可以像使用函数一样用它。
问题2,没区别,不写就是public
10. php中数组的定义有几种方法及区别
数组在PHP中包含2种表现,
一种是普通数组,定义方式有二种,
第一:
$a = array("aa","bb","cc")
第二:
$a[] = "aa";
$a[] = "bb"
$a[] = "cc";
一般用数组遍历的方式可以打印出所有数据,也可以使用数组的位标(从0开始计算)自定义打印,比如:
$a[0]的值就是aa,$a[1]的值是"bb"
数组遍历自己搜索下,也是2种方式
另外是别名数组,定义也是2种
第一:
$a = array("aa"=> "11","bb"=>"22")
第二:
$a["aa"] = "11";
$a["bb"] = "22";
使用数组的位标在别名数组就不行了,必须用别名
$a[0]就取不到值了,$a[“aa”]才能取到值"11"
数组遍历其中foreach有点不一样,自己搜索下