1
這是我正在學習的課程。使用表單上傳文件後,員額的PHP文件,其中包含這個類:這些類屬性是多餘的嗎?
class Parse
{
public $file;
public function __construct()
{
echo 'The class was initiated!<br />';
}
public function setFile($file)
{
if (sizeof($file) == 1)
{
$this->file = $file;
}
}
public function getFileName()
{
return $this->file['uploadedfile']['name'];
}
public function getFileTempName()
{
return $this->file['uploadedfile']['tmp_name'];
}
public function getFileSize()
{
return $this->file['uploadedfile']['size'];
}
}
我應該直接引用$ obj->文件[「UploadedFile的」] [「財產」]就像我如何創造的Getters,還是應該創建一堆公共類屬性,如public $filename
,並將$ _FILES變量中的值存儲到單獨的類屬性中?
哪個是最佳做法?
使用答案EDITED
此代碼的工作完美:
<?php
class Parser
{
public $file;
public function __construct()
{
echo 'The class was initiated!<br />';
}
public function setFile($file)
{
if ($_POST) {
if ($file['uploadedfile']['size'] > 0) {
$this->file = $file;
} else {
echo "File not uploaded!<br />";
}
} else {
echo "The form was not submitted!<br />";
}
}
}
################
# test area
################
$obj = new LoLParser;
$obj->setFile($_FILES);
?>
通過將行爲包裝在課堂中,您獲得了兩個潛在的(相關)好處:現在這是可注射和可嘲弄的。 – 2012-01-01 22:56:15
@OliCharlesworth我會同意嘲笑,但仍然沒有看到注入超級全球的目的。 – 2012-01-01 22:57:06
好吧,它消除了以前直接訪問超級全局的依賴。 – 2012-01-01 22:58:08