iT邦幫忙

0

關於php oop 的問題

  • 分享至 

  • xImage

大家好, 小弟想請問一下

每一次在php頁面要物化/create object, 都要在上面require_once 那個class file,
有什麼方法可以不用在經常打那些require_once

假設有個dbconnection.php, class2.php兩個class,
class2 inherit dbconnection

如果我有一個testing.php頁面, 要在class2裡寫好一行sql, 再call dbconnnection 裡的query, 要兩個class都要在testing.php 裡require_once 嗎?

autoloading? 或者更好的方法?

謝謝大家

淺水員 iT邦大師 6 級 ‧ 2021-09-09 12:37:52 檢舉
autoloading 是比較原始的方式
現在我都丟給 composer 做了
(conposer + psr-4)
https://www.google.com/search?client=firefox-b-d&q=composer+psr-4
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2

我將同樣問題的進化相關的處理方式都一一列出來

現代來說。大多數都是利用 composer 或是寫成 autoload
而自動載入有分三種

1.一種是目錄掃描。這算是很早期的做法,但只要CLASS一多就會很慘。

2.同上用的方式。只是得下命令去生成載入應用。省下掃描檔案的效能跟時間。
composer的原理跟這很類似

3.設定檔處理方式。也就是利用設定檔來決定要載入的CLASS

再更早期的方式還有一種是大包小物件的應用方式。
就是用一個大物件來包其它物件。由大物件做檢查及load的處理動作。
有些框架就是用這樣的方式,如CI。

另一種方式是函式應用法。也就是不需要去特別 require_once 引入相關CLASS。
當要用時,函式呼叫。如果有引用就會自動運行。沒引用就會試著去引用。

以上幾種方式給你參考。有些目前一些框架上都還能看到。有些因該看不到了。

我要發表回答

立即登入回答