php 如何使用类,【记录】php中如何写类和如何使用类

【背景】

已经有了:

里面有一堆的函数代码。

现在想要封装成类,并且在别的php中调用该类的功能。

【折腾过程】

1.搜:

php中如何写类 如何使用类

参考:file1.php类如下:

class A{

...

}

file2.php调用file2.php中的类如下:

include "file1.php";

class B{

$C = new A();

.....

}

class Myclass{

public$prop = 123;

}

$obj = new Myclass();

找到官网的:

里面解释的比较清楚。

2.自己去试试。

期间又涉及到:

3.然后自己基本上实现了:

在一个PHP文件中定义类:

crifanLib.php<?php

/*

[Filename]

crifanLib.php

[Function]

crifan's php lib, implement common functions

[Author]

Crifan Li

[Contact]

https://www.crifan.com/contact_me/

[Note]

1.online see code:

http://code.google.com/p/crifanlib/source/browse/trunk/php/crifanLib.php

[TODO]

[History]

[v2015-07-27]

1.add logInit, logWrite

[v1.0]

1.initial version, need clean up later

*/

class crifanLib {

private $logFile;

private $logFp;

/*

Init log file

*/

function logInit($inputLogFile = null){

...

}

/*

Write log info to file

*/

function logWrite($logContent){

...

}

}

?>

在另外一个PHP文件中引用该类:

wx_access_token.php<?php

/*

File: wx_access_token.php

Author: Crifan Li

Version: 2015-07-27

Contact: https://www.crifan.com/about/me/

Function: Wechat get access token

*/

// https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

include_once "crifanLib.php";

//test log

$crifanLib = new crifanLib();

$crifanLib->logInit("/var/www/120.26.121.239/public_html/php/access_token/logTest.log");

$crifanLib->logWrite("This is crifanLib log test message.");

$crifanLib->logDeinit();

?>

4.再去搞懂:

如何实现php的类的初始化

搜:

php 类的初始化

参考:

5.期间又遇到:

然后研究如何写构造函数:

最后才加上了构造函数:class crifanLib {

private $logFile;

function __construct() {

$this->logInit();

}

function logInit($inputLogFile = null) {

...

}

}

别处直接调用即可:include_once "crifanLib.php";

//test log

$crifanLib = new crifanLib();

$crifanLib->logWrite("This is crifanLib log test message not pass log file name");

【总结】

其实PHP中的定义类再引用类,和其他面向对象的语言的写法基本一致。

稍微特殊点的是:

(1)PHP v5中,构造函数统一命名为__construct -> 析构函数统一为__destruct。

(2)一定要注意:类内部,引用类自己的变量和函数,一定要前面加上$this->,否则会出错,并且没有任何提示的。。。

比如:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值