找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 722|回复: 0
打印 上一主题 下一主题

PHP新建类问题分析及解决思路

[复制链接]

2500

主题

2513

帖子

7520

积分

论坛元老

Rank: 8Rank: 8

积分
7520
跳转到指定楼层
楼主
发表于 2018-2-14 05:41:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            下面先给大家分析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 将图片按创建时间进行分类存储的实现代码
  • php新建文件自动编号的思路与实现
  • PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
  • PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
  • 一个ASP创建动态对象的工厂类(类似PHP的stdClass)
  • PHP下通过QRCode类库创建中间带网站LOGO的二维码
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端