私たちは PHP 開発者と協力し始めました。私は彼のコードを調べましたが、私の観点からは、このようなものを書くのはインクの無駄です。私は個人的にOOPをしません。
彼はこの質問に答えたことはありません.OOPが得意な人なら説明できます.
ファイルinc/path.phpで、ファイルとフォルダーへのパスに異なる変数を使用してクラス Pathを定義します
class Path
{
var $path_cnfg = null;
/* URLs */
var $url_css = '';//for css url
var $url_js = '';//for javascript url
var $url_img = '';//for image url
/* Paths */
var $path_inc = '';//inc directory path
var $path_img = '';//image path
function Path()
{
$this->path_cnfg = new Config();
/* Setting URL(s) */
$this->url_css = $this->path_cnfg->base_url.'assets/css/';
$this->url_js = $this->path_cnfg->base_url.'assets/js/';
$this->url_img = $this->path_cnfg->base_url.'assets/img/';
/* Setting Path(s) */
$this->path_inc = $this->path_cnfg->root_path.'/inc/';
$this->path_img = $this->path_cnfg->root_path.'/img/';
}
}
A. クラスパス内のメソッドPathの目的は何ですか?
function Path()
{
$this->path_cnfg = new Config();
/* Setting URL(s) */
$this->url_css = $this->path_cnfg->base_url.'assets/css/';
$this->url_js = $this->path_cnfg->base_url.'assets/js/';
$this->url_img = $this->path_cnfg->base_url.'assets/img/';
/* Setting Path(s) */
$this->path_inc = $this->path_cnfg->root_path.'/inc/';
$this->path_img = $this->path_cnfg->root_path.'/img/';
}
B. obj.php では、その変数をオブジェクト$pathから配列$dataに転送します。
$data['path_img'] = $path->path_img;//Assign image directory path
$data['path_root'] = $config->root_path;//Assign root path
$data['url_base'] = $config->base_url;//Assign base url
$data['url_css'] = $path->url_css;//Assign css directory path
$data['url_js'] = $path->url_js;//Assign javascript directory path
$data['url_img'] = $path->url_img;//Assign url for image
配列$dataを定義するよりもクラスPathを持ち、それを直接使用する目的は何ですか? もともと 6 行のコードで定義できたのと同じ変数 ($data) を取得するために、このすべてのメソッドとオブジェクトを調べる必要があるのはなぜですか。例えば
$data["path_img"] = $config->base_url . "assets/img/";
...
$data["url_css"] = $config->base_url . "/assets/css/"
$data["url_js"] = $config->base_url . "assets/js/"
$data["url_img"] = $config->base_url . "assets/img/"