本篇内容主要讲解“如何解决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新建类问题”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。