PHP新建类问题分析及解决思路_PHP
程序员文章站
2022-04-22 16:13:39
...
下面先给大家分析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 级别错误
不加区别的使用传入数据,可能引发安全问题
------解决思路----------------------
稍微改了一下你看咋样。
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,用于以写的方式打开一个文件,文件不存在时自动创建,并向文件写入内容,代码如下。
步骤二、函数的使用。如创建test.txt文件,并写入内容“abc”,代码如下:
通过上述两个步骤的操作,即可实现php创建文件的功能。
推荐阅读
-
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
-
php session_start()出错原因分析及解决方法
-
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
-
Vue 项目中遇到的跨域问题及解决方法(后台php)
-
PHP中的session永不过期的解决思路及实现方法分享
-
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
-
使用php方法curl抓取AJAX异步内容思路分析及代码分享
-
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
-
php封装的连接Mysql类及用法分析
-
PHP新建类问题分析及解决思路