簡體   English   中英

PHP類,包括

[英]PHP classes and include

我有以下問題:

這是我的主文件index.php

<?php

class myClass
{
  function myClass()
  {
    echo '[constructor]';
    $this->myVar = '[i am making a test]';
    $this->A();
  }
  function A()
  {
    echo '[function A works too]';
    echo $this->myVar;
  }
}

$test = new myClass;

?>

現在,我需要將function A移到另一個PHP文件includes/function_a.php ,我可以在主文件中includes/function_a.php include_once 原因是使我的主文件更小且更易於閱讀。

完成此操作的最佳實踐是EXTENDS?

編輯:

我已經使用EXTENDS完成了此操作:

index.php

<?php

include_once('includes/function_a.php');

class myClass extends anotherClass
{
  function myClass()
  {
    echo '[constructor]';
    $this->myVar = '[i am making a test]';
    $this->A();
  }
}

$test = new myClass;

?>

包括/function_a.php

<?php 
class anotherClass
{
  function A()
  {
    echo '[function A works too]';
    echo $this->myVar;
  }
}
?>

還有更好的主意嗎?

您在問題的結尾暗示了最佳方法。 您將需要創建一個父類,並讓您的“ myClass”擴展您的父類。 然后,“ myClass”將繼承父類的方法,並且父類可以在另一個文件中。 那是您要找的東西嗎?

除非您希望將myClass用作基類,否則請勿使用其他類對其進行EXTEND

包含包含myClass類的文件,並實例化myClass對象以使用函數A

如果功能太長,請將其拆分為更多小功能。 它們必須有用,而不像functionA_part01 ...

例如。 getDataFromFile(),如果函數A讀取文件。

如果仍然需要創建新文件,則可以使用myClass擴展它們來創建一個抽象類。

也許您應該重新考慮您的課堂設計?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM