PHP新建类问题分析及解决思路
发布:smiling 来源: PHP粉丝网 添加日期:2021-06-26 21:52:58 浏览: 评论:0
这篇文章给大家介绍php新建类相关问题分析及解决办法,涉及到php新建类相关知识,本文介绍的非常详细,非常具有参考借鉴价值特此分享供大家参考。
下面先给大家分析php新建类的问题
index.php文件
- function __autoload($_className) {
- require $_className.'.class.php';
- }
- <span style="color: #ff0000">//新建类??
- if (isset($_GET['index'])) {
- $m=new Main($_GET['index']);
- }else{
- $m=new Main();
- </span>}
- include $m->ui();
main.class.php文件
- class Main{
- private $index;
- //构造方法,初始化数据
- public function __construct($index=''){
- $this->index=$index;
- }
- //ui函数include相应的包含文件
- public function ui(){
- if(emptyempty($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(emptyempty($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创建文件的功能。
Tags: PHP新建类问题
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)