新建一个php脚本,PHP新建类问题分析及解决思路

这篇文章给大家介绍php新建类相关问题分析及解决办法,涉及到php新建类相关知识,本文介绍的非常详细,非常具有参考借鉴价值特此分享供大家参考

下面先给大家分析php新建类的问题

index.php文件

function __autoload($_className) {

require $_className.'.class.php';

}

//新建类??

if (isset($_GET['index'])) {

$m=new Main($_GET['index']);

}else{

$m=new Main();}

include $m->ui();

main.class.php文件

class Main{

private $index;

//构造方法,初始化数据

public function __construct($index=''){

$this->index=$index;

}

//ui函数include相应的包含文件

public function ui(){

if(empty($this->index)||!file_exists($this->index.'.inc')){

$this->index='start';

}

return $this->index.'.inc';

}

}

红字的部分有啥意义了:类中构造函数传参值已设默认是空(public function __construct($index='')),为啥不能直接写$m=new Main($_GET['index']);。如果不想在index做红字的if判断,类里需要怎么写了。谢谢,不是太理解

------解决思路----------------------

if (isset($_GET['index'])) {

$m=new Main($_GET['index']); //如果 $_GET['index'] 存在则将 $_GET['index'] 作为参数

}else{

$m=new Main(); //否则使用默认参数

}

直接使用 $_GET['index'] 将可能引发 NOTICE 级别错误

不加区别的使用传入数据,可能引发安全问题

------解决思路----------------------

稍微改了一下你看咋样。

class Main{

private $index;

//构造方法,初始化数据

public function __construct($index='')

{

$this->index=$index?$index:'';

}

//ui函数include相应的包含文件

public function ui()

{

if(empty($this->index)

------解决思路----------------------

!file_exists($this->index.'.inc'))

{

$this->index='start';

}

return $this->index.'.inc';

}

}

ps:php怎么创建文件?

php项目开发过程中,常常需要自动创建一些文件,如生成静态html,生成php缓存文件,生成txt文件等等。下面就分享一下如何利用php程序创建文件,并向文件中写入内容。

一个项目中,可能不止一次需要生成文件,因此我们可以定义一个函数,当需要创建文件时再来调用这个函数,即可。

步骤一、定义函数writefile,用于以写的方式打开一个文件,文件不存在时自动创建,并向文件写入内容,代码如下。

function writefile($fname,$str){

$fp=fopen($fname,"w");

fputs($fp,$str);

fclose($fp);

}

?>

步骤二、函数的使用。如创建test.txt文件,并写入内容“abc”,代码如下:

$filename='test.txt';

$str='abc';

writefile($filename,$str);

?>

通过上述两个步骤的操作,即可实现php创建文件的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值