本篇內容主要講解“如何解決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新建類問題”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。