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 级别错误 不加区别的使用传入数据,可能引发安全问题 ------解决思路---------------------- 稍微改了一下你看咋样 。 <?php 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,用于以写的方式打开一个文件,文件不存在时自动创建,并向文件写入内容,代码如下 。 <?php function writefile($fname,$str){ $fp=fopen($fname,"w"); fputs($fp,$str); fclose($fp); } ?> 步骤二、函数的使用 。如创建test.txt文件,并写入内容“abc”,代码如下: <?php $filename=test.txt; $str=abc; writefile($filename,$str); ?> 通过上述两个步骤的操作,即可实现php创建文件的功能 。 |